При включении gzip не работает chunk-encoding

2013-11-04 Пенетрантность vulgast
Добрый день.

Версии: nginx - 1.2.1 + php-fpm

Нужен совет. При включении gzip-а перестает работать chunk-encoding. В
заголовке ответа chunked содержится, но по-факту с включенным gzip страница
не отдается частями.

Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=UTF-8
Date:Mon, 04 Nov 2013 09:57:07 GMT
Server:nginx
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.4.4-14+deb7u5


Конфиги:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json
application/x-javascript text/xml application/xml application/xml+rss
text/javascript;

..

upstream * {
server unix:/var/run/***-fpm.sock weight=5;
server *.*.*.*:9010 weight=5;
keepalive 5;
}
.
server {
server_name www.***.ua;
return 301 $scheme://.ua$request_uri;
}
server {
server_name .ua;
root /home/*.ua/www;
chunkin on;

access_log /home/**.ua/logs/access.log;
error_log /home/***.ua/logs/error.log;

charset utf-8;

include /etc/nginx/access.rules;

error_page 411 = @my_411_error;
location @my_411_error {
chunkin_resume;
}

location / {
try_files $uri @yii;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
log_not_found off;
access_log off;
}

location ~ \.php$ {
return 404;
}
location @yii {
include fastcgi_params;
set $memcached_key $uri;
#memcached_pass **.ua;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_pass 127.0.0.1:9000;
#proxy_buffering off;
fastcgi_keep_conn on;
chunkin_keepalive on;
proxy_http_version 1.1;
}

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,244400,244400#msg-244400

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: При включении gzip не работает chunk-encoding

2013-11-04 Пенетрантность vulgast
Такое впечетление, что есть какой-то буфер 4096+, который нужно заполнить,
иначе чанк просто не отдается даже при сбросе буффера в php. Может это
какой-то буфер в пхп или нжинксе?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,244400,244401#msg-244401

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

настройка nginx для чайника

2013-11-04 Пенетрантность XIT
Доброго времени.

Просьба не кидаться тухлыми помидорами, гугл использовал, wiki читал - но
мозаика так и не сложилась.

Решил давеча переехать на буржуйский vps, т.к. наши шареды больно падучи
или везло так, не суть. Стал читать как nginx + php5-fpm поставить и все
вроде бы срослось.

Осталось дело за малым, просто понять само устройство, вероятно это
настолько очевидно, что нигде не пишут о нем в целом, а я что-то торможу по
всей видимости.

Итак:
1. Есть файл в папке /etc/nginx/nginx.conf. Этот файл для примера лежит,
или используется или его надо переместить в какое-то специальное место?

2. Для чего нужны папки:

   - sites-available - здесь лежит некий конфиг default, с таким вот
   содержимым http://pastebin.com/MPX0ii0g, которое позволяет работать
   только сайту site1.ru, но вот при входе на сайт site2.ru, открывается
   первый.
  - Как сделать, чтобы для каждого сайта был свой конфиг? Куда его
  класть и где до него прописывать инклюд, в nginx.conf?
   - sites-enabled - симлинк default на sites-available/default. Что в этой
   папке должно быть, её назначение?
   - conf.d - пустая, что в ней должно быть и её назначение?

Буду безмерно благодарен, если ответите или дадите ссылку на мануал и
простите за нубство.

-- 
Relax, take it easy!
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: настройка nginx для чайника

2013-11-04 Пенетрантность Daniel Podolsky
> 1. Есть файл в папке /etc/nginx/nginx.conf. Этот файл для примера лежит, или
> используется или его надо переместить в какое-то специальное место?
Используется. Для тривиального случая там сделаны подходящие
настройки, для нетривиального - возможно, его прийдется править.
Вообще - его имеет смысл почитать, особо обращая внимание на директивы
include. Многое станет понятным :)

> sites-available - здесь лежит некий конфиг default, с таким вот содержимым
> http://pastebin.com/MPX0ii0g, которое позволяет работать только сайту
> site1.ru, но вот при входе на сайт site2.ru, открывается первый.
Это  debian-way конфиги. В этой папке лежат собственно конфиги сайтов.
Но к работающей конфигурации могут быть подключены совсем не все,
лежащие здесь.

> Как сделать, чтобы для каждого сайта был свой конфиг? Куда его класть и где
> до него прописывать инклюд, в nginx.conf?
Класть в sites-available, прописывать симлинк в sites-enabled. Все,
что есть в sites-enabled, инклюдится автоматически (это в штатном
/etc/nginx/nginx.conf прописано) в секцию http.

> sites-enabled - симлинк default на sites-available/default. Что в этой папке
> должно быть, её назначение?
см. выше.

> conf.d - пустая, что в ней должно быть и её назначение?
Сюда класть дополнения к стандартной конфигурации, которые должны быть
за пределами секции http. Почитайте, повторюсь, /etc/nginx/nginx.conf
- станет яснее.
Для тривиальной конфигурации сюда ничего класть не прийдется.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: настройка nginx для чайника

2013-11-04 Пенетрантность XIT
Daniel,  благодарю,  теперь логика понятна.
04.11.2013 16:16 пользователь "Daniel Podolsky" 
написал:

> > 1. Есть файл в папке /etc/nginx/nginx.conf. Этот файл для примера лежит,
> или
> > используется или его надо переместить в какое-то специальное место?
> Используется. Для тривиального случая там сделаны подходящие
> настройки, для нетривиального - возможно, его прийдется править.
> Вообще - его имеет смысл почитать, особо обращая внимание на директивы
> include. Многое станет понятным :)
>
> > sites-available - здесь лежит некий конфиг default, с таким вот
> содержимым
> > http://pastebin.com/MPX0ii0g, которое позволяет работать только сайту
> > site1.ru, но вот при входе на сайт site2.ru, открывается первый.
> Это  debian-way конфиги. В этой папке лежат собственно конфиги сайтов.
> Но к работающей конфигурации могут быть подключены совсем не все,
> лежащие здесь.
>
> > Как сделать, чтобы для каждого сайта был свой конфиг? Куда его класть и
> где
> > до него прописывать инклюд, в nginx.conf?
> Класть в sites-available, прописывать симлинк в sites-enabled. Все,
> что есть в sites-enabled, инклюдится автоматически (это в штатном
> /etc/nginx/nginx.conf прописано) в секцию http.
>
> > sites-enabled - симлинк default на sites-available/default. Что в этой
> папке
> > должно быть, её назначение?
> см. выше.
>
> > conf.d - пустая, что в ней должно быть и её назначение?
> Сюда класть дополнения к стандартной конфигурации, которые должны быть
> за пределами секции http. Почитайте, повторюсь, /etc/nginx/nginx.conf
> - станет яснее.
> Для тривиальной конфигурации сюда ничего класть не прийдется.
> ___
> 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: Проблема с загрузкой файлов на сервер

2013-11-04 Пенетрантность М . А . Мохначевский
PHP через mod_fcgid?


4 ноября 2013 г., 1:48 пользователь atemirov  написал:

> Дано:
>
> 1. VPS-сервер
>
> 2. Настройки PHP
> — max_execution_time = 600
> — max_input_time = 600
> — memory_limit = 256M
> — post_max_size = 100M
> — upload_max_filesize = 100M
> — max_file_uploads = 40
>
> 3. Настройки ngnix
> — client_max_body_size 100M в настройках ngnix
>
> При загрузке любых файлов (минимальный объем — 354 КБ) на сервер происходит
> следующее:
> загружаются примерно до 30%, после этого состояние загрузки сбрасывается на
> 0%, файл снова загружается примерно на 30% и браузер (Chrome) выдаёт
> следующую ошибку: Ошибка 101 (net::ERR_CONNECTION_RESET): Соединение
> сброшено.
>
> В других браузерах аналогичная ситуация.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,244391,244391#msg-244391
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
С ув. М.А. Мохначевский
Отдел системного администрирования
ООО "Компания "СахаИнтернет НТ"
к.т. (4112)219711 доб. 927
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Медленная отдача статики

2013-11-04 Пенетрантность Anatoly Mikhailov

On 30 Oct 2013, at 12:08, Maxim Dounin  wrote:

> Hello!
> 
> On Mon, Oct 28, 2013 at 12:34:33PM -0400, buddha wrote:
> 
>> Привет всем. 
>> Знаю что вопрос уже обсуждался - почитал, попробовал - не выходит.
>> 
>> Есть проблема с медленной отдачей статики. Что это значит:
>> 
>> Отдача файла(js) ~40kb за 300-400ms
>> на drive.ru или ya 40kb за 70-90ms
>> 
>> Т.е. разница в разы. и она ощутима.
>> 
>> ping до сервера ~70ms
>> до drive и ya ~ 20-30ms
>> 
>> отдает Nginx, config:
>> 
>> location / {
>>   sendfile on;
>>   access_log off;
>>   expires 4M;
>> 
>>   root /var/www/static
>> }
>> 
>> сервер находится у хетцнера.
>> 
>> Подскажите как можно приблизить скорость отдачи к drive или ya.
>> Если сервер, диск(хотя iowait 0.01-0.05), то подскажите на что его можно
>> заменить
> 
> Судя по цифрам, то, что у вас получается - это в первую очередь 
> результат большого RTT + работы механизмов Congestion Control 
> протокола TCP.
> 
> Можно пытаться походить в сторону тюнинга initial congestion 
> window size.  Но, строго говоря, много это всё равно не даст - 
> где-то пару round trip'ов можно сэкономить при использовании 
> сейчас усиленно продвигаемого initial cwnd в 10 пакетов (и чем 
> больше ответ - тем меньше разница).  Ну и на всякий случай 
> напомню, что с тюнингом таких вещей следует быть осторожным, т.к.  
> подобные действия отражаются на всех в сети.  Прежде, чем 
> ковыряться - лучше как минимум ознакомиться с теоретической 
> стороной вопроса.

Максим, разве Google не провел исследования, по результатам
которых они подняли icwnd до 10 на своих серверах?

В последних версиях Linux kernel icwnd уже 10 по умолчанию
и может дать обратный эффект только в очень редких случаях
на сегодняшний день.

TCP fast open в kernel 3.6+ следующей шаг, в который Google 
вкладывает силы и деньги. 

> 
> Вообще, IMHO, в первую очередь имеет смысл смотреть за тем, чтобы 
> с клиентами обеспечивались постоянные соединения.  В nginx'е они 
> по умолчанию включены, но лишний раз проверить не помешает.  В 
> частности - посмотреть на директиву keepalive_timeout и убедиться, 
> что там никто не написал 0 в попытке поэкономить соединения.
> 
> -- 
> Maxim Dounin
> http://nginx.org/en/donation.html
> 
> ___
> 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: Медленная отдача статики

2013-11-04 Пенетрантность Anatoly Mikhailov

On 04 Nov 2013, at 18:09, Anatoly Mikhailov  wrote:

> 
> On 30 Oct 2013, at 12:08, Maxim Dounin  wrote:
> 
>> Hello!
>> 
>> On Mon, Oct 28, 2013 at 12:34:33PM -0400, buddha wrote:
>> 
>>> Привет всем. 
>>> Знаю что вопрос уже обсуждался - почитал, попробовал - не выходит.
>>> 
>>> Есть проблема с медленной отдачей статики. Что это значит:
>>> 
>>> Отдача файла(js) ~40kb за 300-400ms
>>> на drive.ru или ya 40kb за 70-90ms
>>> 
>>> Т.е. разница в разы. и она ощутима.
>>> 
>>> ping до сервера ~70ms
>>> до drive и ya ~ 20-30ms
>>> 
>>> отдает Nginx, config:
>>> 
>>> location / {
>>>   sendfile on;
>>>   access_log off;
>>>   expires 4M;
>>> 
>>>   root /var/www/static
>>> }
>>> 
>>> сервер находится у хетцнера.
>>> 
>>> Подскажите как можно приблизить скорость отдачи к drive или ya.
>>> Если сервер, диск(хотя iowait 0.01-0.05), то подскажите на что его можно
>>> заменить
>> 
>> Судя по цифрам, то, что у вас получается - это в первую очередь 
>> результат большого RTT + работы механизмов Congestion Control 
>> протокола TCP.
>> 
>> Можно пытаться походить в сторону тюнинга initial congestion 
>> window size.  Но, строго говоря, много это всё равно не даст - 
>> где-то пару round trip'ов можно сэкономить при использовании 
>> сейчас усиленно продвигаемого initial cwnd в 10 пакетов (и чем 
>> больше ответ - тем меньше разница).  Ну и на всякий случай 
>> напомню, что с тюнингом таких вещей следует быть осторожным, т.к.  
>> подобные действия отражаются на всех в сети.  Прежде, чем 
>> ковыряться - лучше как минимум ознакомиться с теоретической 
>> стороной вопроса.
> 
> Максим, разве Google не провел исследования, по результатам
> которых они подняли icwnd до 10 на своих серверах?
> 
> В последних версиях Linux kernel icwnd уже 10 по умолчанию
> и может дать обратный эффект только в очень редких случаях
> на сегодняшний день.
> 
> TCP fast open в kernel 3.6+ следующей шаг, в который Google 
> вкладывает силы и деньги. 

Насколько мне известно, TCP Congestion window имеет смысл
при согласовании окон получателя и отправителя. ICWND 2/3 были
установлены по умолчанию много лет назад во времена dial-up.
TCP Slow Start обязательно иметь включенным, но start after idle 
нет смысла оставлять 1 сек, как и размер окна 2/3.

Мы уделяли большое внимание оптимизации TCP/IP стэка, результаты
ниже. В течение длительного времени я не заметил побочных эффектов,
возможно они и есть. Ваше мнение?

net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.core.wmem_max = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.rmem_default = 256960
net.ipv4.tcp_wmem = 409687380   16777216
net.ipv4.tcp_rmem = 409687380   16777216


> 
>> 
>> Вообще, IMHO, в первую очередь имеет смысл смотреть за тем, чтобы 
>> с клиентами обеспечивались постоянные соединения.  В nginx'е они 
>> по умолчанию включены, но лишний раз проверить не помешает.  В 
>> частности - посмотреть на директиву keepalive_timeout и убедиться, 
>> что там никто не написал 0 в попытке поэкономить соединения.
>> 
>> -- 
>> Maxim Dounin
>> http://nginx.org/en/donation.html
>> 
>> ___
>> 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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Уточнение логики работы ngx_http_auth_request_module

2013-11-04 Пенетрантность Maxim Dounin
Hello!

On Sat, Nov 02, 2013 at 10:21:39PM +0400, Dzmitry Stremkouski wrote:

> Я установил nginx и модуль Максима Дунина (ngx_http_auth_request_module)
> Настройку этого модуля производил по README от модуля.
> Сам вебсервер собрал с такими параметрами в дебиане:
> 
> nginx version: nginx/1.3.14

Порекомендую начать с простого.  Не надо использовать 1.3.14, это 
старая и неподдерживаемая версия.  Надо взять 1.5.6, где 
соответствующий модуль в коробке.

[...]

> Я пытался делать без проксирования, указывая URI
> auth_request http://192.168.125.35/auth/
> Но это не работало и я в логах nginx видел ошибку
> 2013/11/01 23:31:51 [error] 10938#0: *245 "/usr/local/nginx/htmlhttp://
> 192.168.125.35/auth/index.html" is not found (2: No such file or
> directory), client: 192.168.125.47, server: ssl.stremki.net, request: "GET
> /mail/ HTTP/1.1", subrequest: "http://192.168.125.35/auth/";, host: "
> ssl.stremki.net"
> 
> Было бы здорово, если бы я смог работать без проксирования /auth/.
> Просто, пока не понял, как прописать внутренний бекенд для обработки и
> сейчас
> пользуюсь локейшном /auth/ в режиме проксирования.

Модуль auth_request не пытается реализовывать каких-либо 
протколов сам, он просто делает подзапрос.  Точно так же, как это 
делает SSI или модуль addition.

Настроить необходимую обработку для соответствующего URI, который 
вы используете в auth_request - ваша задача, будь то проксирование 
или что-либо ещё.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Как установить модуль http gzip static module?

2013-11-04 Пенетрантность Anatoly Mikhailov

On 24 Oct 2013, at 18:43, Dmitry Ivanov  wrote:

> Здравствуйте, tfox.
> 
> Вы писали 24 октября 2013 г., 21:38:10:
> 
>> Здравствуйте.
>> Мне необходимо установить модуль http_gzip_static_module
>> FreeBSD 9.1
>> Nginx/1.4.2
> 
>> Как это сделать? Читал, что нужно как то пересобирать/перекомпилировать из
>> портов, но не понял. Я новичок. Помогите пожалуйста.
> 
> cd /usr/ports/www/nginx
> make config (там всякие чекбокссы понажимать)
> make
> make deinstall && make reinstall && /usr/local/etc/rc.d/nginx restart

не надо чекбоксы нажимать, собирайте с одноименными ключами, например:
./configure --with-http_gzip_static_module…

чтобы совсем наглядно - немного устаревший пример, но суть та же: 
https://gist.github.com/mikhailov/3052776

> 
> 
> -- 
> С уважением,
> Dmitry  mailto:nginx...@sadok.spb.ru
> 
> ___
> 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: Медленная отдача статики

2013-11-04 Пенетрантность Maxim Dounin
Hello!

On Mon, Nov 04, 2013 at 06:09:57PM +, Anatoly Mikhailov wrote:

[...]

> > Судя по цифрам, то, что у вас получается - это в первую очередь 
> > результат большого RTT + работы механизмов Congestion Control 
> > протокола TCP.
> > 
> > Можно пытаться походить в сторону тюнинга initial congestion 
> > window size.  Но, строго говоря, много это всё равно не даст - 
> > где-то пару round trip'ов можно сэкономить при использовании 
> > сейчас усиленно продвигаемого initial cwnd в 10 пакетов (и чем 
> > больше ответ - тем меньше разница).  Ну и на всякий случай 
> > напомню, что с тюнингом таких вещей следует быть осторожным, т.к.  
> > подобные действия отражаются на всех в сети.  Прежде, чем 
> > ковыряться - лучше как минимум ознакомиться с теоретической 
> > стороной вопроса.
> 
> Максим, разве Google не провел исследования, по результатам
> которых они подняли icwnd до 10 на своих серверах?

Исследования Google отличаются, к сожалению, несколько однобоким 
подходом к проблеме.  Вот тут, например, не рекомендуют:

http://tools.ietf.org/html/draft-gettys-iw10-considered-harmful-00

Я, впрочем, ничего против icwnd 10 не имею.  Но наблюдал людей, 
бездумно ставящих icwnd 10, и призываю думать, прежде чем 
лезть в подобные вещи грязными руками.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Медленная отдача статики

2013-11-04 Пенетрантность Anatoly Mikhailov

On 04 Nov 2013, at 21:52, Maxim Dounin  wrote:

> Hello!
> 
> On Mon, Nov 04, 2013 at 06:09:57PM +, Anatoly Mikhailov wrote:
> 
> [...]
> 
>>> Судя по цифрам, то, что у вас получается - это в первую очередь 
>>> результат большого RTT + работы механизмов Congestion Control 
>>> протокола TCP.
>>> 
>>> Можно пытаться походить в сторону тюнинга initial congestion 
>>> window size.  Но, строго говоря, много это всё равно не даст - 
>>> где-то пару round trip'ов можно сэкономить при использовании 
>>> сейчас усиленно продвигаемого initial cwnd в 10 пакетов (и чем 
>>> больше ответ - тем меньше разница).  Ну и на всякий случай 
>>> напомню, что с тюнингом таких вещей следует быть осторожным, т.к.  
>>> подобные действия отражаются на всех в сети.  Прежде, чем 
>>> ковыряться - лучше как минимум ознакомиться с теоретической 
>>> стороной вопроса.
>> 
>> Максим, разве Google не провел исследования, по результатам
>> которых они подняли icwnd до 10 на своих серверах?
> 
> Исследования Google отличаются, к сожалению, несколько однобоким 
> подходом к проблеме.  Вот тут, например, не рекомендуют:
> 
> http://tools.ietf.org/html/draft-gettys-iw10-considered-harmful-00
> 
> Я, впрочем, ничего против icwnd 10 не имею.  Но наблюдал людей, 
> бездумно ставящих icwnd 10, и призываю думать, прежде чем 
> лезть в подобные вещи грязными руками.

Разумеется, значения окон icwnd/rwnd больше 10-16 редко имеют смысл,
а 10 - так вообще глупо. Google разработали SPDY и установка
размера окон - это одна из важных их рекомендаций к использованию
SPDY на стороне сервера, ровно как и увеличение/отключение таймаута 
на сужение окна tcp_slow_start_after_idle: 
http://dev.chromium.org/spdy/spdy-best-practices

> 
> -- 
> Maxim Dounin
> http://nginx.org/en/donation.html
> 
> ___
> 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