Re: Map работа в нескольких vhosts
Добавлено в http секций: map_hash_max_size 4096; map_hash_bucket_size 8192; map $uri $new { include redirect.conf; } В секций vhost'a 1 : if ($new) { return 301 $new; } На vhost 2 так же + добавленно удаление слеша rewrite ^(.+)/$ $1 permanent; На 1 работает все как надо,те ссылки /news/ /news ведут к /new_news На 2 не работает,если добавить к uri / ,поэтому пришлось удалять /. Вид redirect.conf : /news /new_news; /news_1 /new_news_1; Правильное поведение или должно все таки на всех vhost's работать одинаково? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251894,251977#msg-251977 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
proxy read timeout и upstream
Как настроить nginx считать proxy_read_timeout на все upstream'ы сразу. Т.е. если все upstream'ы отвечают дольше 5-х секунд, а proxy_read_timeout установлен в 4 секунды, то nginx не должен ходить на каждый upstream и опрашивать их. Таким образом, если у нас имеется 3 upstream'а, которые на запрос отвечают по 5 секунд, то nginx один запрос будет обрабатывать 15 секунд и в результате вернет ошибку. Мне хотелось бы, чтобы nginx вернул ошибку сразу по истечении 4-х секунд. Вариант уменьшить proxy_read_timeout до значения необходимый_таймаут/количество_серверов не рассматривается, т.к. перезапросы будут проходить слишком часто. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251978,251978#msg-251978 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: proxy read timeout и upstream
Hello! On Tue, Jul 22, 2014 at 07:41:22AM -0400, kay wrote: И чем мне это поможет? Если я уберу из proxy_next_upstream timeout, то nginx даже и не попытается отправить запрос на следующий upstream. Это решает исходную задачу настроить nginx считать proxy_read_timeout на все upstream'ы сразу. Повторные попытки при необходимости можно сконфигурировать через error_page 504, см. http://nginx.org/r/error_page/ru. Ходить на несколько upstream-серверов по proxy_next_upstream и при этом отслеживать некий суммарный таймаут nginx сейчас не умеет. Так что следует выбрать что-то одно. -- Maxim Dounin http://nginx.org/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Чистка кэша nginx.
Правильно чистить с помощью PURGE-запросов: http://nginx.org/r/proxy_cache_purge/ru В доке написано, что он платный, это проблема. Если вы хотите управлять кэшем из приложения и вам хватало proxy_store, то надо было его и использовать. Непонятно почему отказались Ещё ничего не использовалось, я просто исследовал, что есть в nginx для кэширования. И попробовал uwsgi_store сначала. очистить кеш у пользователей - невозможно Я понимаю, поэтому буду задавать небольшое время ревалидации для браузерного кэша, чтобы браузер почаще перепроверял кэш nginx. Потому что хорошо не будет, ибо кеш есть не только на фронтенде, а также и на прокси-серверах и непосредственно у пользователей. От nginx будет уходить только Cache-Control и в нём будет небольшое время ревалидации, на nginx больше. Поэтому если я захочу актуализировать кэш у всех пользователей, то мне нужно будет почистить кэш nginx и всё. Логика такая. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251895,251991#msg-251991 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
.htaccess to nginx
Здравствуйте. Необходимо перенести сайт с Apache на NGINX, но после переноса на NGINX не открываются страницы. В файле .htaccess находится правило: RewriteEngine on RewriteCond $1 !^(index.php|resources|robots.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] С помощью онлайн конвертора http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ Получил такой выход: if ($1 !~ ^(index.php|resources|robots.txt)){ set $rule_0 1$rule_0; } if (!-f $request_filename){ set $rule_0 2$rule_0; } if (!-d $request_filename){ set $rule_0 3$rule_0; } if ($rule_0 = 321){ rewrite ^/(.*)$ /index.php/$1 last; } Но при обновлении конфигурации получаю ошибку: nginx: [emerg] unknown 1 variable Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251995,251995#msg-251995 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru