|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 62520.7855 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
16.03.2014, 19:45
|
#1
|
__٩(̾●̮̮̃̾•̃̾)۶__
Регистрация: 30.05.2010
Сообщений: 259
Бабло: $97241
|
NGINX конфиги?
Всем привет. чтото я окончательно разочаровался в tds и возникла мысль делать тоже самое на nginx.
подскажите может ли nginx делать так:
редиректить по заданным параметрам, страна, язык браузера, рефф, браузер, только уники, если не уникален или не подошли по параметрам не редиректить.
Если может он такое подкиньте сцылку на аналогичный конфиг.
заранее спасибр
|
|
|
17.03.2014, 01:50
|
#2
|
автоматизирую интернеты
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
|
Цитата:
я окончательно разочаровался в tds и возникла мысль делать тоже самое на nginx.
|
welcome to the club
увеличишь производительность сервера раз в 15-20
из коробки nginx может все, кроме:
Цитата:
если не уникален - не редиректить.
|
но это тоже решается...хотя может уже решено из коробки. Мы в свое время ковыряли исходники nginx
на счет конфига - все индивидуально, начни писать конфиг, а мы поможем )
для удобства создания пресетов настроек рекомендую использовать nginx модуль map
|
|
|
10.04.2014, 13:54
|
#3
|
__٩(̾●̮̮̃̾•̃̾)۶__
Регистрация: 30.05.2010
Сообщений: 259
Бабло: $97241
ТС -->
|
ТС
в общем желающих помоч даже за бабло не нашлось
запилил как смог по всяким манам конф но он нехрена не работает тупо нередиректит
Сила гофака помоги а то я уже заебался
Код:
server {
# host IP and port
listen 80;
# domain name
server_name domen.com;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
location / {
# home directory
root /opt/WWWRoot/aland/dating_geo;
charset utf-8;
index index.php index.html;
rewrite_log on;
if ($http_referer ~* ".*google.*$"){
set $redir $1;
break;
}
if ($http_referer ~* ".*yandex.*$"){
set $redir $1;
break;
}
if ($http_user_agent ~* "Chrome"){
set $redir $1;
break;
}
if ($http_accept_language ~* "(it|en)"){
set $redir $1;
break;
}
if ($redir = $1){
rewrite /.* http://mytds/?2 redirect;
}
try_files $uri $uri/ /index.php;
}
location ~* \.(jpg|jpeg|gif|png|js|css|txt|zip|ico|gz|csv)$ {
access_log off;
expires 10d;
}
location ~* /(var|lib|application)/.*$ {
return 403;
}
location ~ /(\.ht|\.ini) {
deny all;
}
location ~ \.php$ {
# for PHP-FPM over socket
fastcgi_pass unix:/tmp/aland.sock;
# for PHP-FPM over http
# fastcgi_pass 127.0.0.1:8000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_intercept_errors on;
# uncomment if you have problem with submitting forms (empty POST-data)
# fastcgi_pass_request_body off;
# client_body_in_file_only clean;
# fastcgi_param REQUEST_BODY_FILE $request_body_file;
}
}
|
|
|
10.04.2014, 20:53
|
#4
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
|
Даже не знаю, как на nginx определить уникальный ip, например. Разве что анализировать куку, но, если закрыть глаза на то, что куки могут потереть, то с одного ip могут разные юзвери лезть и у всех будут новые куки.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
12.04.2014, 12:18
|
#5
|
Senior Member
Регистрация: 12.01.2009
Сообщений: 532
Бабло: $108200
|
Насколько связка nginx front + apache back уступает nginx + php fpm в производительности в рамках гемморойности составления конфига для последнего? Для дешёвых vps-ов.
|
|
|
12.04.2014, 12:53
|
#6
|
Senior Member
Регистрация: 27.09.2013
Сообщений: 697
Бабло: $101520
|
Цитата:
Сообщение от klim
Насколько связка nginx front + apache back уступает nginx + php fpm в производительности в рамках гемморойности составления конфига для последнего? Для дешёвых vps-ов.
|
Как правило единственный геморрой - это переносить правила rewrite из .htaccess в конфиг nginx. Если таких правил немного, и они простые, проблем не будет.
По производительности скорее всего большой разницы не заметишь.
|
|
|
12.04.2014, 14:56
|
#7
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953728
|
Цитата:
Сообщение от klim
Насколько связка nginx front + apache back уступает nginx + php fpm в производительности в рамках гемморойности составления конфига для последнего? Для дешёвых vps-ов.
|
для дешевых впс нет смысла в такой связке. тесты производительности есть в интернете. лучше nginx + php fpm поставь.
__________________
|
|
|
12.04.2014, 23:22
|
#8
|
автоматизирую интернеты
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
|
Цитата:
Сообщение от the4gamblers
Код:
if ($http_referer ~* ".*google.*$"){
set $redir $1;
break;
}
|
что такое $1 ?
Цитата:
Сообщение от klim
Насколько связка nginx front + apache back уступает nginx + php fpm в производительности в рамках гемморойности составления конфига для последнего? Для дешёвых vps-ов.
|
меня всегда наоборот пугало составление конфига апача и вообще пугает наличие апача в проекте, и тем более наличие .htaccess-ов - это ад какой-то
у апача большой оверхед по сравнению с php-fpm из-за необходимости рекурсивно обрабатывать .htaccess-ы.
Я пробовал запустить WP на 128М. На php-fpm у меня получилось, на апаче нет, памяти не хватало постоянно.
Цитата:
Сообщение от lorien
Даже не знаю, как на nginx определить уникальный ip, например.
|
например, через это, только рейт надо сделать не r/s или r/m, а r/d или r/w. В исходниках поменять 1-2 строки и все хотя, возможно, существуют менее брутальные способы.
|
|
|
16.04.2014, 11:41
|
#9
|
__٩(̾●̮̮̃̾•̃̾)۶__
Регистрация: 30.05.2010
Сообщений: 259
Бабло: $97241
ТС -->
|
ТС
в общем рабочий вариант, нагрузки держит проверил.
фильтр: рефф, кей, браузер, страна, язык
Код:
if ($http_referer ~* ".*google.*$"){
set $rule_0 1$rule_0;
}
if ($args ~* "viagra") {
set $rule_0 2$rule_0;
}
if ($http_user_agent ~* "(Chrome|Firefox)"){
set $rule_0 3$rule_0;
}
if ($geoip_country_code ~* "(FR|DE|IT|ES)"){
set $rule_0 4$rule_0;
}
if ($http_accept_language ~* "(fr|de|it|es)"){
set $rule_0 5$rule_0;
}
if ($rule_0 = "54321"){
rewrite /.* http://site.com redirect;
}
|
|
|
16.04.2014, 11:55
|
#10
|
Senior Member
Регистрация: 05.01.2008
Сообщений: 253
Бабло: $37410
|
По поводу уника-неуника - можно сделать на основе кук, модуль ngx_http_userid_module.
|
|
|
|