Re: Можно ли заскриптовать несложную логику прямо в конфиге?

2017-04-17 Пенетрантность Дмитрий Андреев
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

2017-03-20 Пенетрантность Дмитрий Андреев
А что мешает сеошникам воспользоваться сеошными методами и прописать в
robots.txt что-то вроде Disallow: *//* ?
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Подключение модуля ngx http upstream module

2016-12-27 Пенетрантность Дмитрий Андреев
вт, 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 = Дружба? Время пришло!

2016-12-15 Пенетрантность Дмитрий Андреев
Увидел много слов о том, что теперь на 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)

2016-08-26 Пенетрантность Дмитрий Андреев
пт, 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

2016-05-26 Пенетрантность Дмитрий Андреев
чт, 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

2016-03-19 Пенетрантность Дмитрий Андреев
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 зависает при записи логов?

2016-03-14 Пенетрантность Дмитрий Андреев
вс, 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: Ограничение скорости отдачи статики клиентам

2016-02-01 Пенетрантность Дмитрий Андреев
Связка из 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

2015-05-15 Пенетрантность Дмитрий Андреев
Ответы с типом “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 как ?

2015-03-23 Пенетрантность Дмитрий Андреев
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: Передача нескольких слэшей

2014-12-17 Пенетрантность Дмитрий Андреев
Вы о 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

2014-11-28 Пенетрантность Дмитрий Андреев
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: Обработка некорректных запросов

2014-08-12 Пенетрантность Дмитрий Андреев
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 Пенетрантность Дмитрий Андреев
Обычно всё заканчивается тем, что после предыдущих (с неверным конфигом)
ошибок не был сброшен кэш браузера.


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'а. Как побороть?

2014-07-07 Пенетрантность Дмитрий Андреев
Нужно не 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

2013-11-18 Пенетрантность Дмитрий Андреев


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 сервер

2013-11-13 Пенетрантность Дмитрий Андреев
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: Медленная отдача статики

2013-10-29 Пенетрантность Дмитрий Андреев
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

2013-10-12 Пенетрантность Дмитрий Андреев
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