Re: Можно ли заскриптовать несложную логику прямо в конфиге?
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash - не подходит? пн, 17 апр. 2017 г. в 14:37, Alexander Simakov: > Добрый день! > > Подскажите, пожалуйста, как наиболее оптимальным > способом решить следующую задачу: > > NGINX используется качестве прокси для входящих > из интернета HTTPS и WebSocket-соединений. > > Запросы приходят на домены вида .example.com, > где - некое число. Для каждого по очень > простому алгоритму вычисляется внутренний IP-адрес > на который нужно пробросить данное соединение. > > Вот пример конфигурации: > > ==8<== > server { > listen 443; > server_name .example.com; > > location / { > proxy_pass http://IP_ADDR_FOR_/; > } > > location /ws/ { > proxy_pass http://IP_ADDR_FOR_/ws/; > proxy_http_version 1.1; > proxy_set_header Upgrade $http_upgrade; > proxy_set_header Connection "upgrade"; > } > } > ==8<== > > Сейчас я вынужден программно генерировать большие > статические файлы-портянки в которых порядка 1000 > таких секций. > > Подскажите, можно ли в данном примере как-то заскриптовать > логику получения IP-адреса по и иметь один компактный > и универсальный файл? Или, может, как-то предвычислить для > NGINX хеш { -> IP_ADDR_FOR_ } и использовать его > в конфиге? > > Спасибо. > > С уважением, > Александр Симаков > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: merge_slashes
А что мешает сеошникам воспользоваться сеошными методами и прописать в robots.txt что-то вроде Disallow: *//* ? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Подключение модуля ngx http upstream module
вт, 27 дек. 2016 г. в 15:15, Vvedensky: > Здесь фиксируется время выполнения кода php, а как узнать время от > получения > запроса сервером nginx до его выдачи (ведь могут быть различные задержки)? > http://nginx.org/ru/docs/http/ngx_http_core_module.html#var_request_time ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Nginx + Windows = Дружба? Время пришло!
Увидел много слов о том, что теперь на Windows можно Highload, но нн увидел ни одного слова о том, что на Windows стали делать Highload. Есть какие-то отчеты, которые показывают, что доля этой ОС на web-серверах начала расти и ей срочно нужно уделять больше времени? пт, 16 дек. 2016 г., 7:21 Илья Шипицин: > > > 16 декабря 2016 г., 8:23 пользователь sofiamay < > nginx-fo...@forum.nginx.org> написал: > > Оксюморон? Возможно. Но хотелось бы изменить ваше мнение :-) Я серьёзно. > > Maxim Dounin, мне кажется пришло время сделать шаг навстречу Windows. > Осталось то всего ничего! > > Давайте просто посмотрим на ситуацию с Winodws с точки зрения сложившегося > в > IT обществе мнения. Windows долгие годы была в аутсайдерах и не принималась > всерьез, имела много проблем с производительностью, безопасностью и в целом > мало подходила для полноценного продакшен сервера под высокую нагрузку. Для > многих HighLoad и Windows это несовместимые понятия и, как известно, сами > разработчики Nginx уделяют очень мало внимания этой платформе. > > Но давайте разберемся, а что же сейчас происходит на самом деле. > Современная > Windows Server это производительная, безопасная и надёжная платформа, а > NTFS > не сильно хуже EXT4. Уже давно появились SSD, тюнинг реестра для поддержки > огромного числа соединений делается не сильно сложнее тюнинга > /etc/sysctl.conf и в целом Windows уже давно позволяет создавать > высокопроизводительные решения. Я не буду говорить о профессиональном > HighLoad сегменте, тут конечно Linux вне конкуренции. > > Теперь давайте разберемся с Nginx. Что долгое время мешает ему стать > сервером номер 1 для Windows? Список проблем БЫЛ довольно скромный и > большинство из этих проблем уже решены! > > 1. Хоть и возможен запуск нескольких рабочих процессов, только один из них > реально работает. Это происходит потому, что для обработки соединений > используется медленный select. Необходимо реализовать использование портов > завершения ввода-вывода (I/O completion ports) в качестве метода обработки > соединений и реализовать использование нескольких рабочих нитей внутри > одного рабочего процесса. > > Пока не реализовано. > > 2. Рабочий процесс может обслуживать не более 1024 одновременных > соединений. > > Решено: FD_SETSIZE (неизвестно с какой версии) > > 3. Кэш и другие модули, требующие поддержки разделяемой памяти, не работают > под Windows Vista и более поздними версиями. > > Решено: ASLR (с версии 1.9.0) > > 4. Работают все модули, кроме UDP проксирования, XSLT-фильтра, фильтра > изображений, модуля GeoIP и встроенного языка Perl. > > Можно считать что почти решено: фильтр изображений и GeoIP собираются если > захотеть, просто предварительно нужно собрать libgd и libmaxminddb (GeoIP > 2) > которые требуются для сборки. Perl уже никто не пользуется, под Windows > легко собираются LUAJIT модуль с кучей lua-resty расширений, включая > non-blocking работу с Mysql, Redis, Memcached, Postgres и т.д. Ну а без > проксирования UDP и XSLT-фильтра как нибудь проживем, сомневаюсь что вообще > этим кто-либо пользуется. > > 5. Правильная работа с FAST-CGI PHP (ввиду отсутствия PHP-FPM для Windows) > которая заключается в ограничении кол-ва соединений равным одному на каждый > запущенный поток PHP ([max_conns=1] в upstream) и помещение всех других > соединений в очередь ([queue число timeout=время] в upstream). Без этих > двух > настроек работа с PHP под мало-мальской нагрузкой невозможна. > > Частично решено: сначала разработчики не хотели открыть эти опции. Но... > Прошел год и вот это свершилось. Я уже было открыл шампанское, пригласил > коллег, но отметить это событие мы так и не смогли, потому что разработчики > почему-то открыли опции не до конца. Пользователям стала доступна опция > max_conns с версии 1.11.5, Но она бесполезна без возможности настройки > очереди ([queue число timeout=время] в upstream) поскольку при > использовании > max_conns=1 сервер отдаёт 502 при превышении одновременных подключений над > числом FAST-CGI потоков.Запросы к FAST-CGI должны помещаться в очередь, по > крайне мере до изобретения PHP-FPM для Windows. Уже не раз говорил и > просил, > откройте эти две настройки, без них на Windows никак. Увы открыли только > одну. > > Максим, а теперь давайте подведём итоги. Вашими стараниями и стараниями > других разработчиков Nginx постепенно обретает полноценную поддержку > Windows, в то время как сама Windows давно готова и прямо-таки ждёт Nginx с > распростёртыми объятиями. Большинство проблем Nginx под Windows практически > решены, осталось всего две: > > 1. Перейти на использование IOCP/Multiple-Thread чтобы избавиться от select > для connections и "только 1 процесс работает". > 2. Открыть для использования PHP вторую жизненно важную опцию (очередь к > upstream). > > И всё. В буквальном смысле. Т.е. Nginx и Windows уже влюблены друг в друга. > Теперь осталось решить пару вопросов и можно подавать заявление в загс. > > Если посмотреть в исходники, то пробный модуль
Re: Обновление файла конфигурации (nginx.conf)
пт, 26 авг. 2016 г. в 15:25, Alex Domoradov: > При обновлении вроде будет спрашивать, там можно будет посмотреть различия > и оставить старый или применить новый > А если директивы, дефолтные значения которых не нравятся, переопределять в /etc/nginx/conf.d, что зачастую возможно, то и вовсе ничего спрашиваться при обновлениях не будет. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Зависание nginx из-за memcached
чт, 26 мая 2016 г. в 15:20, Валентин Бартенев: > On Thursday 26 May 2016 08:04:59 Vadim Osipov wrote: > > location /screenshot/ { > > if ($request_method != GET) { > > proxy_pass http://127.0.0.1:8080; > > break; > > } > > > > more_clear_headers 'Content-Type'; > > more_clear_headers 'Cache-Control'; > > Это делается с помощью proxy_hide_header. > И для случаев, когда нужно удалить header из ответа клиенту, но залогировать в access_log-е тоже? Ну вдруг счастье уже наступило, а я не в курсе. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: в новой версии chrome (49.0.2623.87 m) не отображается текст auth basic
https://bugs.chromium.org/p/chromium/issues/detail?id=544244 https://chromium.googlesource.com/chromium/src.git/+/d4fe8211476a0bba1a347204e430aa283c2e7d7f Это явно не баг, а фича с точки зрения разработчиков Chromium, так что или авторизовывать не через basic auth, или идти в тикет и убедительно доказывать, что нужно вернуть старое поведение. чт, 17 мар. 2016 г. в 14:37, snike: > авторизация у мен в nginx , еслии с апачем та же беда то плохо... есть > решение? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265425,265433#msg-265433 > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx зависает при записи логов?
вс, 13 мар. 2016 г. в 15:58, dim1: > Логи пишутся по 64Кб: access_log ... buffer=64k; > Включение gzip-сжатия ситуацию не выправляет? http://nginx.org/ru/docs/http/ngx_http_log_module.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Ограничение скорости отдачи статики клиентам
Связка из http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html и http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html чем-то не подходит? пн, 1 февр. 2016 г. в 11:58, Иван Мишин: > Добрый день коллеги. > Подскажите пожалуйста есть ли возможность в nginx реализовать ограничение > скорость каким либо способом отличным от ограничения скорости на соединение > (ведь клиент может создать много соединений и получит нужную ему скорость), > есть варианты? > Например ограничение скорости по полосе, можно ли реализовать ? > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: gzip не сжимает text/html
Ответы с типом “text/html” сжимаются всегда. http://nginx.org/ru/docs/http/ngx_http_gzip_module.html#gzip_types curl можно запустить с параметром -V (--verbose) и сравнить заголовки. Если поведение gzip разное, значит какое-то отличие в них точно есть. 15 мая 2015 г., 12:43 пользователь Дима Редмайн redmin...@gmail.com написал: добавьте в gzip_types text/html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 301 редирект http-https исключая графику и robots.txt как ?
server { listen ip; server_name domain.ru *.domain.ru www.domain.ru; location /robots.txt { } location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { } location / { return 301 https://domain.ru$request_uri; } } ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Передача нескольких слэшей
Вы о http://nginx.org/ru/docs/http/ngx_http_core_module.html#merge_slashes ? ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Bitrix + php-fpm
28 ноября 2014 г., 15:53 пользователь Роман n.g.i.n.x@gmail.com написал: Всю голову сломал. Это вообще возможно? Почему нет? $ curl -I http://www.1c-bitrix.ru/ HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Fri, 28 Nov 2014 13:05:48 GMT Content-Type: text/html; charset=windows-1251 Connection: keep-alive X-Powered-By: PHP/5.3.3 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Обработка некорректных запросов
http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: скачивается index.php
Обычно всё заканчивается тем, что после предыдущих (с неверным конфигом) ошибок не был сброшен кэш браузера. 2014-07-07 16:16 GMT+04:00 Dmitry dmitry.goryai...@gmail.com: php-fpm поднят? сокет /var/run/php5-fpm.sock корректен? On Mon, Jul 7, 2014 at 3:54 PM, irgola nginx-fo...@nginx.us wrote: Я первый раз имею дело с nginx и у меня возникла проблема, index.php скачивается вместо загрузки страницы. Возможно я что-то сделал неккоректно. Вот мои конфиги: server { listen 8080; #root /var/www/dd.test.com/rockmongo; access_log /var/www/dd.test.com/nginx.access.log; server_name dd.test.com www.dd.test.com; root /var/www/dd.test.com/rockmongo; location / { index index.html index.php; } location ~ \.php$ { #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/dd.test.com/rockmongo$fastcgi_script_name; include/etc/nginx/fastcgi_params; } } user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_names_hash_bucket_size 64; include /etc/nginx/mime.types; #default_type application/octet-stream; default_type text/html; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable msie6; gzip on; gzip_disable msie6; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251494,251494#msg-251494 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Dmitry Goryainov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Сообщения об ошибках от php-fpm пишутся в error.log nginx'а. Как побороть?
Нужно не nginx заставлять не записывать ошибки, а отучивать php их сваливать их в fastcgi-поток. Кажется, оно: http://www.php.net/manual/ru/ini.core.php#ini.fastcgi.logging 7 июля 2014 г., 22:18 пользователь Sferg nginx-fo...@nginx.us написал: Здравствуйте, господа. Настроена связка nginx + php-fpm. Подскажите, пожалуйста, как можно nginx отучить сохранять в свой error.log сообщения об ошибках от php-fpm? Сейчас получается так: В файле /var/log/nginx/error.log выводится: 2014/07/07 22:02:06 [error] 19714#0: *10 FastCGI sent in stderr: PHP message: PHP Parse error: syntax error, unexpected '{', expecting '(' in /home/example.com/www/phpinfo.php on line 25 while reading response header from upstream, client: 192.168.0.61, server: example.com, request: GET /phpinfo.php HTTP/1.1, upstream: fastcgi://unix:/var/run/php5-fpm_example.com.sock:, host: example.com В файле /var/log/php5-fpm/error.log выводится: [07-Jul-2014 22:02:06] WARNING: [pool example.com] child 20676 said into stderr: NOTICE: PHP message: PHP Parse error: syntax error, unexpected '{', expecting '(' in /home/example.com/www/phpinfo.php on line 25 То есть, по сути, информация дублируется. Хотелось бы порядок: чтоб у nginx и у php-fpm были ТОЛЬКО СВОИ сообщения об ошибках. И ТОЛЬКО В СВОИХ логах. Возможно ли это реализовать? P.S. Попробовал задать catch_workers_output = no. Из error.log php-fpm строчка убралась, но осталась в error.log nginx'а. Возможно ли сделать наоборот? С уважением, Геннадий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251507,251507#msg-251507 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Добавить переменую $cache status
18.11.2013, 23:46, S.A.N nginx-fo...@nginx.us: Реальный пример из жизни, у нас есть страница товара, ниже выводим комментарии пользователей, хедер страницы Last-Modified – это дата создания/редактирования товара, это необходимо для поисковиков RSS клиентов Для поисковиков можно генерировать sitemap, какое дело rss клиентам до last-modified обычной html страницы не сообразил, что скрывается под и т.д. не знаю. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Отдельный PHP-FPM сервер
13.11.2013, 21:53, init0 nginx-fo...@nginx.us: Хотел странного, чтобы php5-fpm реботал без php скриптов, а брал их по сети Развернуть для этого nfs - не такая вроде и проблема. В итоге будет по сети, но прозрачно для php5-fpm. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Медленная отдача статики
29.10.2013, 09:47, Михаил Монашёв postmas...@softsearch.ru: Здравствуйте, admin. Много-ли оперы на серваке Как это понять? Видимо он про оперативную память. Хотя может и про мыльную оперу. Кто этот новояз разберет... ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: MODx setup
http://nginx.org/en/docs/http/ngx_http_index_module.html#index . Либо попробовать набирать полный адрес, видимо что-то вроде /setup/index.php?action=welcome 12.10.2013, 15:37, Haikson nginx-fo...@nginx.us: Нужна помощь в понимании как действовать. Пытаюсь установить MODx Revo Вот настройки nginx. server { listen 80; server_name xn7sbitcnbnlgdqs1b8l.xn--p1ai; charset utf8; autoindex off; access_log /srv/logs/poly_access.log; error_log /srv/logs/poly_error.log error; root /srv/www/haikson/poly; index index.php; rewrite_log on; location /core/ { deny all; } location / { try_files $uri $uri/ @modx; } location @modx { rewrite ^/(.*)$ /index.php?q=$1; } location ~* /\.ht { deny all; # запретить все для всех return 404; # вернуть код ошибки 404 } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|bmp)$ { access_log off; expires 30d; break; } location ~ .php$ { try_files $fastcgi_script_name =404; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/var/run/php-fpm/phpfpm.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PHP_VALUE apc.cache_by_default=0; include fastcgi_params; } } Открываю /setup/ - всё нормально Пытаюсь перейти на сл. уровень (/setup/?action=welcome ) перебрасывает на /?action=welcome Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243636,243636#msg-243636 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru