From nginx-forum на forum.nginx.org Fri Apr 1 07:02:01 2016 From: nginx-forum на forum.nginx.org (Vans_) Date: Fri, 01 Apr 2016 03:02:01 -0400 Subject: =?UTF-8?Q?auth_request_=D0=B8_conn_limit?= Message-ID: <7844469c094ec7cd119db6f88f691df4.NginxMailingListRussian@forum.nginx.org> Добрый день всем! Можно ли заставить работать одновременно conn_limit и auth_request одновременно? Желаемая схема такая: location /data0002 { auth_request /authcheck; auth_request_set $error_code $upstream_http_x_error_code; auth_request_set $token $upstream_http_x_token; limit_conn connections 1; limit_conn_status 429; error_page 403 =200 /forbiden; error_page 429 =200 /to_many_connections; proxy_intercept_errors on; proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_pass http://127.0.0.1:8000/data; error_page 500 501 502 503 504 404 403 =200 /no_data; } Но смысл в том, что похоже conn_limit отрабатывает до auth_check и $token устанавливается после того, как отработает conn_limit. Причем, задать $token статически, то conn_limit отрабатывает, но это не интересно..... Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265797,265797#msg-265797 From bgx на protva.ru Fri Apr 1 09:06:06 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Fri, 1 Apr 2016 12:06:06 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <20160401090606.GE8754@cio.protva.ru> On Fri, Apr 01, 2016 at 02:10:20AM +0300, Paul Sin wrote: > копать вниз.. к центру Земли.. извините, не удержался ) > > >> Просто достать данные из БД не проблема есть модуль > nginx-mysql-module. Но как заставить закэшировать данные, и дать возможность > перемотки видео в плеере не представляю. > > а в чем проблема? откуда Вы берете видео - не принципиально Проблема в том, что для кэширования и перемотки нужно иметь как дату модификации объекта, так и возможность извлечь его часть по range-запросу. Файловая система позволяет и то, и другое, а с MySQL лишь хранение даты можно сделать нормально. Т.е. реляционная база -- неадекватный инструмент для этой задачи. > 31 марта 2016 г., 18:45 пользователь tepkuh > написал: > > > Коллеги, > > Хочется странного ;) Собственно задача следующая: > > Есть база данных в моём случаи mysql. В ней хранятся видео файлы. Хочется > > чтобы nginx доставал эти файлы из БД, кэшировал их и передавал дальше > > клиенту. Просто достать данные из БД не проблема есть модуль > > nginx-mysql-module. Но как заставить закэшировать данные, и дать > > возможность > > перемотки видео в плеере не представляю. > > > > Подскажите куда копать, плиз > > -- Eugene Berdnikov From nefer05 на gmail.com Fri Apr 1 09:55:23 2016 From: nefer05 на gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Fri, 1 Apr 2016 12:55:23 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <20160401090606.GE8754@cio.protva.ru> References: <20160401090606.GE8754@cio.protva.ru> Message-ID: Цепочку построить? Спереди кешик, за ним с модулем мускуля. 2016-04-01 12:06 GMT+03:00 Evgeniy Berdnikov : > On Fri, Apr 01, 2016 at 02:10:20AM +0300, Paul Sin wrote: > > копать вниз.. к центру Земли.. извините, не удержался ) > > > > >> Просто достать данные из БД не проблема есть модуль > > nginx-mysql-module. Но как заставить закэшировать данные, и дать > возможность > > перемотки видео в плеере не представляю. > > > > а в чем проблема? откуда Вы берете видео - не принципиально > > Проблема в том, что для кэширования и перемотки нужно иметь как дату > модификации объекта, так и возможность извлечь его часть по range-запросу. > Файловая система позволяет и то, и другое, а с MySQL лишь хранение даты > можно сделать нормально. Т.е. реляционная база -- неадекватный инструмент > для этой задачи. > > > > 31 марта 2016 г., 18:45 пользователь tepkuh > > > написал: > > > > > Коллеги, > > > Хочется странного ;) Собственно задача следующая: > > > Есть база данных в моём случаи mysql. В ней хранятся видео файлы. > Хочется > > > чтобы nginx доставал эти файлы из БД, кэшировал их и передавал дальше > > > клиенту. Просто достать данные из БД не проблема есть модуль > > > nginx-mysql-module. Но как заставить закэшировать данные, и дать > > > возможность > > > перемотки видео в плеере не представляю. > > > > > > Подскажите куда копать, плиз > > > > > -- > Eugene Berdnikov > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Fri Apr 1 11:03:35 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 1 Apr 2016 14:03:35 +0300 Subject: =?UTF-8?Q?Re=3A_auth_request_=D0=B8_conn_limit?= In-Reply-To: <7844469c094ec7cd119db6f88f691df4.NginxMailingListRussian@forum.nginx.org> References: <7844469c094ec7cd119db6f88f691df4.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160401110335.GT36620@mdounin.ru> Hello! On Fri, Apr 01, 2016 at 03:02:01AM -0400, Vans_ wrote: > Добрый день всем! > > Можно ли заставить работать одновременно conn_limit и auth_request > одновременно? > > Желаемая схема такая: > location /data0002 { > auth_request /authcheck; > auth_request_set $error_code $upstream_http_x_error_code; > auth_request_set $token $upstream_http_x_token; > limit_conn connections 1; > limit_conn_status 429; > error_page 403 =200 /forbiden; > error_page 429 =200 /to_many_connections; > proxy_intercept_errors on; > proxy_pass_request_body off; > proxy_set_header Content-Length ""; > proxy_pass http://127.0.0.1:8000/data; > error_page 500 501 502 503 504 404 403 =200 /no_data; > } > > Но смысл в том, что похоже conn_limit отрабатывает до auth_check и $token > устанавливается после того, как отработает conn_limit. > Причем, задать $token статически, то conn_limit отрабатывает, но это не > интересно..... Так работать не будет, т.к. limit_conn работает до авторизации, а $token доступен только после. Извлекайте $token из запроса до авторизации (а в процессе авторизации, соответственно, подтверждайте право его использования). Тогда всё будет работать. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Fri Apr 1 17:47:25 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Fri, 01 Apr 2016 13:47:25 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Вот и я думаю про цепочку ;) Но вот как её примерно построить не знаю :( Может какие доки посоветуете как это сделать? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265816#msg-265816 From nginx-forum на forum.nginx.org Fri Apr 1 17:52:58 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Fri, 01 Apr 2016 13:52:58 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <20160401090606.GE8754@cio.protva.ru> References: <20160401090606.GE8754@cio.protva.ru> Message-ID: <8243b54378e4d027ba66dbfba8004ec3.NginxMailingListRussian@forum.nginx.org> Я вот думаю примерно как надо: 1) Загрузить blob из базы 2) Создать файл на файловой системе 3) Отдавать файл с перемоткой и прочими плюшками. Мне кажется это возможно. Да и по другому никак. Файлы попадают в базу через аппликейшен. А вот хотим чтобы кэшировались дабы не грузить базу и раздавались через nginx (причем их несколько) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265817#msg-265817 From mva на mva.name Fri Apr 1 18:44:50 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 02 Apr 2016 00:44:50 +0600 Subject: reverse proxy + mysql + video In-Reply-To: <8243b54378e4d027ba66dbfba8004ec3.NginxMailingListRussian@forum.nginx.org> References: <20160401090606.GE8754@cio.protva.ru> <8243b54378e4d027ba66dbfba8004ec3.NginxMailingListRussian@forum.nginx.org> Message-ID: <1890226.7hnbplnRro@note> В письме от пятница, 1 апреля 2016 г. 13:52:58 NOVT пользователь tepkuh написал: > Мне кажется это возможно. Да и по другому никак. Файлы попадают в базу через > аппликейшен. А вот хотим чтобы кэшировались дабы не грузить базу и > раздавались через nginx (причем их несколько) А аппликейшн точно настолько кривой и проприетарный, что без таких велосипедов никак? :) -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From basil на vpm.net.ua Fri Apr 1 19:32:44 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Fri, 1 Apr 2016 22:32:44 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <8243b54378e4d027ba66dbfba8004ec3.NginxMailingListRussian@forum.nginx.org> References: <20160401090606.GE8754@cio.protva.ru> <8243b54378e4d027ba66dbfba8004ec3.NginxMailingListRussian@forum.nginx.org> Message-ID: > > 1) Загрузить blob из базы > 2) Создать файл на файловой системе > а зачем тогда база ? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nefer05 на gmail.com Fri Apr 1 20:33:55 2016 From: nefer05 на gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Fri, 1 Apr 2016 23:33:55 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: А что тут знать то. Один сервак с мускулем уже есть. Ставится еще один. На котором настраивается проксипас с кешированием на первого. Все. Извращенно несколько, но что ж поделать при таком ТЗ. 2016-04-01 20:47 GMT+03:00 tepkuh : > Вот и я думаю про цепочку ;) Но вот как её примерно построить не знаю :( > Может какие доки посоветуете как это сделать? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265816#msg-265816 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From bgx на protva.ru Fri Apr 1 21:04:34 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Sat, 2 Apr 2016 00:04:34 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <20160401210434.GZ8362@sie.protva.ru> On Fri, Apr 01, 2016 at 11:33:55PM +0300, Роман Москвитин wrote: > А что тут знать то. Один сервак с мускулем уже есть. Ставится еще один. На > котором настраивается проксипас с кешированием на первого. Все. > Извращенно несколько, но что ж поделать при таком ТЗ. Отказаться от реляционной базы вообще. Чем тратить время на прикручивание дополнительного кэша на fs, лучше потратить его на то, чтобы выгрузить данные в fs раз и навсегда. В реляционной базе можно оставить всякие там индексы для поиска. -- Eugene Berdnikov From mva на mva.name Sat Apr 2 08:57:30 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 02 Apr 2016 14:57:30 +0600 Subject: =?UTF-8?B?MSDQsNC/0YDQtdC70Y8g0Lgg0Y7QvdC40LrQvtC0INCyINC60L7QvdGE0LjQs9Cw?= =?UTF-8?B?0YU=?= Message-ID: <2705020.5cBd2070Hp@note> NgX Inc 1 апреля вроде как пошутила про эмоджи в конфигах: https://www.nginx.com/blog/emoji-nginx-plus-configuration/ Шутка шуткой, а почему бы и в самом деле не разрешить использовать идентификаторы из любых байтовых последовательностей (не только юникода, но начать можно и с него), а не только ascii? Как показывает практика ЯП, ничего страшного в разрешении юникода в качестве имён переменных и функций (или, в случае NgX — блоков, например апстримных) нету. // а вот в server_name юникод всё же неплохо бы транслировать в punycode. -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на forum.nginx.org Sat Apr 2 09:16:45 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 05:16:45 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <1890226.7hnbplnRro@note> References: <1890226.7hnbplnRro@note> Message-ID: <2b50fdbd7769035100214110ce1d116f.NginxMailingListRussian@forum.nginx.org> Ну апликейшен, теоритически подпиливаемый. Только зачем? Хранение файлов в БД это норм паттерн. Тем более подпилить конфиг намного дешевле, чем править код аппса. Задача ведь стоит выгружать и кэшировать nginx, а не подпилить аппс ;) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265824#msg-265824 From nginx-forum на forum.nginx.org Sat Apr 2 09:20:03 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 05:20:03 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <9b2e91134366e127b304364d3d6490e9.NginxMailingListRussian@forum.nginx.org> Не понял вопроса. ;) База хранит видео файлы в формате blob (англ. Binary Large Object — двоичный большой объект). Это сервис, куда пользователи загружает видяшки. А другие пользователи их смотрят ;) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265825#msg-265825 From nginx-forum на forum.nginx.org Sat Apr 2 09:21:36 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 05:21:36 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <20160401210434.GZ8362@sie.protva.ru> References: <20160401210434.GZ8362@sie.protva.ru> Message-ID: <3bd010514df551e2b8d29560d85ccb30.NginxMailingListRussian@forum.nginx.org> Не тратить время на прикручивание БД к nginx, а просто сказать архитектору, а потом разработчику что нужно менять код? Т.е. перекладыать одну проблему с одной головы (админа) на голову двух трех людей? (архитектор, разработчик, тестирование) ? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265826#msg-265826 From nginx-forum на forum.nginx.org Sat Apr 2 09:37:02 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 05:37:02 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: >А что тут знать то. Один сервак с мускулем уже есть. Ставится еще один. Не понял? Второй то сервак с mysql зачем? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265827#msg-265827 From annulen на yandex.ru Sat Apr 2 09:47:46 2016 From: annulen на yandex.ru (Konstantin Tokarev) Date: Sat, 02 Apr 2016 12:47:46 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <3bd010514df551e2b8d29560d85ccb30.NginxMailingListRussian@forum.nginx.org> References: <20160401210434.GZ8362@sie.protva.ru> <3bd010514df551e2b8d29560d85ccb30.NginxMailingListRussian@forum.nginx.org> Message-ID: <3681831459590466@web29o.yandex.ru> 02.04.2016, 12:21, "tepkuh" : > Не тратить время на прикручивание БД к nginx, а просто сказать архитектору, > а потом разработчику что нужно менять код? Т.е. перекладыать одну проблему с > одной головы (админа) на голову двух трех людей? (архитектор, разработчик, > тестирование) ? А прикручивание БД к nginx по сути перекладывание задач разработчиков на админа, т.к. nginx в этом случае превращается в веб-приложение. Идеологически правильнее было бы сдлелать отдельный скрипт, выполняющий запросы к базе, и бросить на него proxy_pass -- Regards, Konstantin From nefer05 на gmail.com Sat Apr 2 09:49:57 2016 From: nefer05 на gmail.com (=?UTF-8?B?0KDQvtC80LDQvSDQnNC+0YHQutCy0LjRgtC40L0=?=) Date: Sat, 2 Apr 2016 12:49:57 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Извините, сумбурно выражаюсь. :( С мускулем - в смысле nginx с мускульным модулем. Второй -nginx хот с модулем, хоть без, не важно. Главное что у него настроен прием внешних запросов и proxy_pass на первого. И кеширование ответов оного. 2016-04-02 12:37 GMT+03:00 tepkuh : > >А что тут знать то. Один сервак с мускулем уже есть. Ставится еще один. > Не понял? Второй то сервак с mysql зачем? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265827#msg-265827 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mva на mva.name Sat Apr 2 10:57:15 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 02 Apr 2016 16:57:15 +0600 Subject: reverse proxy + mysql + video In-Reply-To: <2b50fdbd7769035100214110ce1d116f.NginxMailingListRussian@forum.nginx.org> References: <1890226.7hnbplnRro@note> <2b50fdbd7769035100214110ce1d116f.NginxMailingListRussian@forum.nginx.org> Message-ID: <12920536.znXHT0EVQ0@note> В письме от суббота, 2 апреля 2016 г. 5:16:45 NOVT пользователь tepkuh написал: > Ну апликейшен, теоритически подпиливаемый. Только зачем? Хранение файлов в > БД это норм паттерн. Тем более подпилить конфиг намного дешевле, чем править > код аппса. Задача ведь стоит выгружать и кэшировать nginx, а не подпилить > аппс ;) Дело в том, что это *НЕ* "норм" паттерн. Это извращение из стиля "а давайте". И такие подходы характерны для legacy кода, который писался когда-то давно какими-то долбанутыми на голову извращенцами для того, чтобы вытащить побольше денег из инвесторов на закупку оборудования с откатами, а вам сейчас нужно его поддерживать в экстренных условиях, т.к. они слились. А для разрабатываемого прямо сейчас приложения — это дикость, и я, как CEO IT-компании уволил бы софт-архитектора если бы он ко мне пришёл с такой идеей. Более того, MySQL (особенно в чистом виде, без энтерпрайз-плюшек) в качестве базы данных даже для такого неудачного решения для хранения файлов — самое неудачное решение из возможных. Касательно стоящей задачи — да, поставили задачу изъе^2Wвернуться загогулиной админу вместо того, чтобы правильно (тщательно оценивая каждое решение каждой детали), без особо модных "паттернов", продумывать архитектуру приложения. Да, то, что вы хотите сделать можно. Присев на правой ноге, засунув левую за правое ухо и завязав руки бантиком за спиной. Можно. Но это просто неописуемое извращение. P.S. как вы думаете, почему файловые системы называются файловыми? А ещё, как вы думаете, зачем они используют кеш в оперативной памяти для часто используемых файлов? P.P.S. А ещё, как вы думаете, почему люди частенько предпочитают, например, redis этим вашим mysql?(подсказка: потому что он делает именно свою работу: хранит данные (и зачастую вида ключ=значение более чем достаточно) и более- менее адекватно использует кеш в памяти, самостоятельно ускоряя доступ к данным) ==== В общем, идея хранить *файлы* в базе (которая к тому же не умеет в нормальное кеширование в памяти), а потом вытаскивать их на *файловую* систему для кеширования ущербна в самой своей сути. Но, тем не менее, я вижу как минимум три пути решения этой задачи "костылями" (не переписывая приложение для работы как оно должно это делать "по- правильному"). Но т.к. все эти способы подразумевают очень большое количество БДСМ с изучением архитектуры приложения (для подпорки в правильных местах), а у меня не так много свободного времени, то чего-то более конкретного, чем уже озвучено выше и ниже (в виде общих идей по направлениям реализации), не вникая в архитектуру, я сказать не могу. А вникать в подобные архитектуры без материальной заинтересованности — извините, не моё. И вам не советую брать за подобные извращения менее чем 50€/час (и выше, в зависимости от региона проживания, региона расположения фирмы и величины проекта). -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From vbart на nginx.com Sat Apr 2 11:56:54 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sat, 02 Apr 2016 14:56:54 +0300 Subject: =?UTF-8?B?UmU6IDEg0LDQv9GA0LXQu9GPINC4INGO0L3QuNC60L7QtCDQsiDQutC+0L3RhNC4?= =?UTF-8?B?0LPQsNGF?= In-Reply-To: <2705020.5cBd2070Hp@note> References: <2705020.5cBd2070Hp@note> Message-ID: <8690705.0NRWfNsEBb@vbart-laptop> On Saturday 02 April 2016 14:57:30 Vadim A. Misbakh-Soloviov wrote: > NgX Inc 1 апреля вроде как пошутила про эмоджи в конфигах: > https://www.nginx.com/blog/emoji-nginx-plus-configuration/ > > Шутка шуткой, а почему бы и в самом деле не разрешить использовать > идентификаторы из любых байтовых последовательностей (не только юникода, но > начать можно и с него), а не только ascii? Как показывает практика ЯП, ничего > страшного в разрешении юникода в качестве имён переменных и функций (или, в > случае NgX — блоков, например апстримных) нету. > Нда... Судя по реакции в интернете, шутка не была до конца понята. Все примеры конфигов в статье - рабочие. -- Валентин Бартенев From mva на mva.name Sat Apr 2 13:17:19 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 02 Apr 2016 19:17:19 +0600 Subject: =?UTF-8?B?UmU6IDEg0LDQv9GA0LXQu9GPINC4INGO0L3QuNC60L7QtCDQsiDQutC+0L3RhNC4?= =?UTF-8?B?0LPQsNGF?= In-Reply-To: <8690705.0NRWfNsEBb@vbart-laptop> References: <2705020.5cBd2070Hp@note> <8690705.0NRWfNsEBb@vbart-laptop> Message-ID: <9420563.VG3WkYMkAJ@note> > Нда... Судя по реакции в интернете, шутка не была до конца понята. > Все примеры конфигов в статье - рабочие. Ну, значит то, как NgX перестал плеваться от не-ascii в директивах прошло мимо меня (и остальных, кто не заметил). Я, честно, не помню когда я последний раз пробовал юникод в директивах, но точно помню, как NgX при старте плевался от такого раньше. // да, посыпаю голову пеплом, сейчас не попробовал, хотя собирался :) -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на forum.nginx.org Sat Apr 2 15:25:04 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 11:25:04 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Пожалуй соглашусь ;) Извращенно :) А нельзя сделать цепочку в самом конфиге? Выгрузить данные в переменную, переменную в кэш nginx'а и всё внутри одного nginx? Нечто типа такого (правда это для модуля postgres, но это не суть важно): http { upstream database { postgres_server 127.0.0.1 dbname=test user=test password=test; } server { location / { eval_subrequest_in_memory off; eval $backend { postgres_pass database; postgres_query "SELECT * FROM backends LIMIT 1"; postgres_output value 0 0; } proxy_pass $backend; } } } Надо как то кэш еще прикрутить, надеюсь директива proxy_cache_key "$host$request_uri покатит. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265836#msg-265836 From vlad.shabanov на gmail.com Sat Apr 2 15:30:51 2016 From: vlad.shabanov на gmail.com (Vladislav Shabanov) Date: Sat, 2 Apr 2016 18:30:51 +0300 Subject: =?UTF-8?B?0JLQvtC/0YDQvtGBINC/0YDQviBodHRwLzIg0LggZmFzdGNnaQ==?= Message-ID: Всем добрый день. Имеем вот такой вот конфиг: server { listen 443 ssl http2; server_name … # дальше много всего про ssl_*** location / { fastcgi_pass unix:/run/django-fcgi.sock; fastcgi_param SERVER_PROTOCOL $server_protocol; # ещё много других fastcgi_param fastcgi_pass_header Authorization; fastcgi_intercept_errors on; } …. } По ощущениям, после включения http/2 обращения из одного браузера стали чаще обрабатываться последовательно. Раньше браузер открывал 6 сокетов и гонял в них страницы + ajax запросы параллельно, до fastcgi они доходили параллельно и исполнялись они тоже параллельно. А теперь несколько параллельно пришедших по http/2 запросов, по ощущениям, выполняются последовательно. По крайней мере в трассе fcgi демона, если сделать grep по сессии пользователя, я теперь вижу много строчек подряд с одним и тем же pid. Это так или я не прав? Заранее спасибо. Влад ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mva на mva.name Sat Apr 2 15:31:53 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 02 Apr 2016 21:31:53 +0600 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <39452719.AxarS5UGgD@note> > А нельзя сделать цепочку в самом конфиге? Выгрузить данные в переменную, > переменную в кэш nginx'а и всё внутри одного nginx? А вы отдаёте себе отчёт, что сервер не сможет даже 20-30 (в самом лучшем случае) таких запросов обслужить одновременно (догадываетесь почему)? // а сделать - можно. Используя Perl или Lua. -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на forum.nginx.org Sat Apr 2 15:58:47 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 11:58:47 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <12920536.znXHT0EVQ0@note> References: <12920536.znXHT0EVQ0@note> Message-ID: <43d1d08aca8f8e500ef9b684fb17922b.NginxMailingListRussian@forum.nginx.org> Одни эмоции, ничего конкретного. Всё не так и всё плохо, а почему не слова ;) Насчет технических ваших PS'ов: >P.S. как вы думаете, почему файловые системы называются файловыми? А ещё, как вы думаете, зачем они используют кеш в >оперативной памяти для часто используемых файлов? В базах данных также используется кэш в памяти для часто используемых запросов. И более того в БД это гибче настраивается чем на файловых системах. Если вы беспокоитесь насчет скорости отдачи файла из БД или из файловой системы, но спешу вам сообщить, что скорость отдачи контента между файловой системы и БД почти не отличается (разница составляет миллисекунды и это объективные данные от группы перфоманс тестирования) и основные затраты идут на передачу самих данных по сети, а не на поиск самих данных. >P.P.S. А ещё, как вы думаете, почему люди частенько предпочитают, например, redis этим вашим mysql? (подсказка: потому что он делает >именно свою работу: хранит данные (и зачастую вида ключ=значение более чем достаточно) и более-менее адекватно использует кеш >впамяти, самостоятельно ускоряя доступ к данным) Очень объективное объяснение :) "Да потому что он делает свою работу :)" Использование noSQL обладает только двумя существенными преимуществом (есть еще дополнительные как например связанные с масштабированием, но это другая песня) это быстрый ПОИСК данных и быстрая запись. Всё. Прошу не путать именно ПОИСК и отдачу самих данных. Причем этот самый ПОИСК данных так же есть и на файловой системе. Самостоятельно ничего и нигде не ускоряется. Помещение данных в память не ускоряет, а уменьшает затраты времени доступа к данным за счет чтения\записи с дисков. И да, это разные вещи ускорение и уменьшение затрат времени. А помещать видео-файлы в память это и есть извращение. Т.к. цена оперативной памяти на порядки выше цены памяти дисков. А экономия в несколько миллисекунд этого не стоит. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265839#msg-265839 From nginx-forum на forum.nginx.org Sat Apr 2 16:04:33 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 12:04:33 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <39452719.AxarS5UGgD@note> References: <39452719.AxarS5UGgD@note> Message-ID: Я вот тоже боюсь, что в переменную помещать большой объем данных вещь опасная с теоретической точки зрения. Так как я не знаю как внутри работает nginx. А именно скидывает ли он переменную на диск как только загрузил её или может скидывать порционно. Файл может весить до нескольких гигабайт и мне что то сыкатно. Решение вообще без перла\луа я предложил чуть выше (https://forum.nginx.org/read.php?21,265759,265836#msg-265836) Но я вижу в этом выше обозначенные риски в связи с моим не знанием архитектуры ngix'а Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265840#msg-265840 From nginx-forum на forum.nginx.org Sat Apr 2 16:52:58 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 12:52:58 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <3681831459590466@web29o.yandex.ru> References: <3681831459590466@web29o.yandex.ru> Message-ID: <4b81ee5792ee088d64670be62b493bf2.NginxMailingListRussian@forum.nginx.org> >Идеологически правильнее было бы сдлелать отдельный скрипт, выполняющий запросы к базе, и бросить на него proxy_pass Интересное решение. Возможно даже им воспользуюсь Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265842#msg-265842 From wangsamp на gmail.com Sat Apr 2 17:52:23 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Sat, 2 Apr 2016 20:52:23 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: <43d1d08aca8f8e500ef9b684fb17922b.NginxMailingListRussian@forum.nginx.org> References: <12920536.znXHT0EVQ0@note> <43d1d08aca8f8e500ef9b684fb17922b.NginxMailingListRussian@forum.nginx.org> Message-ID: Today Apr 2, 2016 at 11:58 tepkuh wrote: > Насчет технических ваших PS'ов: > >P.S. как вы думаете, почему файловые системы называются файловыми? А ещё, > как вы думаете, зачем они используют кеш в >оперативной памяти для часто > используемых файлов? > > В базах данных также используется кэш в памяти для часто используемых > запросов. И более того в БД это гибче настраивается чем на файловых > системах. Если вы беспокоитесь насчет скорости отдачи файла из БД или из > файловой системы, но спешу вам сообщить, что скорость отдачи контента между > файловой системы и БД почти не отличается (разница составляет миллисекунды и > это объективные данные от группы перфоманс тестирования) и основные затраты > идут на передачу самих данных по сети, а не на поиск самих данных. Если всё так прекрасно, то почему же вы пришли с вопросом о проксировании и кешировании? Тут впору искать плеер, который будет воспроизводить видео прямо из СУБД. -- WNGS-RIPE From basil на vpm.net.ua Sat Apr 2 18:11:44 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 21:11:44 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <12920536.znXHT0EVQ0@note> <43d1d08aca8f8e500ef9b684fb17922b.NginxMailingListRussian@forum.nginx.org> Message-ID: если без этого можно обойтись - то зачем это делать? Зачем файлы пихать в базу, чтобы их оттуда доставать? Они ведь не модифицируются в процессе отдачи бд нужна для поиска - если поиска нет, то смысла в этом никакого. У меня тоже есть проект , который называется: делали программеры, у админа не спрашивали. В итоге фотки в монге лежат - тоже очень весело, особенно с бекапами. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sat Apr 2 18:42:02 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 14:42:02 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <2581d43b207466aaabe19afbe0eb45df.NginxMailingListRussian@forum.nginx.org> >Если всё так прекрасно, то почему же вы пришли с вопросом о проксировании и кешировании? При равном железе БД сдыхает раньше ;) С сотню стримов еще держит примерно наравне с nginx'ом, а дальше базе уже плоховато становится :) Число одновременных коннектов у nginx на порядки лучше. Хотя если вдаваться в детали nginx'у то хорошо, что каналы не резиновые :) Nginx ведь тоже имеет свои пределы :) И точно так же потребляет ресурсы на поддержку коннекта с пользователем и unix-сокетом. Для БД коннект стоит дороже чем для ngix. Я понимаю конечно, что хранение файлов на файловой системе это самый крутой способ, но есть нюанс. Эти фронты(nginx) распределены географически (некое подобие CDN'а) т.е. по разным datacenter'ам => надо делать распределенную сетевую файловую систему, а куда там упрёмся пока не понятно. А так же файлами на файловой системе трудно управлять, их же сотни-тысяч этих видяшек и пользователей загружающих видяшки десятки тысяч. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265845#msg-265845 From basil на vpm.net.ua Sat Apr 2 18:52:47 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 21:52:47 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <2581d43b207466aaabe19afbe0eb45df.NginxMailingListRussian@forum.nginx.org> References: <2581d43b207466aaabe19afbe0eb45df.NginxMailingListRussian@forum.nginx.org> Message-ID: Это все отлично, но имхо путь - тупиковый. Как вы будете решать вопрос, если закончится под базой дисковое пространство? Что с бекапами будете решать? Что будет, если выйдет из строя сервер бд 2 апреля 2016 г., 21:42 пользователь tepkuh написал: > >Если всё так прекрасно, то почему же вы пришли с вопросом о проксировании > и > кешировании? > При равном железе БД сдыхает раньше ;) С сотню стримов еще держит примерно > наравне с nginx'ом, а дальше базе уже плоховато становится :) > Число одновременных коннектов у nginx на порядки лучше. Хотя если вдаваться > в детали nginx'у то хорошо, что каналы не резиновые :) Nginx ведь тоже > имеет свои пределы :) И точно так же потребляет ресурсы на поддержку > коннекта с пользователем и unix-сокетом. Для БД коннект стоит дороже чем > для > ngix. > > Я понимаю конечно, что хранение файлов на файловой системе это самый крутой > способ, но есть нюанс. Эти фронты(nginx) распределены географически (некое > подобие CDN'а) т.е. по разным datacenter'ам => надо делать распределенную > сетевую файловую систему, а куда там упрёмся пока не понятно. А так же > файлами на файловой системе трудно управлять, их же сотни-тысяч этих > видяшек > и пользователей загружающих видяшки десятки тысяч. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265845#msg-265845 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sat Apr 2 18:58:29 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 14:58:29 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Спрашивают админа у нас :) Я так же участвую в допилке :) Но тут штука в том что этих файлов сотни загружают в день. А nginx распределены географически. А делать распределенную FS тоже тот еще гемор. Лагнула сетка, FS упала, через секунду поднялась, а уже 10ок смотревших отвалилось :) > Зачем файлы пихать в базу, чтобы их оттуда доставать? - Распределение файлов по удаленным ngix осуществляется по запросу (пользователь спросил файл на ngix'е во Владивостоке файл туда в кэш попал из базы) т.е. экономия дисквого пространства - Управление большим числом файлов эффективнее т.е. убил пользователь видео-файл из системы, через какое то время он убился в кэше (время жизни кэша) на всех распределенных ngix. - Решается проблема с временным лагом сетки. Файловые системы при лагах сетки ведут себя гораздо хуже, чем драйвера к БД, которые на потерю коннекта отрегаруют просто лагом, а не ошибкой "файл не найден" Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265847#msg-265847 From basil на vpm.net.ua Sat Apr 2 19:00:49 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 22:00:49 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Та я ничего не имею против кеша - зачем файлы в базу совать-то? Или при лаге сетки коннект на базу не падает? 2 апреля 2016 г., 21:58 пользователь tepkuh написал: > Спрашивают админа у нас :) Я так же участвую в допилке :) Но тут штука в > том > что этих файлов сотни загружают в день. А nginx распределены географически. > А делать распределенную FS тоже тот еще гемор. Лагнула сетка, FS упала, > через секунду поднялась, а уже 10ок смотревших отвалилось :) > > > Зачем файлы пихать в базу, чтобы их оттуда доставать? > - Распределение файлов по удаленным ngix осуществляется по запросу > (пользователь спросил файл на ngix'е во Владивостоке файл туда в кэш попал > из базы) т.е. экономия дисквого пространства > - Управление большим числом файлов эффективнее т.е. убил пользователь > видео-файл из системы, через какое то время он убился в кэше (время жизни > кэша) на всех распределенных ngix. > - Решается проблема с временным лагом сетки. Файловые системы при лагах > сетки ведут себя гораздо хуже, чем драйвера к БД, которые на потерю > коннекта > отрегаруют просто лагом, а не ошибкой "файл не найден" > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265847#msg-265847 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sat Apr 2 19:04:25 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 15:04:25 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <3abf2aa9519deabbcd79b1f557187327.NginxMailingListRussian@forum.nginx.org> >Это все отлично, но имхо путь - тупиковый Пояснения будут? >Как вы будете решать вопрос, если закончится под базой дисковое пространство? Автомасштабирование диска + автомасштабирование тейблспейса БД. >Что с бекапами будете решать? Делать :) Точно так же как и бэкап файлов. Мухи отдельно (бэкап таблиц с бизнес данными по одному расписанию), котлеты отдельно (бэкап таблиц с файлам по другому расписанию). Точно так же как и делал бы с БД и файлами. >Что будет, если выйдет из строя сервер бд Чинить :) Какие тут варианты есть? В БД логика приложения. От этого есть страховка в виде бэкапа. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265849#msg-265849 From basil на vpm.net.ua Sat Apr 2 19:04:54 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 22:04:54 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Не надо ничего изобретать - зайдите на olx, посмотрите как они отдают картинки. Могу ошибаться, но у них скорее всего больше возможностей на изучение вопроса как отдавать такое. Когда будете размером с ютуб - тогда наймете тыщу программистов и напишите свою разспределенную бд для хранения фильмов. 2 апреля 2016 г., 21:58 пользователь tepkuh написал: > Спрашивают админа у нас :) Я так же участвую в допилке :) Но тут штука в > том > что этих файлов сотни загружают в день. А nginx распределены географически. > А делать распределенную FS тоже тот еще гемор. Лагнула сетка, FS упала, > через секунду поднялась, а уже 10ок смотревших отвалилось :) > > > Зачем файлы пихать в базу, чтобы их оттуда доставать? > - Распределение файлов по удаленным ngix осуществляется по запросу > (пользователь спросил файл на ngix'е во Владивостоке файл туда в кэш попал > из базы) т.е. экономия дисквого пространства > - Управление большим числом файлов эффективнее т.е. убил пользователь > видео-файл из системы, через какое то время он убился в кэше (время жизни > кэша) на всех распределенных ngix. > - Решается проблема с временным лагом сетки. Файловые системы при лагах > сетки ведут себя гораздо хуже, чем драйвера к БД, которые на потерю > коннекта > отрегаруют просто лагом, а не ошибкой "файл не найден" > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265847#msg-265847 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From basil на vpm.net.ua Sat Apr 2 19:09:59 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 22:09:59 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <3abf2aa9519deabbcd79b1f557187327.NginxMailingListRussian@forum.nginx.org> References: <3abf2aa9519deabbcd79b1f557187327.NginxMailingListRussian@forum.nginx.org> Message-ID: > > >Это все отлично, но имхо путь - тупиковый > Пояснения будут? > Не пояснения - вопросы. Пока нет процедур - это тупиковый путь. > >Как вы будете решать вопрос, если закончится под базой дисковое > пространство? > Автомасштабирование диска + автомасштабирование тейблспейса БД. > когда закончится физическая возможность добавления жестких дисков? > >Что с бекапами будете решать? > Делать :) Точно так же как и бэкап файлов. Мухи отдельно (бэкап таблиц с > бизнес данными по одному расписанию), котлеты отдельно (бэкап таблиц с > файлам по другому расписанию). Точно так же как и делал бы с БД и файлами. > Рассказать сколько времени запускается реплика с бд монго размером в 2 тб? Или сколько рсикном сливается файловая копия базы? А как сайт себя в это время чувствует? >Что будет, если выйдет из строя сервер бд > Чинить :) Какие тут варианты есть? В БД логика приложения. От этого есть > страховка в виде бэкапа. > Не будет у Вас бекапа с такими объемами. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sat Apr 2 19:13:46 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 15:13:46 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Падения случаются по разному. Точнее разная обработка ошибок. Вот смотрите, качаете вы файл(смотрите) с FS кто то фигак убил файл(пропала FS) ngix сразу кинет 404 ошибку. Мол файла нет.(я правда не пробовал, но думаю поведение будет таким ибо это логично сразу кидать 404 если файла нет, а не ждать nginx его до посинения) А дрова БД, будут долбится до посинения к БД. А у юзера просто будет лаааг. Причем файл скорее всего докачается и попадётдат в кэш даже если юзер бросил просмотр файла. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265852#msg-265852 From basil на vpm.net.ua Sat Apr 2 19:21:37 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 22:21:37 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Это тут все причем? Можно не удалять файл, пока его кто-то смотрит. Это вопрос логики построения приложения. Как Вы собираетесь делать банальные бекапы, с которых будете разворачиваться, если что? Написать можно чего угодно и схему можно реализовать какую угодно - поддерживать это потом как? Я вот админ - я со своей стороны смотрю на проект. БД нужна для поиска, а самая быстрая бд для хранения файлов - это файловая система. 2 апреля 2016 г., 22:13 пользователь tepkuh написал: > Падения случаются по разному. Точнее разная обработка ошибок. > Вот смотрите, качаете вы файл(смотрите) с FS кто то фигак убил файл(пропала > FS) ngix сразу кинет 404 ошибку. Мол файла нет.(я правда не пробовал, но > думаю поведение будет таким ибо это логично сразу кидать 404 если файла > нет, > а не ждать nginx его до посинения) > > А дрова БД, будут долбится до посинения к БД. А у юзера просто будет лаааг. > Причем файл скорее всего докачается и попадётдат в кэш даже если юзер > бросил > просмотр файла. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,265759,265852#msg-265852 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mva на mva.name Sat Apr 2 19:24:14 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sun, 03 Apr 2016 01:24:14 +0600 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <1476650.0PS6Kznn34@note> > Падения случаются по разному. Точнее разная обработка ошибок. > Вот смотрите, качаете вы файл(смотрите) с FS кто то фигак убил файл(пропала > FS) ngix сразу кинет 404 ошибку. Мол файла нет.(я правда не пробовал, но > думаю поведение будет таким ибо это логично сразу кидать 404 если файла нет, > а не ждать nginx его до посинения) > > А дрова БД, будут долбится до посинения к БД. А у юзера просто будет лаааг. > Причем файл скорее всего докачается и попадётдат в кэш даже если юзер бросил > просмотр файла. Подсказка: proxy_pass -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From basil на vpm.net.ua Sat Apr 2 19:26:42 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sat, 2 Apr 2016 22:26:42 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <1476650.0PS6Kznn34@note> References: <1476650.0PS6Kznn34@note> Message-ID: 2 апреля 2016 г., 22:24 пользователь Vadim A. Misbakh-Soloviov написал: > > Падения случаются по разному. Точнее разная обработка ошибок. > > Вот смотрите, качаете вы файл(смотрите) с FS кто то фигак убил > файл(пропала > > FS) ngix сразу кинет 404 ошибку. Мол файла нет.(я правда не пробовал, но > > думаю поведение будет таким ибо это логично сразу кидать 404 если файла > нет, > > а не ждать nginx его до посинения) > > > > А дрова БД, будут долбится до посинения к БД. А у юзера просто будет > лаааг. > > Причем файл скорее всего докачается и попадётдат в кэш даже если юзер > бросил > > просмотр файла. > Вспомнил - линух не убьет файл, пока к нему обращаются. Файл физически из директории удаляется, но клиент его дочитает ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Sat Apr 2 19:27:17 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 15:27:17 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <44413bd7b73af2509b43e672fb1402dc.NginxMailingListRussian@forum.nginx.org> >когда закончится физическая возможность добавления жестких дисков? А что с файлами такого случится не может? Или накладные расходы по хранения файлов в БД намного выше чем на FS? Я знаю что они есть, но если файл 100Мб, то накладные расходы дополнительно составят ну скажем +16-32кбайта. ИМХО капля в море. >Рассказать сколько времени запускается реплика с бд монго размером в 2 тб? Да, хорошее замечание. Попробую замерить. >А как сайт себя в это время чувствует? Обычно это делают на slave нодах. Или отцепляют одну из master нод если их несколько в кластере, потом делают бэкап, а потом опять вводят в кластер а он уже нагоняет основную базу автоматом. Это ИМХО типичная практика работы с большими БД. Приседаний много и да с файлами по проще. Если база из одной ноды, это дааа, боль и унижение :) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265855#msg-265855 From nginx-forum на forum.nginx.org Sat Apr 2 19:34:44 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 15:34:44 -0400 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в связи с сетевым лагом Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265857#msg-265857 From laa на laa.zp.ua Sat Apr 2 19:36:49 2016 From: laa на laa.zp.ua (Lystopad Aleksandr) Date: Sat, 2 Apr 2016 22:36:49 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <20160402193649.GZ47787@glavkom.ru> Hello, tepkuh! On Sat, Apr 02, 2016 at 03:34:44PM -0400 nginx-forum на forum.nginx.org wrote about "Re: reverse proxy + mysql + video": > Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в > связи с сетевым лагом Скажите, а база данных у вас развернута на чем? На ФС? -- Lystopad Aleksandr From nginx-forum на forum.nginx.org Sat Apr 2 19:43:45 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 15:43:45 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <20160402193649.GZ47787@glavkom.ru> References: <20160402193649.GZ47787@glavkom.ru> Message-ID: <32096e72481369d95ff1e111d6c930b2.NginxMailingListRussian@forum.nginx.org> Raw Disk Partitions. Это специализированная FS mysql которая снижает затраты поиска нужных блоков данных. И управление FS делает по сути сам mysql. ОСи везде centOS. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265859#msg-265859 From a.vasilishin на kpi.ua Sat Apr 2 20:52:13 2016 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Sat, 2 Apr 2016 23:52:13 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <9b2e91134366e127b304364d3d6490e9.NginxMailingListRussian@forum.nginx.org> References: <9b2e91134366e127b304364d3d6490e9.NginxMailingListRussian@forum.nginx.org> Message-ID: <570030FD.1020606@kpi.ua> 02.04.2016 12:20, tepkuh пишет: > Не понял вопроса. ;) База хранит видео файлы в формате blob (англ. Binary > Large Object — двоичный большой объект). > Это сервис, куда пользователи загружает видяшки. А другие пользователи их > смотрят ;) > Зачем видео хранить в базе? Почему его нельзя хранить на файловой системе в виде файла? From mva на mva.name Sat Apr 2 21:08:24 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sun, 03 Apr 2016 03:08:24 +0600 Subject: reverse proxy + mysql + video In-Reply-To: <570030FD.1020606@kpi.ua> References: <9b2e91134366e127b304364d3d6490e9.NginxMailingListRussian@forum.nginx.org> <570030FD.1020606@kpi.ua> Message-ID: <1607760.qibv0QAKkx@note> > Зачем видео хранить в базе? Почему его нельзя хранить на файловой > системе в виде файла? Как ОП уже говорил выше — потому что это "норм паттерн" :) // и мало кого из любителей подобных паттернов волнует, что RDB не предназначены для хранения файлов и BLOB'ы там на случае если "ну вообще никак иначе" и злоупотреблять этим не стоит. // впрочем, kv-базы тоже не предназначены для хранения файлов. И не очень понятно почему всё-таки ОП считает, что DFS — плохо, а единая точка отказа в виде MySQL — норм. // а так же почему, кстати, MySQL, а не, хотя бы, PostgreSQL, у которого хотя бы с репликацией получше (впрочем, как и с трекингом пожирания ресурсов) -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From vbart на nginx.com Sat Apr 2 21:41:56 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sun, 03 Apr 2016 00:41:56 +0300 Subject: =?UTF-8?B?UmU6INCS0L7Qv9GA0L7RgSDQv9GA0L4gaHR0cC8yINC4IGZhc3RjZ2k=?= In-Reply-To: References: Message-ID: <10000109.3CagAHmAa3@vbart-laptop> On Saturday 02 April 2016 18:30:51 Vladislav Shabanov wrote: > Всем добрый день. > > Имеем вот такой вот конфиг: > server { > listen 443 ssl http2; > server_name … > # дальше много всего про ssl_*** > > location / { > fastcgi_pass unix:/run/django-fcgi.sock; > fastcgi_param SERVER_PROTOCOL $server_protocol; > # ещё много других fastcgi_param > fastcgi_pass_header Authorization; > fastcgi_intercept_errors on; > } > …. > } > > По ощущениям, после включения http/2 обращения из одного браузера стали чаще обрабатываться последовательно. Раньше браузер открывал 6 сокетов и гонял в них страницы + ajax запросы параллельно, до fastcgi они доходили параллельно и исполнялись они тоже параллельно. А теперь несколько параллельно пришедших по http/2 запросов, по ощущениям, выполняются последовательно. По крайней мере в трассе fcgi демона, если сделать grep по сессии пользователя, я теперь вижу много строчек подряд с одним и тем же pid. > > Это так или я не прав? > Вполне может быть. Когда браузер открывал несколько соединений, то они могли попадать в разные рабочие процессы. В HTTP/2 все запросы приходят последовательно по одному соединению, соответственно обрабатываются одним и тем же рабочим процессом и если FastCGI демон отвечает достаточно быстро, то вполне можно наблюдать такую картину. -- Валентин Бартенев From vbart на nginx.com Sat Apr 2 22:11:41 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sun, 03 Apr 2016 01:11:41 +0300 Subject: =?UTF-8?B?UmU6IDEg0LDQv9GA0LXQu9GPINC4INGO0L3QuNC60L7QtCDQsiDQutC+0L3RhNC4?= =?UTF-8?B?0LPQsNGF?= In-Reply-To: <9420563.VG3WkYMkAJ@note> References: <2705020.5cBd2070Hp@note> <8690705.0NRWfNsEBb@vbart-laptop> <9420563.VG3WkYMkAJ@note> Message-ID: <8848894.UX94xaabVA@vbart-laptop> On Saturday 02 April 2016 19:17:19 Vadim A. Misbakh-Soloviov wrote: > > Нда... Судя по реакции в интернете, шутка не была до конца понята. > > Все примеры конфигов в статье - рабочие. > > Ну, значит то, как NgX перестал плеваться от не-ascii в директивах прошло мимо > меня (и остальных, кто не заметил). Я, честно, не помню когда я последний раз > пробовал юникод в директивах, но точно помню, как NgX при старте плевался от > такого раньше. > > // да, посыпаю голову пеплом, сейчас не попробовал, хотя собирался :) > > Ради интереса собрал самую старую версию, которую только смог собрать на своей системе без дополнительных танцев. % cat test.conf events {} http { upstream Яндекс😉 { server yandex.ru; } server { listen 8000; location / { proxy_pass http://Яндекс😉; proxy_set_header host yandex.ru; } } } % build/sbin/nginx -v nginx version: nginx/0.5.37 % build/sbin/nginx -c test.conf % curl -I localhost:8000 HTTP/1.1 302 Found Server: nginx/0.5.37 Date: Sat, 02 Apr 2016 22:08:01 GMT Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-cache,no-store,max-age=0,must-revalidate Location: http://www.yandex.ru Expires: Sat, 02 Apr 2016 22:07:22 GMT Last-Modified: Sat, 02 Apr 2016 22:07:22 GMT P3P: policyref="/w3c/p3p.xml", CP="NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI" Set-Cookie: yandexuid=7512205751459634842; Expires=Tue, 31-Mar-2026 22:07:22 GMT; Domain=.yandex.ru; Path=/ X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff -- Валентин Бартенев From nginx-forum на forum.nginx.org Sat Apr 2 23:44:02 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 19:44:02 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <570030FD.1020606@kpi.ua> References: <570030FD.1020606@kpi.ua> Message-ID: <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> Уже отвечал. Кратко вот основные моменты: https://forum.nginx.org/read.php?21,265759,265847#msg-265847 Сетевые файловые системы, так же имеют ряд минусов. Решение хранить в БД файлов является компромисом имеющим как свои плюсы так и свои минусы. Как впрочем всегда и везде так. НЕ использование сетевых файловых систем в распределенных географически nginx'ах ведёт к большим денежным затратам на дисковые подсистемы. Тут либо данные хранить в БД либо иметь доступ к данным через сетевую файловую систему удаленными географический nginx'ами Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265865#msg-265865 From nginx-forum на forum.nginx.org Sat Apr 2 23:59:57 2016 From: nginx-forum на forum.nginx.org (tepkuh) Date: Sat, 02 Apr 2016 19:59:57 -0400 Subject: reverse proxy + mysql + video In-Reply-To: <1607760.qibv0QAKkx@note> References: <1607760.qibv0QAKkx@note> Message-ID: <571c0d853effc2218ac9c73caed89446.NginxMailingListRussian@forum.nginx.org> ОП, привел ряд плюсов использования "нормального паттерна" в отличии от Вас где я ничего кроме эмоций от "CEO IT компании" не слышал. Так же ОП услышал ряд минусов без эмоций от коллег которые я не учел и которые требуется проверить. А так же ОП услышал ряд тех. предложений по решению технической задачи. Если на технический вопрос Вам нечего ответить то прошу не тратить моё время на чтения Ваших комментариев, а Вам не тратить время на их написания по причине их полной бессмысленности. И домыслы зачем архитекторы\разработчики БД сделали наличие blob'ов так же прошу оставить. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265759,265866#msg-265866 From basil на vpm.net.ua Sun Apr 3 05:31:22 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sun, 3 Apr 2016 08:31:22 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <44413bd7b73af2509b43e672fb1402dc.NginxMailingListRussian@forum.nginx.org> References: <44413bd7b73af2509b43e672fb1402dc.NginxMailingListRussian@forum.nginx.org> Message-ID: > > >Рассказать сколько времени запускается реплика с бд монго размером в 2 тб? > > Да, хорошее замечание. Попробую замерить. > А то что реплика базы с бинарными данными занимает в два раза больше места на диске ? не знаю как в мускуле - но в монге так. > >А как сайт себя в это время чувствует? > Обычно это делают на slave нодах. Или отцепляют одну из master нод если их > несколько в кластере, потом делают бэкап, а потом опять вводят в кластер а > он уже нагоняет основную базу автоматом. Это ИМХО типичная практика работы > с > большими БД. Приседаний много и да с файлами по проще. Если база из одной > ноды, это дааа, боль и унижение :) > Ну ок, часов за 8 реплика уже уйдет от мастера, когда реплика вернется что будет? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From basil на vpm.net.ua Sun Apr 3 05:31:59 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sun, 3 Apr 2016 08:31:59 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: 2 апреля 2016 г., 22:34 пользователь tepkuh написал: > Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в > связи с сетевым лагом > А что мешает отдавать тем же нгинксом? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From basil на vpm.net.ua Sun Apr 3 05:36:36 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Sun, 3 Apr 2016 08:36:36 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <571c0d853effc2218ac9c73caed89446.NginxMailingListRussian@forum.nginx.org> References: <1607760.qibv0QAKkx@note> <571c0d853effc2218ac9c73caed89446.NginxMailingListRussian@forum.nginx.org> Message-ID: 3 апреля 2016 г., 2:59 пользователь tepkuh написал: > ОП, привел ряд плюсов использования "нормального паттерна" в отличии от Вас > где я ничего кроме эмоций от "CEO IT компании" не слышал. > Так же ОП услышал ряд минусов без эмоций от коллег которые я не учел и > которые требуется проверить. А так же ОП услышал ряд тех. предложений по > решению технической задачи. > Ну и отлично - теперь еще парочку компромиссов и будет решение. За то потом никто не уволит Если на технический вопрос Вам нечего ответить то прошу не тратить моё время > на чтения Ваших комментариев, а Вам не тратить время на их написания по > причине их полной бессмысленности. И домыслы зачем архитекторы\разработчики > БД сделали наличие blob'ов так же прошу оставить. > Ну вот и порешали - зачем париться то. Че приходил ? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From a.vasilishin на kpi.ua Sun Apr 3 15:22:59 2016 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Sun, 3 Apr 2016 18:22:59 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> Message-ID: <57013553.5000301@kpi.ua> 03.04.2016 2:44, tepkuh пишет: > Уже отвечал. Кратко вот основные моменты: > https://forum.nginx.org/read.php?21,265759,265847#msg-265847 > Сетевые файловые системы, так же имеют ряд минусов. Решение хранить в БД > файлов является компромисом имеющим как свои плюсы так и свои минусы. Как > впрочем всегда и везде так. > НЕ использование сетевых файловых систем в распределенных географически > nginx'ах ведёт к большим денежным затратам на дисковые подсистемы. Тут либо > данные хранить в БД либо иметь доступ к данным через сетевую файловую > систему удаленными географический nginx'ами > Я конечно извиняюсь, но что-то мне подсказывает, что видео в базе будет заниматься места на дисках ничуть не меньше, то же видео в виде файла. И дисковые подсистемы тут будут абсолютно одинаковыми. From meganuke на meganuke.ru Mon Apr 4 21:33:56 2016 From: meganuke на meganuke.ru (Nikita Stupin) Date: Tue, 5 Apr 2016 00:33:56 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <57013553.5000301@kpi.ua> References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> Message-ID: <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> А можно нескромный вопрос? Архитектор всего этого решения еще не уволен? From onokonem на gmail.com Mon Apr 4 21:54:26 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 05 Apr 2016 00:54:26 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> Message-ID: <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> А можно нескромный вопрос? Архитектор всего этого решения еще не уволен? я вижу, это популярная точка зрения. Раз так - скажите мне, уважаемые увольнятели, чем отличается база данных от файловой системы. -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.vasilishin на kpi.ua Mon Apr 4 22:33:42 2016 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Tue, 5 Apr 2016 01:33:42 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> Message-ID: <5702EBC6.3020200@kpi.ua> 05.04.2016 0:54, Daniel Podolsky пишет: > > А можно нескромный вопрос? Архитектор всего этого решения еще не уволен? > > я вижу, это популярная точка зрения. > > Раз так - скажите мне, уважаемые увольнятели, чем отличается база данных > от файловой системы. > Тем, что она находится на файловой системе, тем самым добавляет оверхед? From onokonem на gmail.com Mon Apr 4 22:58:59 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 01:58:59 +0300 Subject: reverse proxy + mysql + video In-Reply-To: <5702EBC6.3020200@kpi.ua> References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Тем, что она находится на файловой системе, тем самым добавляет оверхед? безграмотный ответ номер раз, извините 1. совсем не все базы находятся на файловых системах 2. никакого значительного оверхеда нахождение на фс не добавляет ни для каких операций. а мы про различия, все же. From wangsamp на gmail.com Mon Apr 4 23:29:54 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 5 Apr 2016 02:29:54 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Today Apr 5, 2016 at 01:58 Daniel Podolsky wrote: > > Тем, что она находится на файловой системе, тем самым добавляет оверхед? > безграмотный ответ номер раз, извините > > 1. совсем не все базы находятся на файловых системах > 2. никакого значительного оверхеда нахождение на фс не добавляет ни > для каких операций. а мы про различия, все же. И для отдачи небольшого byte range от большого blob-а? Даже сразу клиенту по HTTP используя sendfile? И любое другое ПО к такому blob-у самостоятельно на раз-два произвольный доступ получит? -- WNGS-RIPE From onokonem на gmail.com Mon Apr 4 23:50:22 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 02:50:22 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > И для отдачи небольшого byte range от большого blob-а? большая блоба не нужна > Даже сразу клиенту по HTTP используя sendfile? sendfile не нужен > И любое другое ПО к такому blob-у самостоятельно на раз-два произвольный > доступ получит? произвольный доступ не нужен Еще раз - чем отличаются ФС и БД? From wangsamp на gmail.com Tue Apr 5 00:55:31 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 5 Apr 2016 03:55:31 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Today Apr 5, 2016 at 02:50 Daniel Podolsky wrote: > > И для отдачи небольшого byte range от большого blob-а? > большая блоба не нужна Расскажите это топикстартеру. > > Даже сразу клиенту по HTTP используя sendfile? > sendfile не нужен Расскажите это топикстартеру. > > И любое другое ПО к такому blob-у самостоятельно на раз-два произвольный > > доступ получит? > произвольный доступ не нужен Расскажите это топикстартеру. > Еще раз - чем отличаются ФС и БД? Возможностью делать вышеперечисленное. -- WNGS-RIPE From onokonem на gmail.com Tue Apr 5 06:39:15 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 09:39:15 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Возможностью делать вышеперечисленное. Ну, конечно... совсем не все файловые системы имеют "возможность делать вышеперечисленное". NFS, к примеру. или SquashFS... From alex.hha на gmail.com Tue Apr 5 07:32:42 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 5 Apr 2016 10:32:42 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Еще раз - чем отличаются ФС и БД? может я что то пропустил, но какой смысл хранить данные в реляционной БД, если вы не будете использовать при этом SQL? > совсем не все базы находятся на файловых системах а где находятся базы mysql? 2016-04-05 9:39 GMT+03:00 Daniel Podolsky : > > Возможностью делать вышеперечисленное. > Ну, конечно... > > совсем не все файловые системы имеют "возможность делать > вышеперечисленное". NFS, к примеру. или SquashFS... > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From marck на rinet.ru Tue Apr 5 08:43:28 2016 From: marck на rinet.ru (Dmitry Morozovsky) Date: Tue, 5 Apr 2016 11:43:28 +0300 (MSK) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: On Tue, 5 Apr 2016, Alex Domoradov wrote: > > Еще раз - чем отличаются ФС и БД? > может я что то пропустил, но какой смысл хранить данные в реляционной БД, > если вы не будете использовать при этом SQL? > > > совсем не все базы находятся на файловых системах > а где находятся базы mysql? вот тут надо всё-таки сделать оговорку: OP вроде как раз писал, что в его случае MySQL on a raw disk partition -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck на FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru *** ------------------------------------------------------------------------ From onokonem на gmail.com Tue Apr 5 08:50:03 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 11:50:03 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > может я что то пропустил, но какой смысл хранить данные в реляционной БД, > если вы не будете использовать при этом SQL? ну какой-то язык/api использовать придется. а ответ на вопрос "какой смысл" прямо вытекает из ответ на "в чем разница" From livingdeadzerg на yandex.ru Tue Apr 5 09:14:46 2016 From: livingdeadzerg на yandex.ru (navern) Date: Tue, 05 Apr 2016 12:14:46 +0300 Subject: =?UTF-8?B?cmV1c2Vwb3J0INCyINC60L7QvdGE0LjQs9Cw0YUgbmdpbng=?= Message-ID: <57038206.9030203@yandex.ru> Добрый день, Недавно появилась возможно указывать reuseport и это очень удобная штука, которой мы уже пользуемся. Правда есть проблема: Для одной пары IP:PORT можно указывать эту опцию только один раз, что очень сильно усложняет конфигурацию, особенно автоматическую. Для ssl и прочих опций такой проблемы нет. В общем это не очень удобно. Из того, что пришло в голову: убрать проверку в конфиге на несколько reuseport для одной пары IP:PORT. Кто-то уже подобное что-то делал? Порекомендует куда посмотреть и какие подводные камни могут быть? Пока еще проблема на стадии осмысления и возможно здравые идеи помогут избежать долгого втыкания в исходники:) Заранее спасибо. From wangsamp на gmail.com Tue Apr 5 09:16:13 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 5 Apr 2016 12:16:13 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Today Apr 5, 2016 at 09:39 Daniel Podolsky wrote: > > Возможностью делать вышеперечисленное. > Ну, конечно... > > совсем не все файловые системы имеют "возможность делать > вышеперечисленное". NFS, к примеру. или SquashFS... Вы так и не рассказали топикстартеру почему это всё не нужно и как он может "дать возможность перемотки видео в плеере" прямо из базы. -- WNGS-RIPE From onokonem на gmail.com Tue Apr 5 09:19:08 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 12:19:08 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Вы так и не рассказали топикстартеру почему это всё не нужно и как он > может "дать возможность перемотки видео в плеере" прямо из базы. с одной стороны - топикстартер меня не просил ни о чем. и проблемы его мне не интересны, а интересно мне повоспитывать увольнятелей. с другой - я правильно понял, что ответа на вопрос "в чем разница" вы не знаете? печально... с третьей From onokonem на gmail.com Tue Apr 5 09:20:06 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 12:20:06 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Вы так и не рассказали топикстартеру почему это всё не нужно и как он > может "дать возможность перемотки видео в плеере" прямо из базы. с одной стороны - топикстартер меня не просил ни о чем. и проблемы его мне не интересны, а интересно мне повоспитывать увольнятелей. с другой - я правильно понял, что ответа на вопрос "в чем разница" вы не знаете? печально... с третьей - не надо хранить видео одним куском, надо хранить его чанками, и проблема перемотки будет решаться тривиальным запросом. From ewsiukov на gmail.com Tue Apr 5 10:21:43 2016 From: ewsiukov на gmail.com (Oleg Ewsiukov) Date: Tue, 5 Apr 2016 12:21:43 +0200 Subject: =?UTF-8?B?0JTQuNGA0LXQutGC0LjQstGLIHJldXNlcG9ydCBkZWZlcnJlZCBmYXN0b3BlbiA=?= =?UTF-8?B?0Lgg0L/RgNC+0YfQtdC1Li4u?= Message-ID: Я небольшой специалист, подскажите что достаточно а что лишнее... :) ядро Linux version 3.10.0-327.10.1.el7.x86_64 listen reuseport deferred fastopen=256 http2 ssl; *С уважением, * *Евсюков Олег* -------------------------------------------------------------- ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kpoxa на kpoxa.net Tue Apr 5 10:39:57 2016 From: kpoxa на kpoxa.net (kpoxa) Date: Tue, 05 Apr 2016 10:39:57 +0000 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Отдача с базы это ос читает с диска в буфер, буфер копируется в процесс mysql, mysql отправляет это в сеть, т.е. копирование в ОС, потом в сеть, потом в скрипт, который далее по сети отдает данные в nginx, т.е. копирование в буфер, в сетевой стэк, потом опять в буфер, потом в nginx который отдаёт данные по сети клиенту ( не буду расписывать). Отдача с диска это ос читает с диска в буфер и отдает по сети клиенту, т.к. используется sendfile и копирования в память nginx не происходит. по моему профит очевиден. с учетом того, что видео это не мелкие картинки, то оверхед на чтение файловой системы намного меньше в % соотношении к операциям чтения данных. вт, 5 апр. 2016 г. в 11:50, Daniel Podolsky : > > может я что то пропустил, но какой смысл хранить данные в реляционной БД, > > если вы не будете использовать при этом SQL? > ну какой-то язык/api использовать придется. > > а ответ на вопрос "какой смысл" прямо вытекает из ответ на "в чем разница" > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From onokonem на gmail.com Tue Apr 5 11:20:50 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 14:20:50 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Отдача с базы это > Отдача с диска это ну это же только малая часть ответа. > по моему профит очевиден. а недостатки - очевидны? From wangsamp на gmail.com Tue Apr 5 11:28:49 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 5 Apr 2016 14:28:49 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Today Apr 5, 2016 at 12:20 Daniel Podolsky wrote: > > Вы так и не рассказали топикстартеру почему это всё не нужно и как он > > может "дать возможность перемотки видео в плеере" прямо из базы. > с одной стороны - топикстартер меня не просил ни о чем. и проблемы его > мне не интересны, а интересно мне повоспитывать увольнятелей. > > с другой - я правильно понял, что ответа на вопрос "в чем разница" вы > не знаете? печально... Я понимаю в чем "подвох" вопроса - ФС тоже можно считать БД. > с третьей - не надо хранить видео одним куском, надо хранить его > чанками, и проблема перемотки будет решаться тривиальным запросом. А непрерывной отдачи - усугубляться. -- WNGS-RIPE From onokonem на gmail.com Tue Apr 5 12:11:02 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 15:11:02 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Я понимаю в чем "подвох" вопроса - ФС тоже можно считать БД. ну только если с большой натяжкой. разница есть, она существенна, но, похоже, никто не дает себе труда задуматься - в чем она :( > А непрерывной отдачи - усугубляться. с чего бы? From mdounin на mdounin.ru Tue Apr 5 13:51:23 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Apr 2016 16:51:23 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57038206.9030203@yandex.ru> References: <57038206.9030203@yandex.ru> Message-ID: <20160405135123.GR36620@mdounin.ru> Hello! On Tue, Apr 05, 2016 at 12:14:46PM +0300, navern wrote: > Добрый день, > > Недавно появилась возможно указывать reuseport и это очень удобная штука, > которой мы уже пользуемся. > > Правда есть проблема: > Для одной пары IP:PORT можно указывать эту опцию только один раз, что очень > сильно усложняет конфигурацию, особенно автоматическую. Для ssl и прочих > опций такой проблемы нет. > > В общем это не очень удобно. > > Из того, что пришло в голову: убрать проверку в конфиге на несколько > reuseport для одной пары IP:PORT. > > Кто-то уже подобное что-то делал? Порекомендует куда посмотреть и какие > подводные камни могут быть? Пока еще проблема на стадии осмысления и > возможно здравые идеи помогут избежать долгого втыкания в исходники:) > Заранее спасибо. Подводные камни очень простые: сокет один, поэтому его настройки обязаны совпадать в разных виртуальных серверах. Соответственно нужно либо разрешать указывать опции сокета только в одном месте, либо проверять, что они таки совпадают. Если же просто давать пользователям указывать что попало - они начинают указывать разные настройки в разных блоках server{} и удивляться, почему они таки не оказываются разными. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Tue Apr 5 15:11:37 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Apr 2016 18:11:37 +0300 Subject: nginx-1.9.14 Message-ID: <20160405151137.GW36620@mdounin.ru> Изменения в nginx 1.9.14 05.04.2016 *) Добавление: совместимость с OpenSSL 1.1.0. *) Добавление: директивы proxy_request_buffering, fastcgi_request_buffering, scgi_request_buffering и uwsgi_request_buffering теперь работают при использовании HTTP/2. *) Исправление: при использовании HTTP/2 в логах могли появляться сообщения "zero size buf in output". *) Исправление: при использовании HTTP/2 директива client_max_body_size могла работать неверно. *) Исправление: незначительных ошибок логгирования. -- Maxim Dounin http://nginx.org/ From mva на mva.name Tue Apr 5 15:30:17 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 05 Apr 2016 21:30:17 +0600 Subject: =?UTF-8?B?UmU6INCU0LjRgNC10LrRgtC40LLRiyByZXVzZXBvcnQgZGVmZXJyZWQgZmFzdG9w?= =?UTF-8?B?ZW4g0Lgg0L/RgNC+0YfQtdC1Li4u?= In-Reply-To: References: Message-ID: <2043919.QqUKR5OLdi@note> > Я небольшой специалист, подскажите что достаточно а что лишнее... :) > ядро Linux version 3.10.0-327.10.1.el7.x86_64 > > listen reuseport deferred fastopen=256 http2 ssl; Ядро^WЗависит от того для чего именно. Для разных задач разная конфигурация. -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From chipitsine на gmail.com Tue Apr 5 19:12:23 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 6 Apr 2016 00:12:23 +0500 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57038206.9030203@yandex.ru> References: <57038206.9030203@yandex.ru> Message-ID: помечайте одну пару IP:PORT как default и на нее вешайте подобные опции. таким же свойством обладает еще accept_filter с другой стороны, http2, например, можно навешать на произвольное количество пар IP:PORT 5 апреля 2016 г., 14:14 пользователь navern написал: > Добрый день, > > Недавно появилась возможно указывать reuseport и это очень удобная штука, > которой мы уже пользуемся. > > Правда есть проблема: > Для одной пары IP:PORT можно указывать эту опцию только один раз, что > очень сильно усложняет конфигурацию, особенно автоматическую. Для ssl и > прочих опций такой проблемы нет. > > В общем это не очень удобно. > > Из того, что пришло в голову: убрать проверку в конфиге на несколько > reuseport для одной пары IP:PORT. > > Кто-то уже подобное что-то делал? Порекомендует куда посмотреть и какие > подводные камни могут быть? Пока еще проблема на стадии осмысления и > возможно здравые идеи помогут избежать долгого втыкания в исходники:) > Заранее спасибо. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From wangsamp на gmail.com Tue Apr 5 20:23:28 2016 From: wangsamp на gmail.com (Oleksandr V. Typlyns'kyi) Date: Tue, 5 Apr 2016 23:23:28 +0300 (EEST) Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: Today Apr 5, 2016 at 15:11 Daniel Podolsky wrote: > > Я понимаю в чем "подвох" вопроса - ФС тоже можно считать БД. > ну только если с большой натяжкой. Отчего же? Данные есть? Их структурировано сохранять и получать можно? Индексы директорий, у некоторых даже журнал, контрольные суммы, транзакции-снэпшоты. Сам себя перемудрил? > разница есть, она существенна, но, похоже, никто не дает себе труда > задуматься - в чем она :( Я уже писал в чем разница для отдачи больших blob-ов. > > А непрерывной отдачи - усугубляться. > с чего бы? Random read -- WNGS-RIPE From onokonem на gmail.com Tue Apr 5 20:39:37 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 5 Apr 2016 23:39:37 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: > Отчего же? > Данные есть? Их структурировано сохранять и получать можно? > Индексы директорий, у некоторых даже журнал, контрольные суммы, транзакции-снэпшоты. Ну а чего нет? никто же не складывает файлы в sqlite, правда? почему? > Сам себя перемудрил? батхерт - это грех (с) From jd на jdwuzhere.ru Tue Apr 5 21:44:11 2016 From: jd на jdwuzhere.ru (Vladimir Sopot) Date: Wed, 6 Apr 2016 00:44:11 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: <570030FD.1020606@kpi.ua> <22fb41782160fae6f3f4dfd908cc9f65.NginxMailingListRussian@forum.nginx.org> <57013553.5000301@kpi.ua> <51128091-58E6-43B9-94D9-4156060CF613@meganuke.ru> <1459806867430-682c7b0e-be74ad80-408e371e@gmail.com> <5702EBC6.3020200@kpi.ua> Message-ID: <96923133-8A9A-4CF9-A1AA-B6964AE44047@jdwuzhere.ru> Дяденьки, спасибо за почти неделю безудержного веселья, но попкорн заканчивается :) > On 05 Apr 2016, at 23:39, Daniel Podolsky wrote: > >> Отчего же? >> Данные есть? Их структурировано сохранять и получать можно? >> Индексы директорий, у некоторых даже журнал, контрольные суммы, транзакции-снэпшоты. > Ну а чего нет? никто же не складывает файлы в sqlite, правда? почему? > >> Сам себя перемудрил? > батхерт - это грех (с) > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From a.vasilishin на kpi.ua Wed Apr 6 09:15:42 2016 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Wed, 6 Apr 2016 12:15:42 +0300 Subject: reverse proxy + mysql + video In-Reply-To: References: Message-ID: <5704D3BE.3080203@kpi.ua> 02.04.2016 22:34, tepkuh пишет: > Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в > связи с сетевым лагом > А зачем вообще использовать сетевые ФС? From kpoxa на kpoxa.net Wed Apr 6 10:10:54 2016 From: kpoxa на kpoxa.net (kpoxa) Date: Wed, 06 Apr 2016 10:10:54 +0000 Subject: reverse proxy + mysql + video In-Reply-To: <5704D3BE.3080203@kpi.ua> References: <5704D3BE.3080203@kpi.ua> Message-ID: В целом оффтопик, вопрос не по nginx, давайте закругляться. ср, 6 апр. 2016 г. в 12:15, Андрей Василишин : > 02.04.2016 22:34, tepkuh пишет: > > Под "убиванием файла" имелось ввиду пропадание сетевой файловой системы в > > связи с сетевым лагом > > > > А зачем вообще использовать сетевые ФС? > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Thu Apr 7 12:54:37 2016 From: nginx-forum на forum.nginx.org (dmitrz) Date: Thu, 07 Apr 2016 08:54:37 -0400 Subject: =?UTF-8?B?0J7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0Log0LrQvtC90YQ=?= =?UTF-8?B?0LjQs9GDINC4INC60LvRjtGHIC1w?= Message-ID: <949b8595c65e523a31eb4b3862101e59.NginxMailingListRussian@forum.nginx.org> cat nginx.conf events { worker_connections 8196; multi_accept on; } http { include *.conf; } # Запускаю /etc/nginx # nginx 2016/04/07 12:49:38 [emerg] 69#69: "worker_processes" directive is not allowed here in /etc/nginx/nginx.conf:1 nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/nginx.conf:1 Если убрать include все работает. ---------------------- Вторая проблема: cat nginx.conf worker_processes 1; pid /var/run/nginx.pid; worker_rlimit_nofile 40000; events { worker_connections 8196; multi_accept on; } http { include default.conf; } # Запускаю /etc/nginx # nginx -p /webdav/ 2016/04/07 12:51:18 [emerg] 72#72: open() "/etc/nginx/default.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:11 nginx: [emerg] open() "/etc/nginx/default.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:11 я же явно указал в ключе -p каким должен быть корень для относительных путей, в include прописан относительный, следовательно путь должен быть /webdav/default.conf ------------ Мне необходимо менять путь к конфигу на этапе запуска через ключи в данном случае через '-p', каждый конфиг в своей папке, слить все конфиги в одну папку не могу так как они противоречат друг другу если попадают под маску *.conf Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265983,265983#msg-265983 From nginx-forum на forum.nginx.org Thu Apr 7 12:55:53 2016 From: nginx-forum на forum.nginx.org (dmitrz) Date: Thu, 07 Apr 2016 08:55:53 -0400 Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3Ri9C5INC/0YPRgtGMINC6INC60L4=?= =?UTF-8?B?0L3RhNC40LPRgyDQuCDQutC70Y7RhyAtcA==?= In-Reply-To: <949b8595c65e523a31eb4b3862101e59.NginxMailingListRussian@forum.nginx.org> References: <949b8595c65e523a31eb4b3862101e59.NginxMailingListRussian@forum.nginx.org> Message-ID: <798dc1ccd38714907bdbc08d3e3ebc27.NginxMailingListRussian@forum.nginx.org> в первом конфиге ошибка, не хватает в начале пару строк он выглядит так же и второй конфиг Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265983,265984#msg-265984 From livingdeadzerg на yandex.ru Thu Apr 7 13:41:06 2016 From: livingdeadzerg на yandex.ru (navern) Date: Thu, 07 Apr 2016 16:41:06 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: References: <57038206.9030203@yandex.ru> Message-ID: <57066372.2060509@yandex.ru> Добрый день, > Подводные камни очень простые: сокет один, поэтому его настройки > обязаны совпадать в разных виртуальных серверах. Соответственно > нужно либо разрешать указывать опции сокета только в одном месте, > либо проверять, что они таки совпадают. Если же просто давать > пользователям указывать что попало - они начинают указывать разные > настройки в разных блоках server{} и удивляться, почему они таки > не оказываются разными. Ну в нашем случае нам как раз подходит указать везде reuseport явно, чтобы он работал всегда. Указывать только в одном месте очень неудобно для автоматического конфигурирования. > помечайте одну пару IP:PORT как default и на нее вешайте подобные опции. > таким же свойством обладает еще accept_filter Это не очень как раз удобно, потому что проще накатывать конфиг по шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока меньше). Спасибо, Максим, попробую тогда поковыряться в исходниках, задача выглядит не супер сложной. Как что-то получится, отпишусь. On 05.04.2016 22:12, Илья Шипицин wrote: > помечайте одну пару IP:PORT как default и на нее вешайте подобные опции. > таким же свойством обладает еще accept_filter > > с другой стороны, http2, например, можно навешать на произвольное > количество пар IP:PORT > > 5 апреля 2016 г., 14:14 пользователь navern > написал: > > Добрый день, > > Недавно появилась возможно указывать reuseport и это очень удобная > штука, которой мы уже пользуемся. > > Правда есть проблема: > Для одной пары IP:PORT можно указывать эту опцию только один раз, > что очень сильно усложняет конфигурацию, особенно автоматическую. > Для ssl и прочих опций такой проблемы нет. > > В общем это не очень удобно. > > Из того, что пришло в голову: убрать проверку в конфиге на > несколько reuseport для одной пары IP:PORT. > > Кто-то уже подобное что-то делал? Порекомендует куда посмотреть и > какие подводные камни могут быть? Пока еще проблема на стадии > осмысления и возможно здравые идеи помогут избежать долгого > втыкания в исходники:) Заранее спасибо. > > _______________________________________________ > 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 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alexandr.porunov на gmail.com Thu Apr 7 14:51:04 2016 From: alexandr.porunov на gmail.com (Alexandr Porunov) Date: Thu, 7 Apr 2016 17:51:04 +0300 Subject: =?UTF-8?B?0JvRg9GH0YjQtSDQu9C4INCx0YPQtNC10YIg0L/RgNC+0LjQt9Cy0L7QtNC40YI=?= =?UTF-8?B?0LXQu9GM0L3QvtGB0YLRjCDQtdGB0LvQuCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg?= =?UTF-8?B?0LHQvtC70YzRiNC1INGN0LrQt9C10LzQv9C70Y/RgNC+0LIgTkdJTlg/?= Message-ID: Здравствуйте, Я хотел бы узнать как работает NGINX на сервере с 16ю ядрами. Лучше его устанавливать в чистом виде на сервер или же на сервере создать 16 виртуальных машин и на каждой виртуальной машине запустить по экземпляру NGINX? С Уважением, Александр ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Thu Apr 7 15:10:54 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 7 Apr 2016 18:10:54 +0300 Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3Ri9C5INC/0YPRgtGMINC6INC60L4=?= =?UTF-8?B?0L3RhNC40LPRgyDQuCDQutC70Y7RhyAtcA==?= In-Reply-To: <949b8595c65e523a31eb4b3862101e59.NginxMailingListRussian@forum.nginx.org> References: <949b8595c65e523a31eb4b3862101e59.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160407151054.GH36620@mdounin.ru> Hello! On Thu, Apr 07, 2016 at 08:54:37AM -0400, dmitrz wrote: > cat nginx.conf > > events { > worker_connections 8196; > multi_accept on; > } > > http { > include *.conf; > } > > # Запускаю > /etc/nginx # nginx > 2016/04/07 12:49:38 [emerg] 69#69: "worker_processes" directive is not > allowed here in /etc/nginx/nginx.conf:1 > nginx: [emerg] "worker_processes" directive is not allowed here in > /etc/nginx/nginx.conf:1 > > Если убрать include все работает. У вас nginx.conf включает nginx.conf. Было бы странно, если бы так работало. > ---------------------- > Вторая проблема: > > cat nginx.conf > worker_processes 1; > pid /var/run/nginx.pid; > worker_rlimit_nofile 40000; > > events { > worker_connections 8196; > multi_accept on; > } > > http { > include default.conf; > } > > # Запускаю > /etc/nginx # nginx -p /webdav/ > 2016/04/07 12:51:18 [emerg] 72#72: open() "/etc/nginx/default.conf" failed > (2: No such file or directory) in /etc/nginx/nginx.conf:11 > nginx: [emerg] open() "/etc/nginx/default.conf" failed (2: No such file or > directory) in /etc/nginx/nginx.conf:11 > > я же явно указал в ключе -p каким должен быть корень для относительных > путей, в include прописан относительный, > следовательно путь должен быть /webdav/default.conf Пути к конфигурационным файлам строятся от основного конфигурационного файла nginx'а. Если nginx собран с указанием абсолютного пути к конфигурационному файлу (--conf-path), то при переопределении префикса он не изменится, nginx будет использовать его, и соответсвенно include-файлы тоже будут включаться относительно него. > Мне необходимо менять путь к конфигу на этапе запуска через ключи в данном > случае через '-p', каждый конфиг в своей папке, слить все конфиги в одну > папку не могу так как они противоречат друг другу если попадают под маску > *.conf Используйте параметр -c для указание нужного конфигурационного файла. Подробнее тут: http://nginx.org/en/docs/switches.html -- Maxim Dounin http://nginx.org/ From mva на mva.name Thu Apr 7 19:10:28 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 08 Apr 2016 01:10:28 +0600 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57066372.2060509@yandex.ru> References: <57038206.9030203@yandex.ru> <57066372.2060509@yandex.ru> Message-ID: <1989223.QC8uVd8geS@note> > Ну в нашем случае нам как раз подходит указать везде reuseport явно, > чтобы он работал всегда. Указывать только в одном месте очень неудобно > для автоматического конфигурирования. Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в listen. (пути от балды) > Это не очень как раз удобно, потому что проще накатывать конфиг по > шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем > перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и > есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока > меньше). 1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже только в дефолтном держу. 2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет проверять лишь его наличие. 3) а чем, кстати, вам не подходит listen * и [::]? -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From mva на mva.name Thu Apr 7 19:11:58 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 08 Apr 2016 01:11:58 +0600 Subject: =?UTF-8?B?UmU6INCb0YPRh9GI0LUg0LvQuCDQsdGD0LTQtdGCINC/0YDQvtC40LfQstC+0LQ=?= =?UTF-8?B?0LjRgtC10LvRjNC90L7RgdGC0Ywg0LXRgdC70Lgg0LfQsNC/0YPRgdGC0Lg=?= =?UTF-8?B?0YLRjCDQsdC+0LvRjNGI0LUg0Y3QutC30LXQvNC/0LvRj9GA0L7QsiBOR0lO?= =?UTF-8?B?WD8=?= In-Reply-To: References: Message-ID: <5458799.clcqusFmvN@note> В письме от четверг, 7 апреля 2016 г. 17:51:04 NOVT пользователь Alexandr Porunov написал: > Здравствуйте, > > Я хотел бы узнать как работает NGINX на сервере с 16ю ядрами. Лучше его > устанавливать в чистом виде на сервер или же на сервере создать 16 > виртуальных машин и на каждой виртуальной машине запустить по экземпляру > NGINX? > > С Уважением, Александр сферически в вакууме - лучше "наживую" один с нужным к-вом воркеров, чем 16 полных копий. Но... Зависит от задач. -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From annulen на yandex.ru Thu Apr 7 19:14:29 2016 From: annulen на yandex.ru (Konstantin Tokarev) Date: Thu, 07 Apr 2016 22:14:29 +0300 Subject: =?UTF-8?B?UmU6INCb0YPRh9GI0LUg0LvQuCDQsdGD0LTQtdGCINC/0YDQvtC40LfQstC+0LQ=?= =?UTF-8?B?0LjRgtC10LvRjNC90L7RgdGC0Ywg0LXRgdC70Lgg0LfQsNC/0YPRgdGC0Lg=?= =?UTF-8?B?0YLRjCDQsdC+0LvRjNGI0LUg0Y3QutC30LXQvNC/0LvRj9GA0L7QsiBOR0lO?= =?UTF-8?B?WD8=?= In-Reply-To: <5458799.clcqusFmvN@note> References: <5458799.clcqusFmvN@note> Message-ID: <692621460056469@web3j.yandex.ru> 07.04.2016, 22:12, "Vadim A. Misbakh-Soloviov" : > В письме от четверг, 7 апреля 2016 г. 17:51:04 NOVT пользователь Alexandr > Porunov написал: >>  Здравствуйте, >> >>  Я хотел бы узнать как работает NGINX на сервере с 16ю ядрами. Лучше его >>  устанавливать в чистом виде на сервер или же на сервере создать 16 >>  виртуальных машин и на каждой виртуальной машине запустить по экземпляру >>  NGINX? >> >>  С Уважением, Александр > > сферически в вакууме - лучше "наживую" один с нужным к-вом воркеров, чем 16 > полных копий. Еще есть промежуточные варианты: 1) запустить 16 независимых мастер-процессов в общей системе 2) создать 16 чрутов и в каждом запустить nginx -- Regards, Konstantin From alexandr.porunov на gmail.com Thu Apr 7 20:56:05 2016 From: alexandr.porunov на gmail.com (Alexandr Porunov) Date: Thu, 7 Apr 2016 23:56:05 +0300 Subject: =?UTF-8?B?UmU6INCb0YPRh9GI0LUg0LvQuCDQsdGD0LTQtdGCINC/0YDQvtC40LfQstC+0LQ=?= =?UTF-8?B?0LjRgtC10LvRjNC90L7RgdGC0Ywg0LXRgdC70Lgg0LfQsNC/0YPRgdGC0Lg=?= =?UTF-8?B?0YLRjCDQsdC+0LvRjNGI0LUg0Y3QutC30LXQvNC/0LvRj9GA0L7QsiBOR0lO?= =?UTF-8?B?WD8=?= In-Reply-To: <692621460056469@web3j.yandex.ru> References: <5458799.clcqusFmvN@note> <692621460056469@web3j.yandex.ru> Message-ID: Большое спасибо за помощь. Думаю что в моём случае "worker_processes auto" будет лучшим решением С Уважением, Александр 2016-04-07 22:14 GMT+03:00 Konstantin Tokarev : > > > 07.04.2016, 22:12, "Vadim A. Misbakh-Soloviov" : > > В письме от четверг, 7 апреля 2016 г. 17:51:04 NOVT пользователь Alexandr > > Porunov написал: > >> Здравствуйте, > >> > >> Я хотел бы узнать как работает NGINX на сервере с 16ю ядрами. Лучше его > >> устанавливать в чистом виде на сервер или же на сервере создать 16 > >> виртуальных машин и на каждой виртуальной машине запустить по > экземпляру > >> NGINX? > >> > >> С Уважением, Александр > > > > сферически в вакууме - лучше "наживую" один с нужным к-вом воркеров, чем > 16 > > полных копий. > > Еще есть промежуточные варианты: > > 1) запустить 16 независимых мастер-процессов в общей системе > 2) создать 16 чрутов и в каждом запустить nginx > > -- > Regards, > Konstantin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Apr 8 07:49:09 2016 From: nginx-forum на forum.nginx.org (bagas) Date: Fri, 08 Apr 2016 03:49:09 -0400 Subject: =?UTF-8?B?bmdpbngtMS44LjAg0YPQtNCw0LvQtdC90LjQtQ==?= Message-ID: Добрый день. Я в замешательстве. Как мне удалить собранный nginx из исходников. Я хочу поставить nginx из портов. # uname -rms FreeBSD 10.2-RELEASE-p14 amd64 Перешел в директорию с исходниками /usr/sources/nginx-1.8.0 root на 0FR:/usr/sources/nginx-1.8.0 # make uninstall make: don't know how to make uninstall. Stop make: stopped in /usr/sources/nginx-1.8.0 root на 0FR:/usr/sources/nginx-1.8.0 # make deinstall make: don't know how to make deinstall. Stop make: stopped in /usr/sources/nginx-1.8.0 root на 0FR:/usr/sources/nginx-1.8.0 # rehash Как быть? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266015,266015#msg-266015 From basil на vpm.net.ua Fri Apr 8 07:53:15 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Fri, 8 Apr 2016 10:53:15 +0300 Subject: =?UTF-8?B?UmU6IG5naW54LTEuOC4wINGD0LTQsNC70LXQvdC40LU=?= In-Reply-To: References: Message-ID: 1) вычистить автозапуск текущего - найти как стартует 2) просто поставить из портов поверх, если что pkg напишет 8 апреля 2016 г., 10:49 пользователь bagas написал: > Добрый день. > Я в замешательстве. > Как мне удалить собранный nginx из исходников. > Я хочу поставить nginx из портов. > > # uname -rms > FreeBSD 10.2-RELEASE-p14 amd64 > > Перешел в директорию с исходниками /usr/sources/nginx-1.8.0 > > root на 0FR:/usr/sources/nginx-1.8.0 # make uninstall > make: don't know how to make uninstall. Stop > > make: stopped in /usr/sources/nginx-1.8.0 > root на 0FR:/usr/sources/nginx-1.8.0 # make deinstall > make: don't know how to make deinstall. Stop > > make: stopped in /usr/sources/nginx-1.8.0 > root на 0FR:/usr/sources/nginx-1.8.0 # rehash > > Как быть? > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266015,266015#msg-266015 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Apr 8 08:24:43 2016 From: nginx-forum на forum.nginx.org (bagas) Date: Fri, 08 Apr 2016 04:24:43 -0400 Subject: =?UTF-8?B?UmU6IG5naW54LTEuOC4wINGD0LTQsNC70LXQvdC40LU=?= In-Reply-To: References: Message-ID: <6849add226079a2aca1f5b12f2007e82.NginxMailingListRussian@forum.nginx.org> Спасибо. Наложил портовую версию на исходники. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266015,266020#msg-266020 From basil на vpm.net.ua Fri Apr 8 08:36:59 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Fri, 8 Apr 2016 11:36:59 +0300 Subject: =?UTF-8?B?UmU6IG5naW54LTEuOC4wINGD0LTQsNC70LXQvdC40LU=?= In-Reply-To: <6849add226079a2aca1f5b12f2007e82.NginxMailingListRussian@forum.nginx.org> References: <6849add226079a2aca1f5b12f2007e82.NginxMailingListRussian@forum.nginx.org> Message-ID: не знаю как нгинкс модули подгружает, поэтому думаю стоит сейчас удалить через pkg, посмотреть если он какие-то папки не удалит - удалить их вручную, и поставить заново из портов 8 апреля 2016 г., 11:24 пользователь bagas написал: > Спасибо. > Наложил портовую версию на исходники. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266015,266020#msg-266020 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From livingdeadzerg на yandex.ru Fri Apr 8 09:41:58 2016 From: livingdeadzerg на yandex.ru (navern) Date: Fri, 08 Apr 2016 12:41:58 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1989223.QC8uVd8geS@note> References: <57038206.9030203@yandex.ru> <57066372.2060509@yandex.ru> <1989223.QC8uVd8geS@note> Message-ID: <57077CE6.7060408@yandex.ru> Неудобно, потому что IP адреса не все дефолтные. И необязательно он будет всегда на этом сервере, а может мигрировать на другой. Придется еще добавлять логику по перемещению "дефолтного" IP и это всё действительно неудобно. Я понимаю, как работают дефолтные хосты, часть IP адресов так и указаны. Можете просто поверить на слово, что для части IP адресов дефолтный хост не очень работает. С точки зрения конфигурирования можно решить конечно, но это будет не очень удобно. Именно из-за динамического выделения IP. Придется держать дефолтный хост отдельно для каждого IP адреса и делать проверки при каждом перемещении/удалении IP адреса с сервера. listen * не подходит, потому что не только nginx слушает 80 и 443 порт на сервере. Пока что уже полез ковыряться в исходниках, сейчас разбираюсь что и как работает там:) On 07.04.2016 22:10, Vadim A. Misbakh-Soloviov wrote: >> Ну в нашем случае нам как раз подходит указать везде reuseport явно, >> чтобы он работал всегда. Указывать только в одном месте очень неудобно >> для автоматического конфигурирования. > Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. > Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) > нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже > кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в > listen. > (пути от балды) > >> Это не очень как раз удобно, потому что проще накатывать конфиг по >> шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем >> перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и >> есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока >> меньше). > 1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже > только в дефолтном держу. > 2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет > проверять лишь его наличие. > 3) а чем, кстати, вам не подходит listen * и [::]? > > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Fri Apr 8 11:20:51 2016 From: nginx-forum на forum.nginx.org (dmitrz) Date: Fri, 08 Apr 2016 07:20:51 -0400 Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3Ri9C5INC/0YPRgtGMINC6INC60L4=?= =?UTF-8?B?0L3RhNC40LPRgyDQuCDQutC70Y7RhyAtcA==?= In-Reply-To: <20160407151054.GH36620@mdounin.ru> References: <20160407151054.GH36620@mdounin.ru> Message-ID: <3fba63b0f63d088d15d64b01e965aa6f.NginxMailingListRussian@forum.nginx.org> спасибо за ответ, по поводу третьего вопроса, этот способ работает но у каждого экземпляра nginx одинаковый nginx.conf, но разные conf.d/default.conf. Следовательно внеся небольшие изменения в nginx.conf придется и для всех остальных это тоже делать Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265983,266025#msg-266025 From chipitsine на gmail.com Fri Apr 8 11:25:20 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Fri, 8 Apr 2016 16:25:20 +0500 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57077CE6.7060408@yandex.ru> References: <57038206.9030203@yandex.ru> <57066372.2060509@yandex.ru> <1989223.QC8uVd8geS@note> <57077CE6.7060408@yandex.ru> Message-ID: более или менее типовая ситуация заключается в том, что вы отвечаете по известному списку днс-имен. это - недефолтные хосты. в дефолтном вы делаете server { listen x.x.x.x:80 default accept_filter=httpready; listen x.x.x.x:443 default http2 reuseport accept_filter=dataready; server_name _; access_log off; error_log /dev/null; location / { return 444; } } и, всякие скрипткидизы, которые тыкают в ip-адрес и ищут уязвимый софт, перестают вас беспокоить в логах. или у вас список доменов заранее неизвестен ? 8 апреля 2016 г., 14:41 пользователь navern написал: > Неудобно, потому что IP адреса не все дефолтные. И необязательно он будет > всегда на этом сервере, а может мигрировать на другой. Придется еще > добавлять логику по перемещению "дефолтного" IP и это всё действительно > неудобно. > > Я понимаю, как работают дефолтные хосты, часть IP адресов так и указаны. > Можете просто поверить на слово, что для части IP адресов дефолтный хост не > очень работает. > > С точки зрения конфигурирования можно решить конечно, но это будет не > очень удобно. Именно из-за динамического выделения IP. Придется держать > дефолтный хост отдельно для каждого IP адреса и делать проверки при каждом > перемещении/удалении IP адреса с сервера. > > listen * не подходит, потому что не только nginx слушает 80 и 443 порт на > сервере. > > Пока что уже полез ковыряться в исходниках, сейчас разбираюсь что и как > работает там:) > > On 07.04.2016 22:10, Vadim A. Misbakh-Soloviov wrote: > > Ну в нашем случае нам как раз подходит указать везде reuseport явно, > чтобы он работал всегда. Указывать только в одном месте очень неудобно > для автоматического конфигурирования. > > Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. > Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) > нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже > кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в > listen. > (пути от балды) > > > Это не очень как раз удобно, потому что проще накатывать конфиг по > шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем > перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и > есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока > меньше). > > 1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже > только в дефолтном держу. > 2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет > проверять лишь его наличие. > 3) а чем, кстати, вам не подходит listen * и [::]? > > > > > > _______________________________________________ > nginx-ru mailing listnginx-ru на nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From livingdeadzerg на yandex.ru Fri Apr 8 11:54:31 2016 From: livingdeadzerg на yandex.ru (navern) Date: Fri, 08 Apr 2016 14:54:31 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: References: <57038206.9030203@yandex.ru> <57066372.2060509@yandex.ru> <1989223.QC8uVd8geS@note> <57077CE6.7060408@yandex.ru> Message-ID: <57079BF7.9070801@yandex.ru> На одном из серверов около 11 тысяч виртуальных хостов в nginx'е. Бывает и больше:) Серверов тоже далеко не десять. Неизвестен заранее ни список IP адресов, ни список имен. Вариант с созданием для каждого IP адреса конфига в виде: .conf и внутри дефолтным сервером конечно решает задачу, но для динамически выделяемых IP адресов не совсем подходит. Поэтому пока буду пытаться решать иначе. On 08.04.2016 14:25, Илья Шипицин wrote: > более или менее типовая ситуация заключается в том, что вы отвечаете > по известному списку днс-имен. > это - недефолтные хосты. > > в дефолтном вы делаете > > > server { > listen x.x.x.x:80 default accept_filter=httpready; > listen x.x.x.x:443 default http2 reuseport accept_filter=dataready; > server_name _; > access_log off; > error_log /dev/null; > location / { > return 444; > } > } > > > и, всякие скрипткидизы, которые тыкают в ip-адрес и ищут уязвимый > софт, перестают вас беспокоить в логах. > > > > или у вас список доменов заранее неизвестен ? > > > 8 апреля 2016 г., 14:41 пользователь navern > написал: > > Неудобно, потому что IP адреса не все дефолтные. И необязательно > он будет всегда на этом сервере, а может мигрировать на другой. > Придется еще добавлять логику по перемещению "дефолтного" IP и это > всё действительно неудобно. > > Я понимаю, как работают дефолтные хосты, часть IP адресов так и > указаны. Можете просто поверить на слово, что для части IP адресов > дефолтный хост не очень работает. > > С точки зрения конфигурирования можно решить конечно, но это будет > не очень удобно. Именно из-за динамического выделения IP. Придется > держать дефолтный хост отдельно для каждого IP адреса и делать > проверки при каждом перемещении/удалении IP адреса с сервера. > > listen * не подходит, потому что не только nginx слушает 80 и 443 > порт на сервере. > > Пока что уже полез ковыряться в исходниках, сейчас разбираюсь что > и как работает там:) > > On 07.04.2016 22:10, Vadim A. Misbakh-Soloviov wrote: >>> Ну в нашем случае нам как раз подходит указать везде reuseport явно, >>> чтобы он работал всегда. Указывать только в одном месте очень неудобно >>> для автоматического конфигурирования. >> Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. >> Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) >> нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже >> кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в >> listen. >> (пути от балды) >> >>> Это не очень как раз удобно, потому что проще накатывать конфиг по >>> шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем >>> перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и >>> есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока >>> меньше). >> 1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже >> только в дефолтном держу. >> 2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет >> проверять лишь его наличие. >> 3) а чем, кстати, вам не подходит listen * и [::]? >> >> >> >> >> _______________________________________________ >> 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 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From livingdeadzerg на yandex.ru Fri Apr 8 14:21:22 2016 From: livingdeadzerg на yandex.ru (navern) Date: Fri, 08 Apr 2016 17:21:22 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57079BF7.9070801@yandex.ru> References: <57038206.9030203@yandex.ru> <57066372.2060509@yandex.ru> <1989223.QC8uVd8geS@note> <57077CE6.7060408@yandex.ru> <57079BF7.9070801@yandex.ru> Message-ID: <5707BE62.6030007@yandex.ru> В общем поковырялся недолго в исходниках. Простым патчем врубил reuseport всегда, вне зависимости от того, что в конфигах находится. Может кому-то еще пригодится, хотя это конечно хак. diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index 5a53bac..5bb8de2 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -472,7 +472,7 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) #if (NGX_HAVE_REUSEPORT) - if (ls[i].reuseport) { + if (1 || ls[i].reuseport) { int reuseport; reuseport = 1; On 08.04.2016 14:54, navern wrote: > На одном из серверов около 11 тысяч виртуальных хостов в nginx'е. > Бывает и больше:) Серверов тоже далеко не десять. > > Неизвестен заранее ни список IP адресов, ни список имен. > > Вариант с созданием для каждого IP адреса конфига в виде: > .conf и внутри дефолтным сервером конечно решает задачу, но > для динамически выделяемых IP адресов не совсем подходит. Поэтому пока > буду пытаться решать иначе. > > On 08.04.2016 14:25, Илья Шипицин wrote: >> более или менее типовая ситуация заключается в том, что вы отвечаете >> по известному списку днс-имен. >> это - недефолтные хосты. >> >> в дефолтном вы делаете >> >> >> server { >> listen x.x.x.x:80 default accept_filter=httpready; >> listen x.x.x.x:443 default http2 reuseport accept_filter=dataready; >> server_name _; >> access_log off; >> error_log /dev/null; >> location / { >> return 444; >> } >> } >> >> >> и, всякие скрипткидизы, которые тыкают в ip-адрес и ищут уязвимый >> софт, перестают вас беспокоить в логах. >> >> >> >> или у вас список доменов заранее неизвестен ? >> >> >> 8 апреля 2016 г., 14:41 пользователь navern > > написал: >> >> Неудобно, потому что IP адреса не все дефолтные. И необязательно >> он будет всегда на этом сервере, а может мигрировать на другой. >> Придется еще добавлять логику по перемещению "дефолтного" IP и >> это всё действительно неудобно. >> >> Я понимаю, как работают дефолтные хосты, часть IP адресов так и >> указаны. Можете просто поверить на слово, что для части IP >> адресов дефолтный хост не очень работает. >> >> С точки зрения конфигурирования можно решить конечно, но это >> будет не очень удобно. Именно из-за динамического выделения IP. >> Придется держать дефолтный хост отдельно для каждого IP адреса и >> делать проверки при каждом перемещении/удалении IP адреса с сервера. >> >> listen * не подходит, потому что не только nginx слушает 80 и 443 >> порт на сервере. >> >> Пока что уже полез ковыряться в исходниках, сейчас разбираюсь что >> и как работает там:) >> >> On 07.04.2016 22:10, Vadim A. Misbakh-Soloviov wrote: >>>> Ну в нашем случае нам как раз подходит указать везде reuseport явно, >>>> чтобы он работал всегда. Указывать только в одном месте очень неудобно >>>> для автоматического конфигурирования. >>> Ну, почему же? Просто обрабатывайте "дефолтный" хост отдельно от остальных. >>> Сначала заполняете его (а то и вообще не трогаете один раз сконфигуряв) >>> нужными опциями, кладёте в /etc/nginx/vhosts.d/default/??_bla. Потом уже >>> кладёте "основные" в /etc/nginx/vhosts.d/client/site без указания опций в >>> listen. >>> (пути от балды) >>> >>>> Это не очень как раз удобно, потому что проще накатывать конфиг по >>>> шаблону, с включенными опциями сразу(как в случае с ssl/http2), чем >>>> перед этим парсить все конфиги и проверять есть ли уже такой IP адрес и >>>> есть ли там опции(тоже вариант решения проблемы, но мне он нравится пока >>>> меньше). >>> 1) http2, вроде как, всё равно будет работать для всех. Ну и лично я его тоже >>> только в дефолтном держу. >>> 2) зачем проверять? Просто явно генерите дефолтный конфиг. И достаточно будет >>> проверять лишь его наличие. >>> 3) а чем, кстати, вам не подходит listen * и [::]? >>> >>> >>> >>> >>> _______________________________________________ >>> 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 > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From andrey на kopeyko.ru Fri Apr 8 14:36:12 2016 From: andrey на kopeyko.ru (Andrey Kopeyko) Date: Fri, 8 Apr 2016 17:36:12 +0300 (MSK) Subject: =?UTF-8?B?UmU6INCe0YLQvdC+0YHQuNGC0LXQu9GM0L3Ri9C5INC/0YPRgtGMINC6INC60L4=?= =?UTF-8?B?0L3RhNC40LPRgyDQuCDQutC70Y7RhyAtcA==?= In-Reply-To: <3fba63b0f63d088d15d64b01e965aa6f.NginxMailingListRussian@forum.nginx.org> References: <20160407151054.GH36620@mdounin.ru> <3fba63b0f63d088d15d64b01e965aa6f.NginxMailingListRussian@forum.nginx.org> Message-ID: On Fri, 8 Apr 2016, dmitrz wrote: > у каждого экземпляра nginx одинаковый nginx.conf, но разные > conf.d/default.conf. Следовательно внеся небольшие изменения в nginx.conf > придется и для всех остальных это тоже делать Откройте для себя symlink. -- Best regards, Andrey Kopeyko From denis на webmaster.spb.ru Fri Apr 8 15:32:36 2016 From: denis на webmaster.spb.ru (denis) Date: Fri, 08 Apr 2016 18:32:36 +0300 Subject: =?UTF-8?B?Z3ppcCDQuCDRgdC20LDRgtGL0LUg0LTQsNC90L3Ri9C1INC90LAg0LLRhdC+0LQ=?= =?UTF-8?B?0LU=?= Message-ID: <5707CF14.1050401@webmaster.spb.ru> Как себя должен вести nginx, если от бэкенда ему пришёл уже сжатый ответ, и при этом активен gzip on; ? Просто пробросить данные клиенту? Разжать и повторно сжать по новым правилам? Как этим поведением управлять? Анализируется ли поле Content-Encoding от бэкенда? From mdounin на mdounin.ru Fri Apr 8 16:24:49 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 8 Apr 2016 19:24:49 +0300 Subject: =?UTF-8?B?UmU6IGd6aXAg0Lgg0YHQttCw0YLRi9C1INC00LDQvdC90YvQtSDQvdCwINCy0YU=?= =?UTF-8?B?0L7QtNC1?= In-Reply-To: <5707CF14.1050401@webmaster.spb.ru> References: <5707CF14.1050401@webmaster.spb.ru> Message-ID: <20160408162449.GM36620@mdounin.ru> Hello! On Fri, Apr 08, 2016 at 06:32:36PM +0300, denis wrote: > Как себя должен вести nginx, если от бэкенда ему пришёл уже сжатый ответ, и > при этом активен gzip on; ? Просто пробросить данные клиенту? Разжать и > повторно сжать по новым правилам? Как этим поведением управлять? > Анализируется ли поле Content-Encoding от бэкенда? Если ответ уже сжат - nginx с ним ничего делать не будет. Подробности можно найти в коде gzip-фильтра, src/http/modules/ngx_http_gzip_filter_module.c. -- Maxim Dounin http://nginx.org/ From mva на mva.name Fri Apr 8 16:32:12 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 08 Apr 2016 22:32:12 +0600 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <5707BE62.6030007@yandex.ru> References: <57038206.9030203@yandex.ru> <57079BF7.9070801@yandex.ru> <5707BE62.6030007@yandex.ru> Message-ID: <3321787.mEWPjil67r@note> у вас почтовый клиент понавставлял лишних переносов строк. Можно было, наверное, аттачем патч приложить // ну, или без html отправлять ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From vbart на nginx.com Sat Apr 9 01:43:31 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Sat, 09 Apr 2016 04:43:31 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <3321787.mEWPjil67r@note> References: <57038206.9030203@yandex.ru> <5707BE62.6030007@yandex.ru> <3321787.mEWPjil67r@note> Message-ID: <2113748.qLmebFP9gR@vbart-laptop> On Friday 08 April 2016 22:32:12 Vadim A. Misbakh-Soloviov wrote: > у вас почтовый клиент понавставлял лишних переносов строк. Можно было, > наверное, аттачем патч приложить > > // ну, или без html отправлять Лучше не стоит. Простой grep по исходникам может показать, что это не единственное место где обрабатывается опция reuseport, и иного эффекта, кроме негативного, от данного патча не будет (в частности опция reuseport так и не заработает правильно на остальных сокетах). -- Валентин Бартенев From nginx-forum на forum.nginx.org Sat Apr 9 17:56:03 2016 From: nginx-forum на forum.nginx.org (deniss) Date: Sat, 09 Apr 2016 13:56:03 -0400 Subject: nginx 1.9.14 & upload-progress-module Message-ID: <09bd219a68d819a8fb8f5f1d4ff0e5f0.NginxMailingListRussian@forum.nginx.org> После обновления nginx не отображается прогрессбар при аплоаде файла. В логах: 2016/04/09 20:47:37 [debug] 8670#0: *40 malloc: 0000000001249020:16 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id found args: fb2573fbf0cdbd7a3e20f5c00f7f6da4 2016/04/09 20:47:37 [debug] 8670#0: *40 malloc: 0000000001249040:48 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: read_event_handler found id: fb2573fbf0cdbd7a3e20f5c00f7f6da4 2016/04/09 20:47:37 [debug] 8670#0: *40 http read client request body 2016/04/09 20:47:37 [debug] 8670#0: *40 recv: fd:28 2896 of 3507 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body recv 2896 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body rest 941014992 2016/04/09 20:47:37 [debug] 8670#0: *40 recv: fd:28 -1 of 611 2016/04/09 20:47:37 [debug] 8670#0: *40 recv() not ready (11: Resource temporarily unavailable) 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body recv -2 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body rest 941014992 2016/04/09 20:47:37 [debug] 8670#0: *40 event timer: 28, old: 1460227657757, new: 1460227657757 2016/04/09 20:47:37 [debug] 8670#0: *40 http run request: "/doupload/?X-Progress-ID=fb2573fbf0cdbd7a3e20f5c00f7f6da4" 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: ngx_http_uploadprogress_event_handler 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id no header found 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id no header found, args found 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id found args: X-Progress-ID=fb2573fbf0cdbd7a3e20f5c00f7f6da4 HTTP/1.1 Подскажите в где копать? Спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266053,266053#msg-266053 From nginx-forum на forum.nginx.org Sat Apr 9 18:00:18 2016 From: nginx-forum на forum.nginx.org (deniss) Date: Sat, 09 Apr 2016 14:00:18 -0400 Subject: nginx 1.9.14 & upload-progress-module In-Reply-To: <09bd219a68d819a8fb8f5f1d4ff0e5f0.NginxMailingListRussian@forum.nginx.org> References: <09bd219a68d819a8fb8f5f1d4ff0e5f0.NginxMailingListRussian@forum.nginx.org> Message-ID: <6080b2e7e36601f1c63d50b051b8c009.NginxMailingListRussian@forum.nginx.org> 1 ## SHARE ### 2 3 server { 4 listen 217.199.213.6:80; 5 server_name share.domain.com; 6 upload_set_form_field $upload_field_name.name "$upload_file_name"; 7 upload_set_form_field $upload_field_name.mime "$upload_content_type"; 8 upload_set_form_field $upload_field_name.path "$upload_tmp_path"; 9 upload_aggregate_form_field $upload_field_name.sha "$upload_file_sha1"; 10 upload_aggregate_form_field $upload_field_name.size "$upload_file_size"; 11 upload_pass_form_field "^desc$|^folder_id$"; 12 upload_store /mnt/files/tmp; 13 upload_cleanup 400-599; 14 error_log /var/logs/share_nginx_error.log debug; 15 16 location / { 17 proxy_pass http://127.0.0.1:80; 18 proxy_set_header Host $host; 19 proxy_set_header X-Real-IP $remote_addr; 20 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 21 track_uploads proxied 30s; 22 proxy_pass_header Authorization; 23 access_log /var/logs/share_nginx_access.log; 24 } 25 26 location /doupload { 27 upload_pass /doneupload; 28 track_uploads proxied 30s; 29 # access_log /var/log/share_nginx_access.log; 30 } 31 32 location /doneupload { 33 proxy_pass http://127.0.0.1:80/doupload; 34 proxy_set_header Host $host; 35 proxy_set_header X-Real-IP $remote_addr; 36 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 37 # access_log /var/log/share_nginx_access.log; 38 } 39 40 location /media { 41 root /var/www/share; 42 # access_log /var/log/share_nginx_access.log; 43 } 44 45 location /error { 46 root /var/www/error/; 47 } 48 49 location ^~ /progress { 50 expires off; 51 add_header Pragma no-cache; 52 add_header Cache-Control no-cache,must-revalidate; 53 report_uploads proxied; 54 # access_log /var/log/share_nginx_access.log; 55 } 56 57 location /uploaded_files { 58 root /mnt/files; 59 internal; 60 # limit_conn one 5; 61 # directio 1m; 62 # access_log /var/log/share_nginx_access.log; 63 } 64 65 location /previews { 66 root /mnt/files; 67 } 68 69 location = /nginx_status { 70 stub_status on; 71 access_log off; 72 allow 217.199.213.6; 73 allow 127.0.0.1; 74 deny all; 75 } 76 77 } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266053,266054#msg-266054 From vbart на nginx.com Mon Apr 11 10:45:52 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 11 Apr 2016 13:45:52 +0300 Subject: nginx 1.9.14 & upload-progress-module In-Reply-To: <09bd219a68d819a8fb8f5f1d4ff0e5f0.NginxMailingListRussian@forum.nginx.org> References: <09bd219a68d819a8fb8f5f1d4ff0e5f0.NginxMailingListRussian@forum.nginx.org> Message-ID: <243401985.f0eMhAr3OB@vbart-laptop> On Saturday 09 April 2016 13:56:03 deniss wrote: > После обновления nginx не отображается прогрессбар при аплоаде файла. > В логах: > > 2016/04/09 20:47:37 [debug] 8670#0: *40 malloc: 0000000001249020:16 > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id > found args: fb2573fbf0cdbd7a3e20f5c00f7f6da4 > 2016/04/09 20:47:37 [debug] 8670#0: *40 malloc: 0000000001249040:48 > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: read_event_handler > found id: fb2573fbf0cdbd7a3e20f5c00f7f6da4 > 2016/04/09 20:47:37 [debug] 8670#0: *40 http read client request body > 2016/04/09 20:47:37 [debug] 8670#0: *40 recv: fd:28 2896 of 3507 > 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body recv 2896 > 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body rest > 941014992 > 2016/04/09 20:47:37 [debug] 8670#0: *40 recv: fd:28 -1 of 611 > 2016/04/09 20:47:37 [debug] 8670#0: *40 recv() not ready (11: Resource > temporarily unavailable) > 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body recv -2 > 2016/04/09 20:47:37 [debug] 8670#0: *40 http client request body rest > 941014992 > 2016/04/09 20:47:37 [debug] 8670#0: *40 event timer: 28, old: 1460227657757, > new: 1460227657757 > 2016/04/09 20:47:37 [debug] 8670#0: *40 http run request: > "/doupload/?X-Progress-ID=fb2573fbf0cdbd7a3e20f5c00f7f6da4" > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: > ngx_http_uploadprogress_event_handler > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id no > header found > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id no > header found, args found > 2016/04/09 20:47:37 [debug] 8670#0: *40 upload-progress: get_tracking_id > found args: X-Progress-ID=fb2573fbf0cdbd7a3e20f5c00f7f6da4 HTTP/1.1 > > Подскажите в где копать? > Спасибо! > Копать в сторону HTML5 и XMLHttpRequest 2. -- Валентин Бартенев From livingdeadzerg на yandex.ru Mon Apr 11 12:14:10 2016 From: livingdeadzerg на yandex.ru (navern) Date: Mon, 11 Apr 2016 15:14:10 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <2113748.qLmebFP9gR@vbart-laptop> References: <57038206.9030203@yandex.ru> <5707BE62.6030007@yandex.ru> <3321787.mEWPjil67r@note> <2113748.qLmebFP9gR@vbart-laptop> Message-ID: <570B9512.3040904@yandex.ru> setsockopt есть всего в двух местах и в одном он нужен, чтобы апгрейдить сокеты без reuseport'а до reuseport'а, если я правильно понимаю. Подобный хак позволил запустить одновременно два nginx'а, так что как минимум что-то полезное он делает. По опции грепал и там действительно много вхождений, на что стоит обратить внимание? У нас предполагается включенный reuseport всегда. В общем открыт к предложениям как сделать лучше. On 09.04.2016 04:43, Валентин Бартенев wrote: > On Friday 08 April 2016 22:32:12 Vadim A. Misbakh-Soloviov wrote: >> у вас почтовый клиент понавставлял лишних переносов строк. Можно было, >> наверное, аттачем патч приложить >> >> // ну, или без html отправлять > Лучше не стоит. > > Простой grep по исходникам может показать, что это не единственное место > где обрабатывается опция reuseport, и иного эффекта, кроме негативного, от > данного патча не будет (в частности опция reuseport так и не заработает > правильно на остальных сокетах). > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From vbart на nginx.com Mon Apr 11 13:49:21 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 11 Apr 2016 16:49:21 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570B9512.3040904@yandex.ru> References: <57038206.9030203@yandex.ru> <2113748.qLmebFP9gR@vbart-laptop> <570B9512.3040904@yandex.ru> Message-ID: <1840353.uJ1VWIj6di@vbart-workstation> On Monday 11 April 2016 15:14:10 navern wrote: > setsockopt есть всего в двух местах и в одном он нужен, чтобы апгрейдить > сокеты без reuseport'а до reuseport'а, если я правильно понимаю. > > Подобный хак позволил запустить одновременно два nginx'а, так что как > минимум что-то полезное он делает. Это, как раз, негативный побочный эффект. Опция reuseport не только выставляет флаг на сокет, но и занимается тем, что создает необходимое количество дескрипторов, по одному на каждый рабочий процесс. В этом и есть суть этой опции - оптимизация приема соединений и равномерное их распределение по рабочим процессам. Подробности тут: https://habrahabr.ru/post/259403/ > > По опции грепал и там действительно много вхождений, на что стоит > обратить внимание? У нас предполагается включенный reuseport всегда. > > В общем открыт к предложениям как сделать лучше. > Самым простым решением было бы выставить флаг на этапе парсинга директивы listen и не вмешиваться в логику обработки флага. -- Валентин Бартенев From livingdeadzerg на yandex.ru Mon Apr 11 13:59:08 2016 From: livingdeadzerg на yandex.ru (navern) Date: Mon, 11 Apr 2016 16:59:08 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1840353.uJ1VWIj6di@vbart-workstation> References: <57038206.9030203@yandex.ru> <2113748.qLmebFP9gR@vbart-laptop> <570B9512.3040904@yandex.ru> <1840353.uJ1VWIj6di@vbart-workstation> Message-ID: <570BADAC.3070106@yandex.ru> Да, я читал эту статью. Проблема в том, что нам как раз нужен негативный побочный эффект:) Необходимо, чтобы одновременно можно было запустить два nginx'а. Этого можно добиться если везде указать reuseport, но только один раз. А можно подробнее о том как лучше решить эту задачу? Какой правильный флоу должен быть? Выставлять везде опцию в конфигах(каждый раз) и убирать проверку на это при парсинге конфигурации? On 11.04.2016 16:49, Валентин Бартенев wrote: > On Monday 11 April 2016 15:14:10 navern wrote: >> setsockopt есть всего в двух местах и в одном он нужен, чтобы апгрейдить >> сокеты без reuseport'а до reuseport'а, если я правильно понимаю. >> >> Подобный хак позволил запустить одновременно два nginx'а, так что как >> минимум что-то полезное он делает. > Это, как раз, негативный побочный эффект. > > Опция reuseport не только выставляет флаг на сокет, но и занимается тем, > что создает необходимое количество дескрипторов, по одному на каждый > рабочий процесс. В этом и есть суть этой опции - оптимизация приема > соединений и равномерное их распределение по рабочим процессам. > > Подробности тут: > https://habrahabr.ru/post/259403/ > >> По опции грепал и там действительно много вхождений, на что стоит >> обратить внимание? У нас предполагается включенный reuseport всегда. >> >> В общем открыт к предложениям как сделать лучше. >> > Самым простым решением было бы выставить флаг на этапе парсинга директивы > listen и не вмешиваться в логику обработки флага. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на forum.nginx.org Mon Apr 11 14:34:48 2016 From: nginx-forum на forum.nginx.org (nrr) Date: Mon, 11 Apr 2016 10:34:48 -0400 Subject: =?UTF-8?B?0L/QtdGA0LXQtNCw0YfQsCDQsiB1cHN0cmVhbSBkbnMg0LjQvNC10L3QuCDRhdC+?= =?UTF-8?B?0YHRgtCw?= Message-ID: Добрый день! имеется конфиг: upstream upstr1 { server host1.example.com:80; server host2.example.com:80; } location /loc/ { proxy_pass http://upstr1/; } не подскажете есть ли реальный и простой способ передачи в upstream сервер имени хоста по какому было обращение? Т.е. если Nginx выбрал host1.example.com, то передавать туда host1.example.com, а не IP адрес как это сейчас работает. Смысл такой, что server host1.example.com:80; server host2.example.com:80; находятся на одном сервере, и нужно по разному обрабатывать запросы в зависимости от hostname upstream Эти варианты не подходят в location /loc/ : proxy_set_header HOST $proxy_host; ## дает upstr1 proxy_set_header HOST $host; ## дает имя хоста по какому обратился юзер (example.org) proxy_set_header HOST $hostname; ## дает имя хоста сервера Спасибо! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266089,266089#msg-266089 From nginx-forum на forum.nginx.org Mon Apr 11 14:40:52 2016 From: nginx-forum на forum.nginx.org (nrr) Date: Mon, 11 Apr 2016 10:40:52 -0400 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LTQsNGH0LAg0LIgdXBzdHJlYW0gZG5zINC40LzQtdC90Lgg?= =?UTF-8?B?0YXQvtGB0YLQsA==?= In-Reply-To: References: Message-ID: <83856dc1946c390747d0dd13efee73ba.NginxMailingListRussian@forum.nginx.org> вот здесь http://serverfault.com/questions/598202/make-nginx-to-pass-hostname-of-the-upstream-when-reverseproxying описан немного кривой способ: server { listen 8001 default_server; server_name web1.example.com; location / { proxy_pass http://web1.local:80; proxy_set_header Host web1.local:80; } } server { listen 8002 default_server; server_name web2.example.com; location / { proxy_pass http://web2.local:80; proxy_set_header Host web2.local:80; } } server { listen 8003 default_server; server_name web3.example.com; location / { proxy_pass http://web3.local:80; proxy_set_header Host web3.local:80; } } upstream main { server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; } server { listen 80; server_name example.com; location / { proxy_pass http://main; } } но есть ли проще? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266089,266090#msg-266090 From mva на mva.name Mon Apr 11 14:59:01 2016 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Mon, 11 Apr 2016 20:59:01 +0600 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LTQsNGH0LAg0LIgdXBzdHJlYW0gZG5zINC40LzQtdC90Lgg?= =?UTF-8?B?0YXQvtGB0YLQsA==?= In-Reply-To: <83856dc1946c390747d0dd13efee73ba.NginxMailingListRussian@forum.nginx.org> References: <83856dc1946c390747d0dd13efee73ba.NginxMailingListRussian@forum.nginx.org> Message-ID: <1962472.AHmRXNC8YI@note> proxy_set_header Host $host; ? -- wbr, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From undying-m на yandex.ru Mon Apr 11 15:04:05 2016 From: undying-m на yandex.ru (Den Bozhok) Date: Mon, 11 Apr 2016 18:04:05 +0300 Subject: =?UTF-8?B?0L/QtdGA0LXQvNC10L3QvdGL0LUg0LIgbWFwIC0+IHByb3h5X3Bhc3M=?= Message-ID: <1396951460387045@web8g.yandex.ru> Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Mon Apr 11 15:05:59 2016 From: nginx-forum на forum.nginx.org (nrr) Date: Mon, 11 Apr 2016 11:05:59 -0400 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LTQsNGH0LAg0LIgdXBzdHJlYW0gZG5zINC40LzQtdC90Lgg?= =?UTF-8?B?0YXQvtGB0YLQsA==?= In-Reply-To: <1962472.AHmRXNC8YI@note> References: <1962472.AHmRXNC8YI@note> Message-ID: <1ee8bf7cf79c7f21dbeb077a5e8d180d.NginxMailingListRussian@forum.nginx.org> писал же в предыдущем посте, не подходит этот вариант: >> Эти варианты не подходят в location /loc/ : >> proxy_set_header HOST $proxy_host; ## дает upstr1 >> proxy_set_header HOST $host; ## дает имя хоста по какому обратился юзер (example.org) >> proxy_set_header HOST $hostname; ## дает имя хоста сервера Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266089,266092#msg-266092 From bgx на protva.ru Mon Apr 11 15:06:11 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Mon, 11 Apr 2016 18:06:11 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570BADAC.3070106@yandex.ru> References: <57038206.9030203@yandex.ru> <2113748.qLmebFP9gR@vbart-laptop> <570B9512.3040904@yandex.ru> <1840353.uJ1VWIj6di@vbart-workstation> <570BADAC.3070106@yandex.ru> Message-ID: <20160411150611.GQ8362@sie.protva.ru> On Mon, Apr 11, 2016 at 04:59:08PM +0300, navern wrote: > Проблема в том, что нам как раз нужен негативный побочный эффект:) > Необходимо, чтобы одновременно можно было запустить два nginx'а. Этого можно > добиться если везде указать reuseport, но только один раз. А зачем нужны 2 копии сервера на одном порту? Какому из них должны доставаться входящие соединения, и есть ли основания считать, что можно дать точный ответ на этот вопрос? -- Eugene Berdnikov From vbart на nginx.com Mon Apr 11 15:12:53 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 11 Apr 2016 18:12:53 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570BADAC.3070106@yandex.ru> References: <57038206.9030203@yandex.ru> <1840353.uJ1VWIj6di@vbart-workstation> <570BADAC.3070106@yandex.ru> Message-ID: <2257078.GO8tOUMU73@vbart-workstation> On Monday 11 April 2016 16:59:08 navern wrote: > Да, я читал эту статью. > > Проблема в том, что нам как раз нужен негативный побочный эффект:) > Необходимо, чтобы одновременно можно было запустить два nginx'а. Этого > можно добиться если везде указать reuseport, но только один раз. > А можно подробнее, зачем такое нужно? > А можно подробнее о том как лучше решить эту задачу? Какой правильный > флоу должен быть? Выставлять везде опцию в конфигах(каждый раз) и > убирать проверку на это при парсинге конфигурации? > Правильный Максим уже описал, необходимо проверять все опции, и выдавать ошибку, только если они отличаются. Но я лишь о том, что если уж править исходники затем, чтобы применить опцию "reuseport" по умолчанию, то править функцию парсинга директивы ngx_http_core_listen(), а не вмешиваться в функционирование. -- Валентин Бартенев From kpoxa на kpoxa.net Mon Apr 11 15:52:39 2016 From: kpoxa на kpoxa.net (kpoxa) Date: Mon, 11 Apr 2016 15:52:39 +0000 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIG1hcCAtPiBwcm94eV9wYXNz?= In-Reply-To: <1396951460387045@web8g.yandex.ru> References: <1396951460387045@web8g.yandex.ru> Message-ID: В конфиге опишите резолвер. http://nginx.org/ru/docs/http/ngx_http_core_module.html#resolver пн, 11 апр. 2016 г. в 18:04, Den Bozhok : > Доброго дня! > > Попробовал использовать map для выбора бэкенда, что бы затем передавать ее > в proxy_pass, но при передаче переменной в proxy_pass nginx не может ее > разрезолвить в итоговое значение. > > конфигурация: > > > geo $backend1 { > default "long-host-name1.com"; > } > geo $backend2 { > default "long-host-name2.com"; > } > > map $http_x_backend $backend { > "host1" $backend1; > "host2" $backend2; > } > > server { > listen 80; > > location / { > proxy_pass http://$backend; > } > } > > > При этом я получаю ошибку: > $backend could not be resolved (2: Server failure) > > Я что-то делаю не так или у nginx нет такой возможности? > Благодарю! > > nginx -V > nginx version: nginx/1.9.10 > built by gcc 4.9.2 (Debian 4.9.2-10) > built with OpenSSL 1.0.1k 8 Jan 2015 > TLS SNI support enabled > configure arguments: > --with-ld-opt=-Wl,-rpath,/usr/local/lib > --prefix=/etc/nginx > --sbin-path=/usr/sbin/nginx > --conf-path=/etc/nginx/nginx.conf > --error-log-path=/var/log/nginx/error.log > --http-log-path=/var/log/nginx/access.log > --pid-path=/var/run/nginx.pid > --lock-path=/var/run/nginx.lock > --http-client-body-temp-path=/var/cache/nginx/client_temp > --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp > --http-proxy-temp-path=/var/cache/nginx/proxy_temp > --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp > --http-scgi-temp-path=/var/cache/nginx/scgi_temp > --user=nginx > --group=nginx > --with-http_ssl_module > --with-stream_ssl_module > --with-http_realip_module > --with-http_addition_module > --with-http_gunzip_module > --with-http_gzip_static_module > --with-http_v2_module > --with-threads > --with-http_geoip_module > --with-ipv6 > --with-http_stub_status_module > --add-module=/opt/ngx_devel_kit-0.2.19 > --add-module=/opt/lua-nginx-module-0.10.0 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From undying-m на yandex.ru Mon Apr 11 16:15:11 2016 From: undying-m на yandex.ru (Den Bozhok) Date: Mon, 11 Apr 2016 19:15:11 +0300 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIG1hcCAtPiBwcm94eV9wYXNz?= In-Reply-To: References: <1396951460387045@web8g.yandex.ru> Message-ID: <1207121460391311@web27o.yandex.ru> Вложение в формате HTML было извлечено… URL: From bdmalex на mail.ru Tue Apr 12 01:24:01 2016 From: bdmalex на mail.ru (bdmalex на mail.ru) Date: Tue, 12 Apr 2016 04:24:01 +0300 Subject: Fw: new important message Message-ID: <0000143ab3f1$43042490$e18d4cfb$@mail.ru> Hello! New message, please read bdmalex на mail.ru --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From livingdeadzerg на yandex.ru Tue Apr 12 12:53:59 2016 From: livingdeadzerg на yandex.ru (navern) Date: Tue, 12 Apr 2016 15:53:59 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <2257078.GO8tOUMU73@vbart-workstation> References: <57038206.9030203@yandex.ru> <1840353.uJ1VWIj6di@vbart-workstation> <570BADAC.3070106@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> Message-ID: <570CEFE7.3040808@yandex.ru> Это нужно, потому что нужен reuseport, а конфигурировать его только в одном месте очень неудобно. Так как вся конфигурация происходит автоматически. По поводу двух одновременно запущенных nginx'ов - это необходимо так как сам nginx находится в докер контейнере и бывают ситуации, когда нужно запустить одновременно два докер контейнера, а потом один из них погасить. Удобней, чтобы reuseport был включен по умолчанию для всех пар IP:PORT. Ок. Попробую править функцию парсинга. Просто это выглядело сложнее, так как там сходу не разобраться. On 11.04.2016 18:12, Валентин Бартенев wrote: > On Monday 11 April 2016 16:59:08 navern wrote: >> Да, я читал эту статью. >> >> Проблема в том, что нам как раз нужен негативный побочный эффект:) >> Необходимо, чтобы одновременно можно было запустить два nginx'а. Этого >> можно добиться если везде указать reuseport, но только один раз. >> > А можно подробнее, зачем такое нужно? > > >> А можно подробнее о том как лучше решить эту задачу? Какой правильный >> флоу должен быть? Выставлять везде опцию в конфигах(каждый раз) и >> убирать проверку на это при парсинге конфигурации? >> > Правильный Максим уже описал, необходимо проверять все опции, и выдавать > ошибку, только если они отличаются. > > Но я лишь о том, что если уж править исходники затем, чтобы применить > опцию "reuseport" по умолчанию, то править функцию парсинга директивы > ngx_http_core_listen(), а не вмешиваться в функционирование. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From bgx на protva.ru Tue Apr 12 15:22:12 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Tue, 12 Apr 2016 18:22:12 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570CEFE7.3040808@yandex.ru> References: <57038206.9030203@yandex.ru> <1840353.uJ1VWIj6di@vbart-workstation> <570BADAC.3070106@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> Message-ID: <20160412152212.GA10001@cio.protva.ru> On Tue, Apr 12, 2016 at 03:53:59PM +0300, navern wrote: > По поводу двух одновременно запущенных nginx'ов - это необходимо так как > сам nginx находится в докер контейнере и бывают ситуации, когда нужно > запустить одновременно два докер контейнера, а потом один из них погасить. Ужас какой... Перенаправить запросы можно пакетным фильтром ядра, или внешним балансировщиком (если хочется userspace-решение). Для этого не нужно никаких reuseaddr/reuseport. -- Eugene Berdnikov From vbart на nginx.com Tue Apr 12 15:32:02 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 12 Apr 2016 18:32:02 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570CEFE7.3040808@yandex.ru> References: <57038206.9030203@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> Message-ID: <1867204.IzypTE0jiv@vbart-laptop> On Tuesday 12 April 2016 15:53:59 navern wrote: > Это нужно, потому что нужен reuseport, а конфигурировать его только в > одном месте очень неудобно. Так как вся конфигурация происходит > автоматически. > > По поводу двух одновременно запущенных nginx'ов - это необходимо так > как сам nginx находится в докер контейнере и бывают ситуации, когда > нужно запустить одновременно два докер контейнера, а потом один из них > погасить. > [..] Вас не смущает, что при этом часть соединений будет потеряна? -- Валентин Бартенев From gojpeg на gmail.com Tue Apr 12 17:46:09 2016 From: gojpeg на gmail.com (Peter Leonov) Date: Tue, 12 Apr 2016 19:46:09 +0200 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1867204.IzypTE0jiv@vbart-laptop> References: <57038206.9030203@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> Message-ID: <1A29787D575A4453AD318810A5E46FF0@gmail.com> On Tuesday, 12 April 2016 at 17:32, Валентин Бартенев wrote: > On Tuesday 12 April 2016 15:53:59 navern wrote: > > Это нужно, потому что нужен reuseport, а конфигурировать его только в > > одном месте очень неудобно. Так как вся конфигурация происходит > > автоматически. > > > > По поводу двух одновременно запущенных nginx'ов - это необходимо так > > как сам nginx находится в докер контейнере и бывают ситуации, когда > > нужно запустить одновременно два докер контейнера, а потом один из них > > погасить. > > > [..] > > Вас не смущает, что при этом часть соединений будет потеряна? Это смотря как контейнер сооружен и как его гасить. А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. Петр Леонов. From vbart на nginx.com Tue Apr 12 19:29:15 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 12 Apr 2016 22:29:15 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1A29787D575A4453AD318810A5E46FF0@gmail.com> References: <57038206.9030203@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> <1A29787D575A4453AD318810A5E46FF0@gmail.com> Message-ID: <3061709.fQ60vn1AAq@vbart-laptop> On Tuesday 12 April 2016 19:46:09 Peter Leonov wrote: > On Tuesday, 12 April 2016 at 17:32, Валентин Бартенев wrote: > > On Tuesday 12 April 2016 15:53:59 navern wrote: > > > Это нужно, потому что нужен reuseport, а конфигурировать его только в > > > одном месте очень неудобно. Так как вся конфигурация происходит > > > автоматически. > > > > > > По поводу двух одновременно запущенных nginx'ов - это необходимо так > > > как сам nginx находится в докер контейнере и бывают ситуации, когда > > > нужно запустить одновременно два докер контейнера, а потом один из них > > > погасить. > > > > > > [..] > > > > Вас не смущает, что при этом часть соединений будет потеряна? > Это смотря как контейнер сооружен и как его гасить. > И как с установленным SO_REUSEPORT в такой конфигурации можно не потерять соединений? > А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. > [..] SO_REUSEPORT в Linux не позволяет "0-downtime деплой", он вообще не для этого. -- Валентин Бартенев From gojpeg на gmail.com Tue Apr 12 20:48:52 2016 From: gojpeg на gmail.com (Peter Leonov) Date: Tue, 12 Apr 2016 22:48:52 +0200 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <3061709.fQ60vn1AAq@vbart-laptop> References: <57038206.9030203@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> <1A29787D575A4453AD318810A5E46FF0@gmail.com> <3061709.fQ60vn1AAq@vbart-laptop> Message-ID: <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> Вообще говоря, я понимаю с кем веду беседу, так что уже сильно сомневаюсь в своей разумности ;) Но, раз взялся за куш… On Tuesday, 12 April 2016 at 21:29, Валентин Бартенев wrote: > […] > > И как с установленным SO_REUSEPORT в такой конфигурации можно не потерять > соединений? Как обычно, обработать все запросы, не принимая новых, а потом закрыть свой слушающий сокет. Или nginx забывает, что он умел SIGQUIT, когда работает в докере с сокетом, открытым через SO_REUSEPORT? > > А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. > [..] > > SO_REUSEPORT в Linux не позволяет "0-downtime деплой", он вообще не для этого. А и пускай не позволяет, не важно почему. Но для чего именно нужен SO_REUSEPORT? Какая его конкретная цель? Спасибо! From vbart на nginx.com Tue Apr 12 21:01:07 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 13 Apr 2016 00:01:07 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> Message-ID: <2603688.WuvGErAChC@vbart-laptop> On Tuesday 12 April 2016 22:48:52 Peter Leonov wrote: > Вообще говоря, я понимаю с кем веду беседу, так что уже сильно сомневаюсь в своей разумности ;) Но, раз взялся за куш… > > > On Tuesday, 12 April 2016 at 21:29, Валентин Бартенев wrote: > > […] > > > > И как с установленным SO_REUSEPORT в такой конфигурации можно не потерять > > соединений? > > Как обычно, обработать все запросы, не принимая новых, а потом закрыть свой слушающий сокет. Или nginx забывает, что он умел SIGQUIT, когда работает в докере с сокетом, открытым через SO_REUSEPORT? Куда денутся новые соединения, стоящие в очереди к этому слушающему сокету, который вы собираетесь закрыть? Кто прекратит их туда добавлять? > > > > А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. > > [..] > > > > SO_REUSEPORT в Linux не позволяет "0-downtime деплой", он вообще не для этого. > А и пускай не позволяет, не важно почему. Но для чего именно нужен SO_REUSEPORT? Какая его конкретная цель? > Я уже указывал раньше в топике и давал ссылку на статью где расписаны подробности. В линуксе он служит только для повышения производительности путем распределения новых соединений по нескольким сокетам. Новые поступающие соединения попадают случайным образом на один из сокетов, открытых с опцией SO_REUSEPORT. При этом если вы закрываете один из них, то соединения, попавшие в очередь к этому сокету потеряются. -- Валентин Бартенев From nginx-ru на sadok.spb.ru Tue Apr 12 21:00:31 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Wed, 13 Apr 2016 00:00:31 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1A29787D575A4453AD318810A5E46FF0@gmail.com> References: <57038206.9030203@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> <1A29787D575A4453AD318810A5E46FF0@gmail.com> Message-ID: <1931886456.20160413000031@sadok.spb.ru> Здравствуйте, Peter. Вы писали 12 апреля 2016 г., 20:46:09: >> Вас не смущает, что при этом часть соединений будет потеряна? > Это смотря как контейнер сооружен и как его гасить. > А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. И на что только люди не идут, чтобы не купить NetScaler или F5 =) -- С уважением, Dmitry nginx-ru на sadok.spb.ru From maxim на nginx.com Wed Apr 13 11:47:31 2016 From: maxim на nginx.com (Maxim Konovalov) Date: Wed, 13 Apr 2016 14:47:31 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <1931886456.20160413000031@sadok.spb.ru> References: <57038206.9030203@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> <1A29787D575A4453AD318810A5E46FF0@gmail.com> <1931886456.20160413000031@sadok.spb.ru> Message-ID: <570E31D3.7030403@nginx.com> On 4/13/16 12:00 AM, Dmitry Ivanov wrote: > Здравствуйте, Peter. > > Вы писали 12 апреля 2016 г., 20:46:09: > >>> Вас не смущает, что при этом часть соединений будет потеряна? >> Это смотря как контейнер сооружен и как его гасить. > >> А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. > > И на что только люди не идут, чтобы не купить NetScaler или F5 =) > Как будто такая покупка что-то решает. -- Maxim Konovalov From chipitsine на gmail.com Wed Apr 13 11:56:12 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 13 Apr 2016 14:56:12 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <570E31D3.7030403@nginx.com> References: <57038206.9030203@yandex.ru> <2257078.GO8tOUMU73@vbart-workstation> <570CEFE7.3040808@yandex.ru> <1867204.IzypTE0jiv@vbart-laptop> <1A29787D575A4453AD318810A5E46FF0@gmail.com> <1931886456.20160413000031@sadok.spb.ru> <570E31D3.7030403@nginx.com> Message-ID: ну, что-то решает. например, увеличивает материальное состояние всех причастных к сделке )) 13 апреля 2016 г., 14:47 пользователь Maxim Konovalov написал: > On 4/13/16 12:00 AM, Dmitry Ivanov wrote: > > Здравствуйте, Peter. > > > > Вы писали 12 апреля 2016 г., 20:46:09: > > > >>> Вас не смущает, что при этом часть соединений будет потеряна? > >> Это смотря как контейнер сооружен и как его гасить. > > > >> А вообще, 0-downtime деплой через reuseport очень вкусно выглядит, да. > > > > И на что только люди не идут, чтобы не купить NetScaler или F5 =) > > > Как будто такая покупка что-то решает. > > -- > Maxim Konovalov > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sarg на sarg.org.ru Wed Apr 13 12:37:07 2016 From: sarg на sarg.org.ru (=?UTF-8?B?0KHQtdGA0LPQtdC5INCi0YDQvtGE0LjQvNC+0LI=?=) Date: Wed, 13 Apr 2016 12:37:07 +0000 Subject: =?UTF-8?B?WC1BY2NlbC1SZWRpcmVjdCArIHByb3h5X3Bhc3Mg0L3QtSDRgdC+0YXRgNCw0L0=?= =?UTF-8?B?0Y/QtdGCINC30LDQs9C+0LvQvtCy0L7QuiBDb250ZW50LVR5cGU=?= Message-ID: Имеется конфигурация: nginx 1.8.1, X-Accel-Redirect + try_files $uri @upstream Своими словами - нужно отдавать через x-accel-redirect файлы, которые могут лежать или на локальном диске или на другом сервере. Приложение устанавливает заголовки X-Accel-Redirect и Content-Type. Ожидаемое поведение: заголовок Content-Type будет без изменения передан клиенту. Наблюдаемое поведение: в случае, если происходит proxy_pass на upstream, то клиенту передаётся заголовок Content-Type полученный от upstream. Я решил эту проблему добавив proxy_hide_header Content-Type; к location @filestorage. Я нашёл в документации такое утверждение: https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/ Note that the following HTTP headers aren’t modified by NGINX: Content-Type Content-Disposition Accept-Ranges Set-Cookie Cache-Control Expires Хочу выяснить у знатоков, является ли данное поведение nginx верным, или это баг? Выдержка из конфига: location /internal/ { internal; alias /home/user/fs/; try_files $uri @filestorage; } location @filestorage { rewrite ^/internal(/.*)$ $1 break; proxy_pass http://storage; # to upstream proxy_read_timeout 90; proxy_connect_timeout 90; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_hide_header Content-Type; # preserves content-type for x-accel-redirect proxy_next_upstream http_404; } ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Apr 13 15:21:01 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 13 Apr 2016 18:21:01 +0300 Subject: =?UTF-8?B?UmU6IFgtQWNjZWwtUmVkaXJlY3QgKyBwcm94eV9wYXNzINC90LUg0YHQvtGF0YA=?= =?UTF-8?B?0LDQvdGP0LXRgiDQt9Cw0LPQvtC70L7QstC+0LogQ29udGVudC1UeXBl?= In-Reply-To: References: Message-ID: <20160413152101.GK36620@mdounin.ru> Hello! On Wed, Apr 13, 2016 at 12:37:07PM +0000, Сергей Трофимов wrote: > Имеется конфигурация: nginx 1.8.1, X-Accel-Redirect + try_files $uri > @upstream > Своими словами - нужно отдавать через x-accel-redirect файлы, которые могут > лежать или на локальном диске или на другом сервере. > Приложение устанавливает заголовки X-Accel-Redirect и Content-Type. > > Ожидаемое поведение: заголовок Content-Type будет без изменения передан > клиенту. > Наблюдаемое поведение: в случае, если происходит proxy_pass на upstream, то > клиенту передаётся заголовок Content-Type полученный от upstream. Заголовок Content-Type сохраняется из ответа с X-Accel-Redirect, однако если в ходе дальнейшей обработки он будет явно установлен заново - клиенту уйдёт уже новый заголовок. Обработка статических файлов достаточно умна, чтобы не устанавливать Content-Type повторно без нужды, однако если Content-Type возвращает бекенд - то nginx его и использует, если не указано иное. А, скажем, в случае Set-Cookie - клиенту уйдут куки как из исходного ответа с X-Accel-Redirect, так и из реального ответа. > Я решил эту проблему добавив proxy_hide_header Content-Type; к location > @filestorage. Да, это правильное решение. > Я нашёл в документации такое утверждение: > https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/ Отмечу в скобках, что это wiki, не документация. Там может быть что угодно. Документация находится по адресу http://nginx.org/ru/docs/. -- Maxim Dounin http://nginx.org/ From mdounin на mdounin.ru Wed Apr 13 16:22:28 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 13 Apr 2016 19:22:28 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <2603688.WuvGErAChC@vbart-laptop> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> Message-ID: <20160413162228.GL36620@mdounin.ru> Hello! On Wed, Apr 13, 2016 at 12:01:07AM +0300, Валентин Бартенев wrote: > On Tuesday 12 April 2016 22:48:52 Peter Leonov wrote: > > Вообще говоря, я понимаю с кем веду беседу, так что уже сильно > > сомневаюсь в своей разумности ;) Но, раз взялся за куш… > > > > > > On Tuesday, 12 April 2016 at 21:29, Валентин Бартенев wrote: > > > […] > > > > > > И как с установленным SO_REUSEPORT в такой конфигурации можно не потерять > > > соединений? > > > > Как обычно, обработать все запросы, не принимая новых, а потом > > закрыть свой слушающий сокет. Или nginx забывает, что он умел > > SIGQUIT, когда работает в докере с сокетом, открытым через > > SO_REUSEPORT? > > Куда денутся новые соединения, стоящие в очереди к этому слушающему сокету, > который вы собираетесь закрыть? Кто прекратит их туда добавлять? На самом деле, на DragonFly BSD даже будет работать. И на Linux'е, возможно, тоже когда-нибудь начнёт работать. Не уверен, правда, что доживём. Кстати, кто-нибудь следил, вот этот тред: https://www.mail-archive.com/netdev на vger.kernel.org/msg79763.html чем-нибудь закончился? Или все забили? Решение, конечно, феерическое в своей идиотичности, но хоть какое-то. Опять же, может они в процессе развития мысли дойдут и до правильного решения. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Apr 13 16:31:22 2016 From: nginx-forum на forum.nginx.org (deniss) Date: Wed, 13 Apr 2016 12:31:22 -0400 Subject: nginx 1.9.14 & upload-progress-module In-Reply-To: <243401985.f0eMhAr3OB@vbart-laptop> References: <243401985.f0eMhAr3OB@vbart-laptop> Message-ID: <9233d18e4ba4cc02cc4ff5c93637fd19.NginxMailingListRussian@forum.nginx.org> Вот конфиг: 1 ## Config 2 3 server { 4 listen xxx.xxx.xxx.xxx:80; 5 server_name share.example.com; 6 upload_set_form_field $upload_field_name.name "$upload_file_name"; 7 upload_set_form_field $upload_field_name.mime "$upload_content_type"; 8 upload_set_form_field $upload_field_name.path "$upload_tmp_path"; 9 upload_aggregate_form_field $upload_field_name.sha "$upload_file_sha1"; 10 upload_aggregate_form_field $upload_field_name.size "$upload_file_size"; 11 upload_pass_form_field "^desc$|^folder_id$"; 12 upload_store /mnt/files/tmp; 13 upload_cleanup 400-599; 14 error_log /var/logs/share_nginx_error.log debug; 15 16 location / { 17 proxy_pass http://127.0.0.1:80; 18 proxy_set_header Host $host; 19 proxy_set_header X-Real-IP $remote_addr; 20 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 21 track_uploads proxied 30s; 22 proxy_pass_header Authorization; 23 access_log /var/logs/share_nginx_access.log; 24 } 25 26 location /doupload { 27 upload_pass /doneupload; 28 track_uploads proxied 30s; 29 # access_log /var/log/share_nginx_access.log; 30 } 31 32 location /doneupload { 33 proxy_pass http://127.0.0.1:80/doupload; 34 proxy_set_header Host $host; 35 proxy_set_header X-Real-IP $remote_addr; 36 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 37 # access_log /var/log/share_nginx_access.log; 38 } 39 40 location /media { 41 root /var/www/share; 42 # access_log /var/log/share_nginx_access.log; 43 } 44 45 location /error { 46 root /var/www/error/; 47 } 48 49 location ^~ /progress { 50 expires off; 51 add_header Pragma no-cache; 52 add_header Cache-Control no-cache,must-revalidate; 53 report_uploads proxied; 54 # access_log /var/log/share_nginx_access.log; 55 } 56 57 location /uploaded_files { 58 root /mnt/files; 59 internal; 60 # limit_conn one 5; 61 # directio 1m; 62 # access_log /var/log/share_nginx_access.log; 63 } 64 65 location /previews { 66 root /mnt/files; 67 } Ъ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266053,266162#msg-266162 From nginx-forum на forum.nginx.org Fri Apr 15 13:56:50 2016 From: nginx-forum на forum.nginx.org (i3g) Date: Fri, 15 Apr 2016 09:56:50 -0400 Subject: Redirect 301 https. Nginx + OracleIAS10g Message-ID: Доброго времени суток! Решил настроить связку nginx + OHS(OracleIAS10g). По какой-то причине не корректно работает redirect 301. Версия nginx 1.8 Смортю в firebug, браузеру приходит ответ c полной ссылкой на http такого вида: Status: 302 Moved Temporarily Location: http://example.com/test/index.html?command=refresh2&__sessionId=47&__commandId=51 хотя по идее должна прийти: Location: httpS://example.com.......... Нашел в интернете, что для настройки такой конфигурации в связке с СП Weblogic12c есть параметры: # WebLogic: #proxy_set_header WL-Proxy-Client-IP $_ClientIP_HeaderVariableValue; #proxy_set_header WL-Proxy-SSL $_SSLChannelFlag_HeaderVariableValue; Но ничего подобного для OracleIAS10g не нашел.... Конфиг прилагаю: user nginx; worker_processes auto; error_log /var/log/nginx/error.log error; pid /var/run/nginx.pid; events { worker_connections 10240; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log main; server_tokens off; client_max_body_size 0; underscores_in_headers on; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 300; keepalive_requests 300; proxy_buffering on; proxy_buffers 128 4k; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s; client_header_timeout 120s; client_body_timeout 120s; send_timeout 120s; gzip on; gzip_comp_level 9; gzip_proxied any; gzip_min_length 256; gzip_http_version 1.0; gzip_vary off; gzip_types *; proxy_cache_path /usr/share/nginx/cache levels=1:2 use_temp_path=off keys_zone=cache:64m inactive=24h max_size=1G; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_valid 200 301 302 404 24h; proxy_cache_lock on; proxy_cache_lock_timeout 60s; proxy_cache_lock_age 60s; proxy_http_version 1.1; map $scheme $_SSLChannelFlag_HeaderVariableValue { "https" true; default false; } server { server_name example.com i.p.add.res; listen 80; return 301 https://example.com$request_uri; } upstream testup { server oracleASIp:80; keepalive 100; } server { listen 443 ssl; server_name example.com i.p.add.res; ssl_certificate /etc/nginx/conf.d/ssl/*.crt; ssl_certificate_key /etc/nginx/conf.d/ssl/*.key; ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem; ssl_protocols TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:50m; ssl_session_timeout 30m; ssl_ciphers 'ECDHE-blabla.....'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; proxy_hide_header Strict-Transport-Security; set $_ClientIP_HeaderVariableValue $proxy_add_x_forwarded_for; proxy_set_header Host $http_Host; proxy_set_header Connection ""; proxy_set_header X-Forwarded-For $_ClientIP_HeaderVariableValue; proxy_set_header X-Forwarded-Proto $scheme; location /example/test/ { error_page 456 = @ibrs; return 456; } location /example { allow 127.0.0.0/8; allow 192.168.0.0/16; deny all; error_page 404 = @testup; rewrite "^(?:/[^/]+){3}$" $uri/; } location @testup { limit_except GET HEAD POST { deny all; } proxy_pass http://testup; } location @cache { access_log /var/log/nginx/cache.log main; limit_except GET HEAD { deny all; } gzip off; rewrite "(?i)^(.*);jsessionid=.+$" $1 break; proxy_cache cache; proxy_cache_key $uri; proxy_pass http://127.0.0.1:11700; } location / { return 301 /example.com/test/index.html; root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } # << end of server >> server { listen 127.0.0.1:11700; location /example/ { access_log /var/log/nginx/cache_renew.log main; proxy_set_header Host $http_Host; proxy_set_header Connection ""; gzip_comp_level 9; proxy_pass http://example; } } # << end of server >> } # << end of http >> Почему в итоге возвращается http, а не https? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266198,266198#msg-266198 From nginx-forum на forum.nginx.org Mon Apr 18 09:09:48 2016 From: nginx-forum на forum.nginx.org (siroco) Date: Mon, 18 Apr 2016 05:09:48 -0400 Subject: =?UTF-8?B?UmVkaXJlY3Qg0LIg0YHQu9GD0YfQsNC1INC10YHQu9C4INGE0LDQudC7INC/0YA=?= =?UTF-8?B?0LjRgdGD0YLRgdGC0LLRg9C10YI=?= Message-ID: Привет! Хочется сделать такую вещь - проверять наличие файла (это файл с контрольной суммой, например, "/myfile.txt.sha256") и в случае наличия файла делать редирект на CDN на "/myfile.txt". А в случае отсутствия файла - просто выдавать 404. Поскольку "if"(ы) это плохо, то напрашивается решение с try_files. Однако вот такой вот конфиг редиректит на CDN только в случае отсутствия файла с контрольной суммой: # if file with checksum exists then redirect to CDN location / { root /var/www/myfiles; try_files $uri.sha256 @redirect_to_cdn; } location @redirect_to_cdn { return 302 http://mycdn.domain.com$request_uri; } Возможно ли как-то инвертировать условие try_files? -- S. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266212,266212#msg-266212 From igor на sysoev.ru Mon Apr 18 09:17:18 2016 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Apr 2016 12:17:18 +0300 Subject: =?UTF-8?B?UmU6IFJlZGlyZWN0INCyINGB0LvRg9GH0LDQtSDQtdGB0LvQuCDRhNCw0LnQuyA=?= =?UTF-8?B?0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGC?= In-Reply-To: References: Message-ID: <9A603E2B-CC7B-495F-A628-5B65C0F7A3C7@sysoev.ru> On 18 Apr 2016, at 12:09, siroco wrote: > Привет! > > Хочется сделать такую вещь - проверять наличие файла (это файл с контрольной > суммой, например, "/myfile.txt.sha256") и в случае наличия файла делать > редирект на CDN на "/myfile.txt". А в случае отсутствия файла - просто > выдавать 404. > > Поскольку "if"(ы) это плохо, то напрашивается решение с try_files. > > Однако вот такой вот конфиг редиректит на CDN только в случае отсутствия > файла с контрольной суммой: > > # if file with checksum exists then redirect to CDN > location / { > root /var/www/myfiles; > try_files $uri.sha256 @redirect_to_cdn; > } > > location @redirect_to_cdn { > return 302 http://mycdn.domain.com$request_uri; > } > > > Возможно ли как-то инвертировать условие try_files? if это, конечно, плохо, но в сочетании с return не имеет побочных эффектов. Можно использовать. -- Igor Sysoev http://nginx.com From chipitsine на gmail.com Mon Apr 18 09:18:35 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Mon, 18 Apr 2016 14:18:35 +0500 Subject: =?UTF-8?B?UmU6IFJlZGlyZWN0INCyINGB0LvRg9GH0LDQtSDQtdGB0LvQuCDRhNCw0LnQuyA=?= =?UTF-8?B?0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGC?= In-Reply-To: References: Message-ID: если файлы уникальные, то может быть вам подойдет http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_store 18 апреля 2016 г., 14:09 пользователь siroco написал: > Привет! > > Хочется сделать такую вещь - проверять наличие файла (это файл с > контрольной > суммой, например, "/myfile.txt.sha256") и в случае наличия файла делать > редирект на CDN на "/myfile.txt". А в случае отсутствия файла - просто > выдавать 404. > > Поскольку "if"(ы) это плохо, то напрашивается решение с try_files. > > Однако вот такой вот конфиг редиректит на CDN только в случае отсутствия > файла с контрольной суммой: > > # if file with checksum exists then redirect to CDN > location / { > root /var/www/myfiles; > try_files $uri.sha256 @redirect_to_cdn; > } > > location @redirect_to_cdn { > return 302 http://mycdn.domain.com$request_uri; > } > > > Возможно ли как-то инвертировать условие try_files? > > -- > S. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266212,266212#msg-266212 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Mon Apr 18 10:33:11 2016 From: nginx-forum на forum.nginx.org (siroco) Date: Mon, 18 Apr 2016 06:33:11 -0400 Subject: =?UTF-8?B?UmU6IFJlZGlyZWN0INCyINGB0LvRg9GH0LDQtSDQtdGB0LvQuCDRhNCw0LnQuyA=?= =?UTF-8?B?0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGC?= In-Reply-To: References: Message-ID: <53525c47d08bab0918e71c6031649980.NginxMailingListRussian@forum.nginx.org> Спасибо! Сделал так, все работает как надо: location /some-location { # where we store sha256 sums root /var/www/sha256sums; # we are checking files plus ".sha256" extentions set $filetocheck $uri.sha256; set $cdn_server_name our-cdn.domain.com; if (!-f $document_root$filetocheck) { return 404; break; } return 302 http://$cdn_server_name$request_uri; } Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266212,266215#msg-266215 From igor на sysoev.ru Mon Apr 18 10:45:53 2016 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Apr 2016 13:45:53 +0300 Subject: =?UTF-8?B?UmU6IFJlZGlyZWN0INCyINGB0LvRg9GH0LDQtSDQtdGB0LvQuCDRhNCw0LnQuyA=?= =?UTF-8?B?0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGC?= In-Reply-To: <53525c47d08bab0918e71c6031649980.NginxMailingListRussian@forum.nginx.org> References: <53525c47d08bab0918e71c6031649980.NginxMailingListRussian@forum.nginx.org> Message-ID: <58FB9F01-33C2-4294-BF76-BAE4E5701B9B@sysoev.ru> On 18 Apr 2016, at 13:33, siroco wrote: Вот это > # we are checking files plus ".sha256" extentions > set $filetocheck $uri.sha256; > > set $cdn_server_name our-cdn.domain.com; лучше сразу подставить в директивы. -- Igor Sysoev http://nginx.com From nginx-forum на forum.nginx.org Mon Apr 18 10:50:51 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Mon, 18 Apr 2016 06:50:51 -0400 Subject: =?UTF-8?B?0JjQvdCy0LDQu9C40LTQsNGG0LjRjyDQutGN0YjQsA==?= Message-ID: <382bc38e659be34da55bab4fa061b87e.NginxMailingListRussian@forum.nginx.org> Добрый день! Правильно ли я понимаю, что инвалидировать кэш заголовком в запросе можно только в "платной" версии nginx? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266217,266217#msg-266217 From vbart на nginx.com Mon Apr 18 13:07:36 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 18 Apr 2016 16:07:36 +0300 Subject: =?UTF-8?B?UmU6INCY0L3QstCw0LvQuNC00LDRhtC40Y8g0LrRjdGI0LA=?= In-Reply-To: <382bc38e659be34da55bab4fa061b87e.NginxMailingListRussian@forum.nginx.org> References: <382bc38e659be34da55bab4fa061b87e.NginxMailingListRussian@forum.nginx.org> Message-ID: <31088183.HKqd19SxIu@vbart-workstation> On Monday 18 April 2016 06:50:51 vitcool wrote: > Добрый день! > > Правильно ли я понимаю, что инвалидировать кэш заголовком в запросе можно > только в "платной" версии nginx? > Если речь идет про директиву "proxy_cache_purge" )и подобные в scgi, fastcgi, uwsgi модулях), то правильно. http://nginx.org/r/proxy_cache_purge/ru Если про "proxy_cache_bypass", то она доступна бесплатно. http://nginx.org/r/proxy_cache_bypass/ru -- Валентин Бартенев From gilgameshfreedom на yandex.ru Mon Apr 18 15:50:27 2016 From: gilgameshfreedom на yandex.ru (=?UTF-8?B?0JDQvdCw0YLQvtC70LjQuSDQmtC+0YDQvtGB0YLQtdC70LXQsg==?=) Date: Mon, 18 Apr 2016 18:50:27 +0300 Subject: nginx reload & restart Message-ID: <57150243.5090800@yandex.ru> Здравствуйте! Подскажите, пожалуйста, есть ли список параметров в конфигурационном файле nginx, при изменении/добавлении/удаления которых достаточно и беспроблемно использовать nginx reload, а не nginx restart/upgrade? В моей конфигурации на множество серверов прилетают обновления конфигурационных файлов nginx и хотелось бы минимизировать использовать restart/upgrade. В основном, мой вопрос касается в случае обновления файлов ssl-сертификата и ключа, достаточно будет в этом случае reload или будут подводные камни? P.S. Версия nginx/1.9.13 -- С уважением, Коростелев Анатолий From nginx-forum на forum.nginx.org Mon Apr 18 15:56:33 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Mon, 18 Apr 2016 11:56:33 -0400 Subject: =?UTF-8?B?UmU6INCY0L3QstCw0LvQuNC00LDRhtC40Y8g0LrRjdGI0LA=?= In-Reply-To: <31088183.HKqd19SxIu@vbart-workstation> References: <31088183.HKqd19SxIu@vbart-workstation> Message-ID: <74ae94dc9d168f39a0851ab3fbfa7a08.NginxMailingListRussian@forum.nginx.org> я считал что proxy_cache_bypass не приводит к инвалидации кэша, а просто отправляет запрос к бекенду напрямую Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266217,266223#msg-266223 From vbart на nginx.com Mon Apr 18 16:48:06 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 18 Apr 2016 19:48:06 +0300 Subject: =?UTF-8?B?UmU6INCY0L3QstCw0LvQuNC00LDRhtC40Y8g0LrRjdGI0LA=?= In-Reply-To: <74ae94dc9d168f39a0851ab3fbfa7a08.NginxMailingListRussian@forum.nginx.org> References: <31088183.HKqd19SxIu@vbart-workstation> <74ae94dc9d168f39a0851ab3fbfa7a08.NginxMailingListRussian@forum.nginx.org> Message-ID: <2145546.UZlI8ZRnYI@vbart-workstation> On Monday 18 April 2016 11:56:33 vitcool wrote: > я считал что proxy_cache_bypass не приводит к инвалидации кэша, а просто > отправляет запрос к бекенду напрямую > [..] Но соответствующая запись кэша может быть при этом обновлена. -- Валентин Бартенев From nginx на kinetiksoft.com Mon Apr 18 16:57:59 2016 From: nginx на kinetiksoft.com (=?utf-8?B?0JjQstCw0L0=?=) Date: Mon, 18 Apr 2016 19:57:59 +0300 Subject: nginx reload & restart In-Reply-To: <57150243.5090800@yandex.ru> References: <57150243.5090800@yandex.ru> Message-ID: <1597402.amVKb8pzjB@cybernote> В письме от 18 апреля 2016 18:50:27 пользователь Анатолий Коростелев написал: > Здравствуйте! > > Подскажите, пожалуйста, есть ли список параметров в конфигурационном > файле nginx, при изменении/добавлении/удаления которых достаточно и > беспроблемно использовать nginx reload, а не nginx restart/upgrade? В > моей конфигурации на множество серверов прилетают обновления > конфигурационных файлов nginx и хотелось бы минимизировать использовать > restart/upgrade. > > В основном, мой вопрос касается в случае обновления файлов > ssl-сертификата и ключа, достаточно будет в этом случае reload или будут > подводные камни? > > P.S. Версия nginx/1.9.13 Здравствуйте! > SIGHUP Reload configuration, start the new worker process with a > new configuration, and gracefully shut down old worker pro‐> > cesses. Так что можете использовать reload при любом обновлении конфигурации. Касательно обновления сертификатов у меня по крону обновляются сертификаты от letsencrypt с дальнейшим nginx reload. Подводных камней не заметил. Только не забывайте проверять файлы конфигурации на ошибки. nginx, получивший SIGHUP промолчит при ошибках в конфиге. Поэтому перед этим надо делать nginx -t. С уважением, Иван. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Mon Apr 18 17:02:48 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 18 Apr 2016 20:02:48 +0300 Subject: nginx reload & restart In-Reply-To: <57150243.5090800@yandex.ru> References: <57150243.5090800@yandex.ru> Message-ID: <20160418170248.GQ36620@mdounin.ru> Hello! On Mon, Apr 18, 2016 at 06:50:27PM +0300, Анатолий Коростелев wrote: > Здравствуйте! > > Подскажите, пожалуйста, есть ли список параметров в конфигурационном файле > nginx, при изменении/добавлении/удаления которых достаточно и беспроблемно > использовать nginx reload, а не nginx restart/upgrade? В моей конфигурации > на множество серверов прилетают обновления конфигурационных файлов nginx и > хотелось бы минимизировать использовать restart/upgrade. Проблемы с reload'ом могут быть в случаях, когда затрагиваются параметры, разделяемые между многими процессами. В частности: - При изменениях зон разделяемой памяти - нельзя менять размеры существующих зон и/или их использование (скажем, в limit_req нельзя поменять одну переменную на другую). При этом можно создать новую зону с произвольными параметрами - при этом в старых рабочих процессах останется старая зона, а в новых - будет использоваться уже новая. - На Linux'е могут быть проблемы с изменением слушающих сокетов, т.к. скажем слушать на *:80 и 127.0.0.1:80 одновременно Linux не разрешает. Соответственно, при замене в конфигах одного на другое reload будет невозможен, т.к. Linux не разрешит сделать bind() для сокета из новой конфигурации Если nginx не может сделать reload по каким либо причинам, в том числе - по перечисленным выше, а равно из-за каких-либо ошибок, - об этом будет написано в логе, а сам nginx останется работать с прежней конфигурацией. > В основном, мой вопрос касается в случае обновления файлов ssl-сертификата и > ключа, достаточно будет в этом случае reload или будут подводные камни? Каких-либо специфических проблем при обновлении сертификатов - быть не должно. Однако в любом случае могут возникнуть непредвиденные проблемы - e.g., может банально кончится память. Т.е. в любом случае - стоит смотреть в логи. Использовать restart/upgrade для обновления сертификатов - однозначно не надо. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Mon Apr 18 18:06:45 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Mon, 18 Apr 2016 14:06:45 -0400 Subject: =?UTF-8?B?UmU6INCY0L3QstCw0LvQuNC00LDRhtC40Y8g0LrRjdGI0LA=?= In-Reply-To: <2145546.UZlI8ZRnYI@vbart-workstation> References: <2145546.UZlI8ZRnYI@vbart-workstation> Message-ID: <6c22d8b2d3bcf4da6c40e1c4de5815cb.NginxMailingListRussian@forum.nginx.org> Спасибо за ответы, буду разбираться Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266217,266229#msg-266229 From nginx-forum на forum.nginx.org Mon Apr 18 20:37:52 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Mon, 18 Apr 2016 16:37:52 -0400 Subject: Slice cache Message-ID: Здравствуйте. Я хотел бы узнать, Nginx умеет отдавать клиентам из своего кеша, ответы частями? Корректный заголовок Range: bytes... клиент отправляет, но Nginx из кеша отдает весь ответ статус - 200, вместо частичного ответа со статусом 206. По сути нужен функционал обратный модулю Slice. Наш use case: Бекенд отдает, большой ресурсоемкий ответ (аналитик отчет - это результат многих сложных SQL) разным клиентам в разное время нужны только части этого отчета и иногда весь целиком. Модуль Slice только усложнит ситуацию, потому что он сгенерирует много подзапросов на бекенд, вот именно этого и нужно избежать, чтобы бекенд не генерировал куски отчета много раз, а один раз сделал полный отчет и отдал в кеш Nginx. Надеюсь это можно сделать. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266232,266232#msg-266232 From mdounin на mdounin.ru Tue Apr 19 01:32:13 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Apr 2016 04:32:13 +0300 Subject: Slice cache In-Reply-To: References: Message-ID: <20160419013213.GU36620@mdounin.ru> Hello! On Mon, Apr 18, 2016 at 04:37:52PM -0400, S.A.N wrote: > Я хотел бы узнать, Nginx умеет отдавать клиентам из своего кеша, ответы > частями? Да. > Корректный заголовок Range: bytes... клиент отправляет, но Nginx из кеша > отдает весь ответ статус - 200, вместо частичного ответа со статусом 206. По умолчанию range-запросы из кеша работают только в том случае, если в ответе бекенда был заголовок Accept-Ranges и должна быть явно указана длина ответа. Если заголовка Accept-Ranges нет - можно форсировать поддержку range-запросов с помощью директивы proxy_force_ranges (http://nginx.org/r/proxy_force_ranges/ru), но лучше его просто добавить в ответ бекенда. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Tue Apr 19 06:03:29 2016 From: nginx-forum на forum.nginx.org (amatol15) Date: Tue, 19 Apr 2016 02:03:29 -0400 Subject: Nginx ssl Message-ID: <0390e54ed10940deac6240da4e108c95.NginxMailingListRussian@forum.nginx.org> Добрый день Есть сервер nginx работает как обратный прокси сервер, для некоторого количества сайтов, один из них нужно перевести на https, конфиг server { server_name www.example.com example.com; location / { proxy_pass http://192.168.0.23; proxy_redirect http://localhost/ http://$host:$server_port/; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 8M; } По адресу 192.168.0.23 Виртуалка с Nginx + phpfpm Вопрос где включать ssl на гипервизоре(обратная прокся) или на виртуалке с сайтом? И если можно в двух словах о том как это сделать. Спасибо Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266240,266240#msg-266240 From nginx-forum на forum.nginx.org Tue Apr 19 07:24:37 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Tue, 19 Apr 2016 03:24:37 -0400 Subject: Slice cache In-Reply-To: <20160419013213.GU36620@mdounin.ru> References: <20160419013213.GU36620@mdounin.ru> Message-ID: > По умолчанию range-запросы из кеша работают только в том случае, > если в ответе бекенда был заголовок Accept-Ranges и должна быть > явно указана длина ответа. Супер, спасибо, отдали Accept-Ranges все работает. Кстати есть ли смысл бекенду сжимать (gzip) свой ответ, если клиенты запрашивают кеш частично (Range)? Я так понимаю что в этом случаи Nginx каждый раз надо разжимать большой ответ, потом сжимать часть которые запросил клиент. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266232,266247#msg-266247 From mdounin на mdounin.ru Tue Apr 19 13:28:30 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Apr 2016 16:28:30 +0300 Subject: Slice cache In-Reply-To: References: <20160419013213.GU36620@mdounin.ru> Message-ID: <20160419132830.GW36620@mdounin.ru> Hello! On Tue, Apr 19, 2016 at 03:24:37AM -0400, S.A.N wrote: > > По умолчанию range-запросы из кеша работают только в том случае, > > если в ответе бекенда был заголовок Accept-Ranges и должна быть > > явно указана длина ответа. > > Супер, спасибо, отдали Accept-Ranges все работает. > > Кстати есть ли смысл бекенду сжимать (gzip) свой ответ, если клиенты > запрашивают кеш частично (Range)? > Я так понимаю что в этом случаи Nginx каждый раз надо разжимать большой > ответ, потом сжимать часть которые запросил клиент. Я бы не стал. Сжатие на лету исключает возможность использования range-запросов, т.к. сжимается весь ответ целиком и результат сжатия может быть разный в зависимости от временных факторов, а range-запросы должны применяться к уже сжатому ответу. Для range-запросов могло бы работать сжатие на уровне передачи по http ("Transfer-Encoding: gzip"), но оно практически нигде не поддерживается. Можно пытаться детерминировано сжимать на бекенде, и соответственно потом из кеша nginx будет раздавать сжатый файл с учётом range-запросов, но разжимать это nginx не сможет, либо же пропадёт возможность использовать range-запросы для расжатого ответа (потому что нужна явно заданная длина, см. предыдущий ответ, а длина при расжатии заранее неизвестна). -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Tue Apr 19 13:39:53 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Tue, 19 Apr 2016 09:39:53 -0400 Subject: Slice cache In-Reply-To: <20160419132830.GW36620@mdounin.ru> References: <20160419132830.GW36620@mdounin.ru> Message-ID: <282b55d2054dd88db5f7687fefd81345.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Tue, Apr 19, 2016 at 03:24:37AM -0400, S.A.N wrote: > > > > По умолчанию range-запросы из кеша работают только в том случае, > > > если в ответе бекенда был заголовок Accept-Ranges и должна быть > > > явно указана длина ответа. > > > > Супер, спасибо, отдали Accept-Ranges все работает. > > > > Кстати есть ли смысл бекенду сжимать (gzip) свой ответ, если клиенты > > запрашивают кеш частично (Range)? > > Я так понимаю что в этом случаи Nginx каждый раз надо разжимать > большой > > ответ, потом сжимать часть которые запросил клиент. > > Я бы не стал. > > Сжатие на лету исключает возможность использования range-запросов, > т.к. сжимается весь ответ целиком и результат сжатия может быть > разный в зависимости от временных факторов, а range-запросы должны > применяться к уже сжатому ответу. Для range-запросов могло бы > работать сжатие на уровне передачи по http ("Transfer-Encoding: > gzip"), но оно практически нигде не поддерживается. > > Можно пытаться детерминировано сжимать на бекенде, и > соответственно потом из кеша nginx будет раздавать сжатый файл с > учётом range-запросов, но разжимать это nginx не сможет, либо же > пропадёт возможность использовать range-запросы для расжатого > ответа (потому что нужна явно заданная длина, см. предыдущий > ответ, а длина при расжатии заранее неизвестна). > Понял, спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266232,266257#msg-266257 From livingdeadzerg на yandex.ru Tue Apr 19 14:43:58 2016 From: livingdeadzerg на yandex.ru (navern) Date: Tue, 19 Apr 2016 17:43:58 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <20160413162228.GL36620@mdounin.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> Message-ID: <5716442E.1060101@yandex.ru> Всем добрый день, > Вас не смущает, что при этом часть соединений будет потеряна? Ну это не супер приятно да, но альтернатива хуже. Потому что в альтернативном варинте часть соединений будет невозможна на то время, пока мы опустили один контейнер, а потом подняли второй. > Но я лишь о том, что если уж править исходники затем, чтобы применить > опцию "reuseport" по умолчанию, то править функцию парсинга директивы > ngx_http_core_listen(), а не вмешиваться в функционирование. Сделал указанным способом, пока проверил на тестовом стенде - работает. Посмотрите патч во вложении? Патч для nginx'а 1.9.13. ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: reuseport.patch Тип: text/x-patch Размер: 1786 байтов Описание: отсутствует URL: From mdounin на mdounin.ru Tue Apr 19 16:21:29 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Apr 2016 19:21:29 +0300 Subject: nginx-1.9.15 Message-ID: <20160419162129.GF36620@mdounin.ru> Изменения в nginx 1.9.15 19.04.2016 *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли возникать ошибки "recv() failed". *) Исправление: при использовании HTTP/2 и директив limit_req или auth_request при чтении тела запроса мог произойти таймаут или ошибка "client violated flow control"; ошибка появилась в 1.9.14. *) Изменение: при использовании HTTP/2 ответ мог не показываться некоторыми браузерами, если тело запроса было прочитано не целиком; ошибка появилась в 1.9.14. *) Исправление: при использовании директивы "aio threads" соединения могли зависать. Спасибо Mindaugas Rasiukevicius. -- Maxim Dounin http://nginx.org/ From bgx на protva.ru Wed Apr 20 07:57:57 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 20 Apr 2016 10:57:57 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <5716442E.1060101@yandex.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> Message-ID: <20160420075757.GR4338@protva.ru> On Tue, Apr 19, 2016 at 05:43:58PM +0300, navern wrote: > >Вас не смущает, что при этом часть соединений будет потеряна? > Ну это не супер приятно да, но альтернатива хуже. Потому что в > альтернативном варинте часть соединений будет невозможна на то > время, пока мы опустили один контейнер, а потом подняли второй. О какой альтернативе речь? Перенаправьте syn'ы на новый контейнер, и будет вам счастье без патчей и потерь входящих соединений. -- Eugene Berdnikov From livingdeadzerg на yandex.ru Wed Apr 20 08:02:39 2016 From: livingdeadzerg на yandex.ru (navern) Date: Wed, 20 Apr 2016 11:02:39 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <20160420075757.GR4338@protva.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> Message-ID: <5717379F.5080203@yandex.ru> On 20.04.2016 10:57, Evgeniy Berdnikov wrote: > О какой альтернативе речь? Перенаправьте syn'ы на новый контейнер, > и будет вам счастье без патчей и потерь входящих соединений. А как поднять два контейнера одновременно в вашем варианте? И что делать с соединениями, которые висят по 10-15 минут? Вопрос то вовсе не в syn пакетах, а в долгих соединениях. Альтернатива такая: 1) Опускаем один контейнер. 2) Поднимаем новый контейнер. From bgx на protva.ru Wed Apr 20 08:19:26 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 20 Apr 2016 11:19:26 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <5717379F.5080203@yandex.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> Message-ID: <20160420081926.GS4338@protva.ru> On Wed, Apr 20, 2016 at 11:02:39AM +0300, navern wrote: > On 20.04.2016 10:57, Evgeniy Berdnikov wrote: > > О какой альтернативе речь? Перенаправьте syn'ы на новый контейнер, > > и будет вам счастье без патчей и потерь входящих соединений. > А как поднять два контейнера одновременно в вашем варианте? Так же как и вашем. В чём проблема-то? Если в пересечении портов для bind(2), так порты нужно сделать разными, вот и всё. > И что делать с соединениями, которые висят по 10-15 минут? Ждать, очевидно. Разве есть другие варианты? > Вопрос то вовсе не в syn пакетах, а в долгих соединениях. Вопрос этот reuseport'ом не решается: сколько ни жди завершения старых соединиений, в любой момент на старый сервер может прилететь новый запрос. А с перенаправлением syn'ов все новые соединения гарантированно идут на новый сервер. Поэтому зачем все эти патчи -- непонятно. -- Eugene Berdnikov From livingdeadzerg на yandex.ru Wed Apr 20 08:37:50 2016 From: livingdeadzerg на yandex.ru (navern) Date: Wed, 20 Apr 2016 11:37:50 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <20160420081926.GS4338@protva.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> <20160420081926.GS4338@protva.ru> Message-ID: <57173FDE.8030106@yandex.ru> On 20.04.2016 11:19, Evgeniy Berdnikov wrote: > Так же как и вашем. В чём проблема-то? Если в пересечении портов > для bind(2), так порты нужно сделать разными, вот и всё. Nginx во фронтэнде. Какие разные порты? reuseport как раз позволяет при одинаковых портах поднять два контейнера с nginx'ом. > Поэтому зачем все эти патчи -- непонятно. Единственный смысл патча - слегка упростить конфигурацию. По факту, если бы была опция в основном конфиге что-то вроде enable_reuseport all; то ничего делать было бы не надо. From bgx на protva.ru Wed Apr 20 09:00:42 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 20 Apr 2016 12:00:42 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <57173FDE.8030106@yandex.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> <20160420081926.GS4338@protva.ru> <57173FDE.8030106@yandex.ru> Message-ID: <20160420090041.GW4338@protva.ru> On Wed, Apr 20, 2016 at 11:37:50AM +0300, navern wrote: > On 20.04.2016 11:19, Evgeniy Berdnikov wrote: > > Так же как и вашем. В чём проблема-то? Если в пересечении портов > > для bind(2), так порты нужно сделать разными, вот и всё. > Nginx во фронтэнде. Какие разные порты? Да хоть на Юпитере. Он вообще-то в контейнере. Ядро может входящие коннекции перенаправлять на любой порт, и ip-адрес можно менять. Без разницы, как отличать новый сервер от старого, по ip или порту, но в любом случае их нужно как-то различать. Главное что сменить перенаправление syn'ов можно на ходу, не разрывая установленных ранее соединений. > reuseport как раз позволяет при одинаковых портах поднять два > контейнера с nginx'ом. Не нужно поднимать два nginx'а на одинаковых портах. Вы пытаетесь известным Вам решением подменить задачу. Задача -- перенаправить соединения на новый сервер, а не просто иметь два параллельно работающих nginx'а. > >Поэтому зачем все эти патчи -- непонятно. > Единственный смысл патча - слегка упростить конфигурацию. По факту, > если бы была опция в основном конфиге что-то вроде enable_reuseport > all; то ничего делать было бы не надо. С чего бы это? Вы прямо верите в какую-то магию: напиши в конфиге заклинание -- и заветное желание исполнится. Но reuseport не делает переброса соединений, как бы этого ни хотелось. -- Eugene Berdnikov From livingdeadzerg на yandex.ru Wed Apr 20 09:12:21 2016 From: livingdeadzerg на yandex.ru (navern) Date: Wed, 20 Apr 2016 12:12:21 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <20160420090041.GW4338@protva.ru> References: <57038206.9030203@yandex.ru> <3061709.fQ60vn1AAq@vbart-laptop> <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> <20160420081926.GS4338@protva.ru> <57173FDE.8030106@yandex.ru> <20160420090041.GW4338@protva.ru> Message-ID: <571747F5.4000004@yandex.ru> > Да хоть на Юпитере. Он вообще-то в контейнере. Ядро может входящие > коннекции перенаправлять на любой порт, и ip-адрес можно менять. > Без разницы, как отличать новый сервер от старого, по ip или порту, > но в любом случае их нужно как-то различать. Ок, предложите вариант решения данной задачи вашим способом? > Не нужно поднимать два nginx'а на одинаковых портах. Вы пытаетесь > известным Вам решением подменить задачу. Задача -- перенаправить > соединения на новый сервер, а не просто иметь два параллельно > работающих nginx'а. Задача на самом деле не совсем такая. Но в целом я согласен, её можно решить и подобным способом. > Но reuseport не делает > переброса соединений, как бы этого ни хотелось. Ну так мне то и не нужен проброс соединений. Мне нужно, чтобы к моменту, когда я гасил старый контейнер, был новый запущенный. Потеря нескольких соединений в данном случае не очень критична. From bgx на protva.ru Wed Apr 20 09:39:16 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 20 Apr 2016 12:39:16 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <571747F5.4000004@yandex.ru> References: <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> <20160420081926.GS4338@protva.ru> <57173FDE.8030106@yandex.ru> <20160420090041.GW4338@protva.ru> <571747F5.4000004@yandex.ru> Message-ID: <20160420093916.GY4338@protva.ru> On Wed, Apr 20, 2016 at 12:12:21PM +0300, navern wrote: > > Да хоть на Юпитере. Он вообще-то в контейнере. Ядро может входящие > > коннекции перенаправлять на любой порт, и ip-адрес можно менять. > > Без разницы, как отличать новый сервер от старого, по ip или порту, > > но в любом случае их нужно как-то различать. > Ок, предложите вариант решения данной задачи вашим способом? Пусть у нас хост на линуксе, старый nginx слушает порт 8080, новый 8081, действует правило перенаправления 80->8080, после старта второго nginx заменяем правило командочкой iptables -t nat -R PREROUTING 1 -p tcp --dport 80 -j REDIRECT --to-port 8081 и ждём, когда все соединения со старым nginx'ом будут обработаны и закрыты, после чего старый nginx гасим. В других операционках пакетный фильтр управляется иначе, но схема та же. -- Eugene Berdnikov From livingdeadzerg на yandex.ru Wed Apr 20 10:51:21 2016 From: livingdeadzerg на yandex.ru (navern) Date: Wed, 20 Apr 2016 13:51:21 +0300 Subject: =?UTF-8?B?UmU6IHJldXNlcG9ydCDQsiDQutC+0L3RhNC40LPQsNGFIG5naW54?= In-Reply-To: <20160420093916.GY4338@protva.ru> References: <2B4F0613449948B7BB2FF1B1127A86D2@gmail.com> <2603688.WuvGErAChC@vbart-laptop> <20160413162228.GL36620@mdounin.ru> <5716442E.1060101@yandex.ru> <20160420075757.GR4338@protva.ru> <5717379F.5080203@yandex.ru> <20160420081926.GS4338@protva.ru> <57173FDE.8030106@yandex.ru> <20160420090041.GW4338@protva.ru> <571747F5.4000004@yandex.ru> <20160420093916.GY4338@protva.ru> Message-ID: <57175F29.4000701@yandex.ru> > Пусть у нас хост на линуксе, старый nginx слушает порт 8080, новый 8081, > действует правило перенаправления 80->8080, после старта второго nginx > заменяем правило командочкой > > iptables -t nat -R PREROUTING 1 -p tcp --dport 80 -j REDIRECT --to-port 8081 > > и ждём, когда все соединения со старым nginx'ом будут обработаны и > закрыты, после чего старый nginx гасим. > > В других операционках пакетный фильтр управляется иначе, но схема та же Хост на линуксе. На 80 порту слушает не только nginx. У nginx'а несколько IP адресов, не всегда известных. Конфигов с виртуалхостами около 10 тысяч. Получается нужно еще каждый раз во всех 10к конфигах менять порт, на котором слушаем? При этом избежать ситуации, когда в этот момент реалодится основной nginx(если предполагаем, что конфиги разделяемые). Для трех виртуалхостов наверное норм решение. Еще нужно потом будет управлять этими правилами. У нас подобная схема работает для контейнеров с MySQL, там это удобно. Для nginx'а не очень подходит. From basil на vpm.net.ua Thu Apr 21 12:36:44 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Thu, 21 Apr 2016 15:36:44 +0300 Subject: proxy_cache_min_uses Message-ID: Всем привет Что-то не могу понять как считается proxy_cache_min_uses - за какой период? Растолкуйте кто знает ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Thu Apr 21 13:16:49 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 21 Apr 2016 16:16:49 +0300 Subject: proxy_cache_min_uses In-Reply-To: References: Message-ID: <20160421131649.GL36620@mdounin.ru> Hello! On Thu, Apr 21, 2016 at 03:36:44PM +0300, Vasiliy P. Melnik wrote: > Что-то не могу понять как считается proxy_cache_min_uses - за какой период? > Растолкуйте кто знает Так же, как и обычные элементы кеша, элементы с счётчиком количества обращений удаляются, если к ним не обращались в течение времени, заданного параметром inactive директивы proxy_cache_path. http://nginx.org/r/proxy_cache_path/ru -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Thu Apr 21 18:14:31 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Thu, 21 Apr 2016 14:14:31 -0400 Subject: =?UTF-8?B?TkdpTlgg0LIg0LrQsNGH0LXRgdGC0LLQtSDRgdC10YDQstC10YDQsCDQt9CwINC3?= =?UTF-8?B?0LDQutCw0YfQuNCy0LDQvdC40Y8g0YTQsNC50LvQvtCy?= Message-ID: Всем привет! Хочу использовать NGiNX для закачивания файлов на сервер. При этом не хочется использовать сторонние модули или скрипт на бекенд сервере. Читал про client_body_in_file_only, но тут проблема что нельзя оставить оригинальное имя файла, плюс, назначение у этого параметра иное, в продакшин не хочется. Использовать планируется как-то так: curl -i -F name=test -F filedata=@localfile.jpg http://example.org/upload Возможно ли настроить NGiNX под такую задачу? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266328,266328#msg-266328 From andrey на kopeyko.ru Thu Apr 21 18:52:46 2016 From: andrey на kopeyko.ru (Andrey Kopeyko) Date: Thu, 21 Apr 2016 21:52:46 +0300 (MSK) Subject: =?UTF-8?B?UmU6IE5HaU5YINCyINC60LDRh9C10YHRgtCy0LUg0YHQtdGA0LLQtdGA0LAg0Lc=?= =?UTF-8?B?0LAg0LfQsNC60LDRh9C40LLQsNC90LjRjyDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: On Thu, 21 Apr 2016, Dimka wrote: > Всем привет! Добрый вечер! > Хочу использовать NGiNX для закачивания файлов на сервер. > При этом не хочется использовать сторонние модули или скрипт на бекенд > сервере. Используйте модуль DAV - http://nginx.org/en/docs/http/ngx_http_dav_module.html > проблема что нельзя оставить оригинальное имя файла Примерно вот так должно сработать: $ curl -T source.file http://host/path/to/destination.file -- Best regards, Andrey Kopeyko From uncleandyv на gmail.com Thu Apr 21 20:35:39 2016 From: uncleandyv на gmail.com (Andrey Velikoredchanin) Date: Thu, 21 Apr 2016 23:35:39 +0300 Subject: =?UTF-8?B?UmU6IE5HaU5YINCyINC60LDRh9C10YHRgtCy0LUg0YHQtdGA0LLQtdGA0LAg0Lc=?= =?UTF-8?B?0LAg0LfQsNC60LDRh9C40LLQsNC90LjRjyDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: Поддерживаю вариант DAV. 21 апреля 2016 г., 21:52 пользователь Andrey Kopeyko написал: > On Thu, 21 Apr 2016, Dimka wrote: > > Всем привет! >> > > Добрый вечер! > > Хочу использовать NGiNX для закачивания файлов на сервер. >> При этом не хочется использовать сторонние модули или скрипт на бекенд >> сервере. >> > > Используйте модуль DAV - > http://nginx.org/en/docs/http/ngx_http_dav_module.html > > проблема что нельзя оставить оригинальное имя файла >> > > Примерно вот так должно сработать: > > $ curl -T source.file http://host/path/to/destination.file > > > -- > Best regards, > Andrey Kopeyko > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на forum.nginx.org Thu Apr 21 23:58:01 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Thu, 21 Apr 2016 19:58:01 -0400 Subject: =?UTF-8?B?UmU6IE5HaU5YINCyINC60LDRh9C10YHRgtCy0LUg0YHQtdGA0LLQtdGA0LAg0Lc=?= =?UTF-8?B?0LAg0LfQsNC60LDRh9C40LLQsNC90LjRjyDRhNCw0LnQu9C+0LI=?= In-Reply-To: References: Message-ID: Всё перебрал, а про WebDAV забыл... Спасибо! Уже настроил, всё работает!!! Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266328,266333#msg-266333 From exelib на gmail.com Mon Apr 25 17:33:00 2016 From: exelib на gmail.com (Anton Bessonov) Date: Mon, 25 Apr 2016 19:33:00 +0200 Subject: =?UTF-8?B?0J/QvtC00LzQtdC90LAg0LHQuNC90LDRgNC90LjQutCwINCyINC00L7QutC10YA=?= =?UTF-8?B?0LU=?= Message-ID: <571E54CC.4080302@gmail.com> Здравстуйте, на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если менять параметры некоторых директив, таких как пути к кэшам. Актуально использую подмену бинарника - вроде помогает. Сейчас эксперементирую с тем же самым, только в контейнере. По умолчанию энджин имеет PID 1, что убивает контейнер после kill -QUIT 1. В docker-compose делаю следующее: version: '2' services: nginxt: image: nginx ports: - "6283:80" command: /bin/bash -c '$$(exec /usr/sbin/nginx -g "daemon off;")' Вроде работает: # ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 7 0.1 0.3 20224 3208 ? Ss 17:07 0:00 bash root 12 0.0 0.2 17496 2064 ? R+ 17:07 0:00 \_ ps auxf root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process # kill -USR2 5 # ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash root 15 0.0 0.2 17496 2048 ? R+ 17:08 0:00 \_ ps auxf root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process # kill -WINCH 5 # ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash root 16 0.0 0.1 17496 1956 ? R+ 17:09 0:00 \_ ps auxf root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process # kill -QUIT 5 # ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash root 17 0.0 0.2 17496 2064 ? R+ 17:09 0:00 \_ ps auxf root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 nginx: master process /usr/sbin/nginx -g daemon off; nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process Теперь вопросы. А оно работает? То есть какие проблемы могут возникнуть из-за такого изврашённого способа? Или есть способ лучше? (Ну в голову пришло ещё просто стартовать новый контейнер, подменивать днс и выкидывать старый... но я в этом не сильно шарю - как там ttl и всё такое, если нужно срочно). И ещё вопрос: А после -WINCH воркеры не должны вымирать? С уважением, Антон -- Certified Prince2:2009 Project Manager Professional Scrum Expert Oracle Certified Expert, Enterprise JavaBeans Developer Oracle Certified Professional, Java SE 6 Programmer Now that's a test of the character of an organization. Of the organizations that are attempting to implement Scrum probably, 30% - 35% will successfully implement it. - Ken Schwaber From alex.hha на gmail.com Mon Apr 25 18:21:20 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Mon, 25 Apr 2016 21:21:20 +0300 Subject: =?UTF-8?B?0JfQsNC/0YPRgdC6IG5naW54INCyIHdpbmRvd3M=?= Message-ID: К сожалению пришлось столкнуться, может кто подсказать нормальный и рабочий способ запуска nginx как службы в win2k8/2k12? Сейчас использую winsw (Windows service wrapper) от автора Jenkins. Запуск происходит нормально, а вот остановить не получается. Мой winsw-nginx.xml выглядит так nginx NGINX NGINX c:\nginx-1.8.x\nginx.exe c:\nginx-1.8.x\ roll -p c:\nginx-1.8.x c:\nginx-1.8.x\nginx.exe -s stop Когда останавливаю службу, то получаю ошибку вида http://i.imgur.com/YuB4dNz.png ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From igor на sysoev.ru Mon Apr 25 19:08:52 2016 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 25 Apr 2016 22:08:52 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <571E54CC.4080302@gmail.com> References: <571E54CC.4080302@gmail.com> Message-ID: <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> On 25 Apr 2016, at 20:33, Anton Bessonov wrote: > Здравстуйте, > > на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если менять параметры некоторых директив, таких как пути к кэшам. Актуально использую подмену бинарника - вроде помогает. > > Сейчас эксперементирую с тем же самым, только в контейнере. По умолчанию энджин имеет PID 1, что убивает контейнер после kill -QUIT 1. > > В docker-compose делаю следующее: > > version: '2' > services: > nginxt: > image: nginx > ports: > - "6283:80" > command: /bin/bash -c '$$(exec /usr/sbin/nginx -g "daemon off;")' > > Вроде работает: > > # ps auxf > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 7 0.1 0.3 20224 3208 ? Ss 17:07 0:00 bash > root 12 0.0 0.2 17496 2064 ? R+ 17:07 0:00 \_ ps auxf > root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") > root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; > nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process > > # kill -USR2 5 > # ps auxf > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash > root 15 0.0 0.2 17496 2048 ? R+ 17:08 0:00 \_ ps auxf > root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") > root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; > nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process > root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; > nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process > > # kill -WINCH 5 > # ps auxf > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash > root 16 0.0 0.1 17496 1956 ? R+ 17:09 0:00 \_ ps auxf > root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") > root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; > nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process > root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; > nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process > > # kill -QUIT 5 > # ps auxf > USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND > root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash > root 17 0.0 0.2 17496 2064 ? R+ 17:09 0:00 \_ ps auxf > root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") > root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 nginx: master process /usr/sbin/nginx -g daemon off; > nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process > > > Теперь вопросы. > > А оно работает? То есть какие проблемы могут возникнуть из-за такого изврашённого способа? Или есть способ лучше? (Ну в голову пришло ещё просто стартовать новый контейнер, подменивать днс и выкидывать старый... но я в этом не сильно шарю - как там ttl и всё такое, если нужно срочно). А что показывает ps axw -o pid,ppid,user,%cpu,vsz,wchan,command В апгрэйде самое главное, чтобы ppid у мастер-процеса был 1. > И ещё вопрос: А после -WINCH воркеры не должны вымирать? Должны. Но при автоматическом апгрэйде достаточно USR2/QUIT. -- Igor Sysoev http://nginx.com From exelib на gmail.com Mon Apr 25 19:55:27 2016 From: exelib на gmail.com (Anton Bessonov) Date: Mon, 25 Apr 2016 21:55:27 +0200 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> Message-ID: <571E762F.4080103@gmail.com> Так и есть, ppid становится 1: # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command PID PPID USER %CPU VSZ WCHAN COMMAND 1 0 root 0.2 20044 pipe_w /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") 5 1 root 0.0 31684 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 6 5 nginx 0.0 32068 - nginx: worker process 7 0 root 0.6 20224 wait bash 11 7 root 0.0 17500 - ps axw -o pid,ppid,user,%cpu,vsz,wchan,command # kill -USR2 5 # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command PID PPID USER %CPU VSZ WCHAN COMMAND 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") 5 1 root 0.0 31684 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 6 5 nginx 0.0 32068 - nginx: worker process 7 0 root 0.0 20224 wait bash 12 5 root 0.0 31688 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 13 12 nginx 0.0 32068 - nginx: worker process 14 7 root 0.0 17500 - ps axw -o pid,ppid,user,%cpu,vsz,wchan,command # kill -WINCH 5 # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command PID PPID USER %CPU VSZ WCHAN COMMAND 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") 5 1 root 0.0 31684 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 6 5 nginx 0.0 32068 - nginx: worker process 7 0 root 0.0 20224 wait bash 12 5 root 0.0 31688 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 13 12 nginx 0.0 32068 - nginx: worker process 15 7 root 0.0 17500 - ps axw -o pid,ppid,user,%cpu,vsz,wchan,command # kill -QUIT 5 # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command PID PPID USER %CPU VSZ WCHAN COMMAND 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") 7 0 root 0.0 20224 wait bash 12 1 root 0.0 31688 sigsus nginx: master process /usr/sbin/nginx -g daemon off; 13 12 nginx 0.0 32068 - nginx: worker process 16 7 root 0.0 17500 - ps axw -o pid,ppid,user,%cpu,vsz,wchan,command On 25.04.2016 21:08, Igor Sysoev wrote: > On 25 Apr 2016, at 20:33, Anton Bessonov wrote: > >> Здравстуйте, >> >> на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если менять параметры некоторых директив, таких как пути к кэшам. Актуально использую подмену бинарника - вроде помогает. >> >> Сейчас эксперементирую с тем же самым, только в контейнере. По умолчанию энджин имеет PID 1, что убивает контейнер после kill -QUIT 1. >> >> В docker-compose делаю следующее: >> >> version: '2' >> services: >> nginxt: >> image: nginx >> ports: >> - "6283:80" >> command: /bin/bash -c '$$(exec /usr/sbin/nginx -g "daemon off;")' >> >> Вроде работает: >> >> # ps auxf >> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >> root 7 0.1 0.3 20224 3208 ? Ss 17:07 0:00 bash >> root 12 0.0 0.2 17496 2064 ? R+ 17:07 0:00 \_ ps auxf >> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >> >> # kill -USR2 5 >> # ps auxf >> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >> root 15 0.0 0.2 17496 2048 ? R+ 17:08 0:00 \_ ps auxf >> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >> >> # kill -WINCH 5 >> # ps auxf >> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >> root 16 0.0 0.1 17496 1956 ? R+ 17:09 0:00 \_ ps auxf >> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >> >> # kill -QUIT 5 >> # ps auxf >> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >> root 17 0.0 0.2 17496 2064 ? R+ 17:09 0:00 \_ ps auxf >> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >> >> >> Теперь вопросы. >> >> А оно работает? То есть какие проблемы могут возникнуть из-за такого изврашённого способа? Или есть способ лучше? (Ну в голову пришло ещё просто стартовать новый контейнер, подменивать днс и выкидывать старый... но я в этом не сильно шарю - как там ttl и всё такое, если нужно срочно). > А что показывает > ps axw -o pid,ppid,user,%cpu,vsz,wchan,command > > В апгрэйде самое главное, чтобы ppid у мастер-процеса был 1. > >> И ещё вопрос: А после -WINCH воркеры не должны вымирать? > Должны. Но при автоматическом апгрэйде достаточно USR2/QUIT. > > From undying-m на yandex.ru Tue Apr 26 06:38:28 2016 From: undying-m на yandex.ru (Den Bozhok) Date: Tue, 26 Apr 2016 09:38:28 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: 158470411888149556 References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> <571E762F.4080103@gmail.com> Message-ID: <18821461652708@web15m.yandex.ru> Так а если решение в лоб - запускать nginx не напрямую, а сделать на bash init скрипт и уже из него запускать nginx? Тогда никаких проблем с перезапуском nginx и умиранием докера. 25.04.2016, 22:55, "Anton Bessonov" : > Так и есть, ppid становится 1: > > # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >    PID PPID USER %CPU VSZ WCHAN COMMAND >      1 0 root 0.2 20044 pipe_w /bin/bash -c $(exec > /usr/sbin/nginx -g "daemon off;") >      5 1 root 0.0 31684 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >      6 5 nginx 0.0 32068 - nginx: worker process >      7 0 root 0.6 20224 wait bash >     11 7 root 0.0 17500 - ps axw -o > pid,ppid,user,%cpu,vsz,wchan,command > > # kill -USR2 5 > # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >    PID PPID USER %CPU VSZ WCHAN COMMAND >      1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec > /usr/sbin/nginx -g "daemon off;") >      5 1 root 0.0 31684 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >      6 5 nginx 0.0 32068 - nginx: worker process >      7 0 root 0.0 20224 wait bash >     12 5 root 0.0 31688 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >     13 12 nginx 0.0 32068 - nginx: worker process >     14 7 root 0.0 17500 - ps axw -o > pid,ppid,user,%cpu,vsz,wchan,command > > # kill -WINCH 5 > # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >    PID PPID USER %CPU VSZ WCHAN COMMAND >      1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec > /usr/sbin/nginx -g "daemon off;") >      5 1 root 0.0 31684 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >      6 5 nginx 0.0 32068 - nginx: worker process >      7 0 root 0.0 20224 wait bash >     12 5 root 0.0 31688 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >     13 12 nginx 0.0 32068 - nginx: worker process >     15 7 root 0.0 17500 - ps axw -o > pid,ppid,user,%cpu,vsz,wchan,command > > # kill -QUIT 5 > # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >    PID PPID USER %CPU VSZ WCHAN COMMAND >      1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec > /usr/sbin/nginx -g "daemon off;") >      7 0 root 0.0 20224 wait bash >     12 1 root 0.0 31688 sigsus nginx: master process > /usr/sbin/nginx -g daemon off; >     13 12 nginx 0.0 32068 - nginx: worker process >     16 7 root 0.0 17500 - ps axw -o > pid,ppid,user,%cpu,vsz,wchan,command > > On 25.04.2016 21:08, Igor Sysoev wrote: > >>  On 25 Apr 2016, at 20:33, Anton Bessonov wrote: >> >>>  Здравстуйте, >>> >>>  на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если менять параметры некоторых директив, таких как пути к кэшам. Актуально использую подмену бинарника - вроде помогает. >>> >>>  Сейчас эксперементирую с тем же самым, только в контейнере. По умолчанию энджин имеет PID 1, что убивает контейнер после kill -QUIT 1. >>> >>>  В docker-compose делаю следующее: >>> >>>  version: '2' >>>  services: >>>    nginxt: >>>      image: nginx >>>      ports: >>>        - "6283:80" >>>      command: /bin/bash -c '$$(exec /usr/sbin/nginx -g "daemon off;")' >>> >>>  Вроде работает: >>> >>>  # ps auxf >>>  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>  root 7 0.1 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>  root 12 0.0 0.2 17496 2064 ? R+ 17:07 0:00 \_ ps auxf >>>  root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>  root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>> >>>  # kill -USR2 5 >>>  # ps auxf >>>  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>  root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>  root 15 0.0 0.2 17496 2048 ? R+ 17:08 0:00 \_ ps auxf >>>  root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>  root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>>  root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>> >>>  # kill -WINCH 5 >>>  # ps auxf >>>  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>  root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>  root 16 0.0 0.1 17496 1956 ? R+ 17:09 0:00 \_ ps auxf >>>  root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>  root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>>  root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>> >>>  # kill -QUIT 5 >>>  # ps auxf >>>  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>  root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>  root 17 0.0 0.2 17496 2064 ? R+ 17:09 0:00 \_ ps auxf >>>  root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>  root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>  nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>> >>>  Теперь вопросы. >>> >>>  А оно работает? То есть какие проблемы могут возникнуть из-за такого изврашённого способа? Или есть способ лучше? (Ну в голову пришло ещё просто стартовать новый контейнер, подменивать днс и выкидывать старый... но я в этом не сильно шарю - как там ttl и всё такое, если нужно срочно). >>  А что показывает >>  ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >> >>  В апгрэйде самое главное, чтобы ppid у мастер-процеса был 1. >> >>>  И ещё вопрос: А после -WINCH воркеры не должны вымирать? >>  Должны. Но при автоматическом апгрэйде достаточно USR2/QUIT. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From undying-m на yandex.ru Tue Apr 26 06:39:14 2016 From: undying-m на yandex.ru (Den Bozhok) Date: Tue, 26 Apr 2016 09:39:14 +0300 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIG1hcCAtPiBwcm94eV9wYXNz?= In-Reply-To: 158470411888148854 References: <1396951460387045@web8g.yandex.ru> <1207121460391311@web27o.yandex.ru> Message-ID: <23761461652754@web15m.yandex.ru> Жаль, без ответа. 11.04.2016, 19:15, "Den Bozhok" : > Благодарю за ответ! > Однако, резолвер описан, и все-равно ошибка присутствует: > >> resolver 10.1.1.5 10.1.1.4  valid=10s; >> resolver_timeout 5s; > > 11.04.2016, 18:53, "kpoxa" : >> В конфиге опишите резолвер.http://nginx.org/ru/docs/http/ngx_http_core_module.html#resolver >> >>  пн, 11 апр. 2016 г. в 18:04, Den Bozhok : >>> Доброго дня! >>> >>> Попробовал использовать map для выбора бэкенда, что бы затем передавать ее в proxy_pass, но при передаче переменной в proxy_pass nginx не может ее разрезолвить в итоговое значение. >>> >>> конфигурация: >>> >>>> geo $backend1 { >>>> default "long-host-name1.com"; >>>> } >>>> geo $backend2 { >>>> default "long-host-name2.com"; >>>> } >>>> >>>> map $http_x_backend $backend { >>>> "host1" $backend1; >>>> "host2" $backend2; >>>> } >>>> >>>> server { >>>> listen 80; >>>> >>>> location / { >>>> proxy_pass http://$backend; >>>> } >>>> } >>> >>> При этом я получаю ошибку: >>> $backend could not be resolved (2: Server failure) >>> >>> Я что-то делаю не так или у nginx нет такой возможности? >>> Благодарю! >>> >>> nginx -V >>> nginx version: nginx/1.9.10 >>> built by gcc 4.9.2 (Debian 4.9.2-10) >>> built with OpenSSL 1.0.1k 8 Jan 2015 >>> TLS SNI support enabled >>> configure arguments: >>> --with-ld-opt=-Wl,-rpath,/usr/local/lib >>> --prefix=/etc/nginx >>> --sbin-path=/usr/sbin/nginx >>> --conf-path=/etc/nginx/nginx.conf >>> --error-log-path=/var/log/nginx/error.log >>> --http-log-path=/var/log/nginx/access.log >>> --pid-path=/var/run/nginx.pid >>> --lock-path=/var/run/nginx.lock >>> --http-client-body-temp-path=/var/cache/nginx/client_temp >>> --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp >>> --http-proxy-temp-path=/var/cache/nginx/proxy_temp >>> --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp >>> --http-scgi-temp-path=/var/cache/nginx/scgi_temp >>> --user=nginx >>> --group=nginx >>> --with-http_ssl_module >>> --with-stream_ssl_module >>> --with-http_realip_module >>> --with-http_addition_module >>> --with-http_gunzip_module >>> --with-http_gzip_static_module >>> --with-http_v2_module >>> --with-threads >>> --with-http_geoip_module >>> --with-ipv6 >>> --with-http_stub_status_module >>> --add-module=/opt/ngx_devel_kit-0.2.19 >>> --add-module=/opt/lua-nginx-module-0.10.0 >>> >>> _______________________________________________ >>> 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 From igor на sysoev.ru Tue Apr 26 06:42:17 2016 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 26 Apr 2016 09:42:17 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <571E762F.4080103@gmail.com> References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> <571E762F.4080103@gmail.com> Message-ID: <650C696D-02F7-44BB-A08A-7D6D0C9AB5A4@sysoev.ru> On 25 Apr 2016, at 22:55, Anton Bessonov wrote: > Так и есть, ppid становится 1: Всё должно работать. Можно даже "daemon off” не ставить. -- Igor Sysoev http://nginx.com From kpoxa на kpoxa.net Tue Apr 26 12:32:02 2016 From: kpoxa на kpoxa.net (kpoxa) Date: Tue, 26 Apr 2016 12:32:02 +0000 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIG1hcCAtPiBwcm94eV9wYXNz?= In-Reply-To: <23761461652754@web15m.yandex.ru> References: <1396951460387045@web8g.yandex.ru> <1207121460391311@web27o.yandex.ru> <23761461652754@web15m.yandex.ru> Message-ID: Резолвер должен резольвить то, что не может nginx разрезольвить. вт, 26 апр. 2016 г. в 9:39, Den Bozhok : > Жаль, без ответа. > > 11.04.2016, 19:15, "Den Bozhok" : > > Благодарю за ответ! > > Однако, резолвер описан, и все-равно ошибка присутствует: > > > >> resolver 10.1.1.5 10.1.1.4 valid=10s; > >> resolver_timeout 5s; > > > > 11.04.2016, 18:53, "kpoxa" : > >> В конфиге опишите резолвер. > http://nginx.org/ru/docs/http/ngx_http_core_module.html#resolver > >> > >> пн, 11 апр. 2016 г. в 18:04, Den Bozhok : > >>> Доброго дня! > >>> > >>> Попробовал использовать map для выбора бэкенда, что бы затем > передавать ее в proxy_pass, но при передаче переменной в proxy_pass nginx > не может ее разрезолвить в итоговое значение. > >>> > >>> конфигурация: > >>> > >>>> geo $backend1 { > >>>> default "long-host-name1.com"; > >>>> } > >>>> geo $backend2 { > >>>> default "long-host-name2.com"; > >>>> } > >>>> > >>>> map $http_x_backend $backend { > >>>> "host1" $backend1; > >>>> "host2" $backend2; > >>>> } > >>>> > >>>> server { > >>>> listen 80; > >>>> > >>>> location / { > >>>> proxy_pass http://$backend; > >>>> } > >>>> } > >>> > >>> При этом я получаю ошибку: > >>> $backend could not be resolved (2: Server failure) > >>> > >>> Я что-то делаю не так или у nginx нет такой возможности? > >>> Благодарю! > >>> > >>> nginx -V > >>> nginx version: nginx/1.9.10 > >>> built by gcc 4.9.2 (Debian 4.9.2-10) > >>> built with OpenSSL 1.0.1k 8 Jan 2015 > >>> TLS SNI support enabled > >>> configure arguments: > >>> --with-ld-opt=-Wl,-rpath,/usr/local/lib > >>> --prefix=/etc/nginx > >>> --sbin-path=/usr/sbin/nginx > >>> --conf-path=/etc/nginx/nginx.conf > >>> --error-log-path=/var/log/nginx/error.log > >>> --http-log-path=/var/log/nginx/access.log > >>> --pid-path=/var/run/nginx.pid > >>> --lock-path=/var/run/nginx.lock > >>> --http-client-body-temp-path=/var/cache/nginx/client_temp > >>> --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp > >>> --http-proxy-temp-path=/var/cache/nginx/proxy_temp > >>> --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp > >>> --http-scgi-temp-path=/var/cache/nginx/scgi_temp > >>> --user=nginx > >>> --group=nginx > >>> --with-http_ssl_module > >>> --with-stream_ssl_module > >>> --with-http_realip_module > >>> --with-http_addition_module > >>> --with-http_gunzip_module > >>> --with-http_gzip_static_module > >>> --with-http_v2_module > >>> --with-threads > >>> --with-http_geoip_module > >>> --with-ipv6 > >>> --with-http_stub_status_module > >>> --add-module=/opt/ngx_devel_kit-0.2.19 > >>> --add-module=/opt/lua-nginx-module-0.10.0 > >>> > >>> _______________________________________________ > >>> 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 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Tue Apr 26 14:01:16 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 26 Apr 2016 17:01:16 +0300 Subject: nginx-1.10.0 Message-ID: <20160426140116.GC36620@mdounin.ru> Изменения в nginx 1.10.0 26.04.2016 *) Стабильная ветка 1.10.x. -- Maxim Dounin http://nginx.org/ From vbart на nginx.com Tue Apr 26 15:50:24 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 26 Apr 2016 18:50:24 +0300 Subject: =?UTF-8?B?UmU6INC/0LXRgNC10LzQtdC90L3Ri9C1INCyIG1hcCAtPiBwcm94eV9wYXNz?= In-Reply-To: <1207121460391311@web27o.yandex.ru> References: <1396951460387045@web8g.yandex.ru> <1207121460391311@web27o.yandex.ru> Message-ID: <3280633.WmFDy9RnJh@vbart-workstation> On Monday 11 April 2016 19:15:11 Den Bozhok wrote: > Благодарю за ответ! > Однако, резолвер описан, и все-равно ошибка присутствует: > > > resolver 10.1.1.5 10.1.1.4 valid=10s; > resolver_timeout 5s; > [...] > > При этом я получаю ошибку: > $backend could not be resolved (2: Server failure) > Это ваш DNS вернул SERVFAIL. -- Валентин Бартенев From nginx-forum на forum.nginx.org Tue Apr 26 16:13:12 2016 From: nginx-forum на forum.nginx.org (Igor Kuznetsov) Date: Tue, 26 Apr 2016 12:13:12 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: References: Message-ID: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> я на c# написал службу, которая запускает powershell скрипты. на запуск, и на стоп.php так же запускает использовать всякие сторонние утилитки - это просто жесть как неудобно могу выложить исходник, если надо вообще удивляет, на дворе 2016 год и тот же apache давно давно как служба из коробки работает Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266388#msg-266388 From nginx-forum на forum.nginx.org Tue Apr 26 16:19:20 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Tue, 26 Apr 2016 12:19:20 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> References: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> Message-ID: <3f370db813fc7e759252e99c9e314274.NginxMailingListRussian@forum.nginx.org> присоединяюсь к реплике про "2016 год на дворе" Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266389#msg-266389 From exelib на gmail.com Tue Apr 26 16:19:37 2016 From: exelib на gmail.com (Anton Bessonov) Date: Tue, 26 Apr 2016 18:19:37 +0200 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <18821461652708@web15m.yandex.ru> References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> <571E762F.4080103@gmail.com> <18821461652708@web15m.yandex.ru> Message-ID: <571F9519.70906@gmail.com> Спасибо за идею. Используем официальные сборки на базе alpine. Пока не собираем сами. Или можно как нибудь через компос без боли внедрить? On 26.04.2016 08:38, Den Bozhok wrote: > Так а если решение в лоб - запускать nginx не напрямую, а сделать на bash init скрипт и уже из него запускать nginx? Тогда никаких проблем с перезапуском nginx и умиранием докера. > > 25.04.2016, 22:55, "Anton Bessonov" : >> Так и есть, ppid становится 1: >> >> # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >> PID PPID USER %CPU VSZ WCHAN COMMAND >> 1 0 root 0.2 20044 pipe_w /bin/bash -c $(exec >> /usr/sbin/nginx -g "daemon off;") >> 5 1 root 0.0 31684 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 6 5 nginx 0.0 32068 - nginx: worker process >> 7 0 root 0.6 20224 wait bash >> 11 7 root 0.0 17500 - ps axw -o >> pid,ppid,user,%cpu,vsz,wchan,command >> >> # kill -USR2 5 >> # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >> PID PPID USER %CPU VSZ WCHAN COMMAND >> 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec >> /usr/sbin/nginx -g "daemon off;") >> 5 1 root 0.0 31684 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 6 5 nginx 0.0 32068 - nginx: worker process >> 7 0 root 0.0 20224 wait bash >> 12 5 root 0.0 31688 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 13 12 nginx 0.0 32068 - nginx: worker process >> 14 7 root 0.0 17500 - ps axw -o >> pid,ppid,user,%cpu,vsz,wchan,command >> >> # kill -WINCH 5 >> # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >> PID PPID USER %CPU VSZ WCHAN COMMAND >> 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec >> /usr/sbin/nginx -g "daemon off;") >> 5 1 root 0.0 31684 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 6 5 nginx 0.0 32068 - nginx: worker process >> 7 0 root 0.0 20224 wait bash >> 12 5 root 0.0 31688 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 13 12 nginx 0.0 32068 - nginx: worker process >> 15 7 root 0.0 17500 - ps axw -o >> pid,ppid,user,%cpu,vsz,wchan,command >> >> # kill -QUIT 5 >> # ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >> PID PPID USER %CPU VSZ WCHAN COMMAND >> 1 0 root 0.0 20044 pipe_w /bin/bash -c $(exec >> /usr/sbin/nginx -g "daemon off;") >> 7 0 root 0.0 20224 wait bash >> 12 1 root 0.0 31688 sigsus nginx: master process >> /usr/sbin/nginx -g daemon off; >> 13 12 nginx 0.0 32068 - nginx: worker process >> 16 7 root 0.0 17500 - ps axw -o >> pid,ppid,user,%cpu,vsz,wchan,command >> >> On 25.04.2016 21:08, Igor Sysoev wrote: >> >>> On 25 Apr 2016, at 20:33, Anton Bessonov wrote: >>> >>>> Здравстуйте, >>>> >>>> на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если менять параметры некоторых директив, таких как пути к кэшам. Актуально использую подмену бинарника - вроде помогает. >>>> >>>> Сейчас эксперементирую с тем же самым, только в контейнере. По умолчанию энджин имеет PID 1, что убивает контейнер после kill -QUIT 1. >>>> >>>> В docker-compose делаю следующее: >>>> >>>> version: '2' >>>> services: >>>> nginxt: >>>> image: nginx >>>> ports: >>>> - "6283:80" >>>> command: /bin/bash -c '$$(exec /usr/sbin/nginx -g "daemon off;")' >>>> >>>> Вроде работает: >>>> >>>> # ps auxf >>>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>> root 7 0.1 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>> root 12 0.0 0.2 17496 2064 ? R+ 17:07 0:00 \_ ps auxf >>>> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>>> >>>> # kill -USR2 5 >>>> # ps auxf >>>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>> root 15 0.0 0.2 17496 2048 ? R+ 17:08 0:00 \_ ps auxf >>>> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>>> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>>> >>>> # kill -WINCH 5 >>>> # ps auxf >>>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>> root 16 0.0 0.1 17496 1956 ? R+ 17:09 0:00 \_ ps auxf >>>> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>> root 5 0.0 0.4 31684 4860 ? S 17:06 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 6 0.0 0.2 32068 2860 ? S 17:06 0:00 \_ nginx: worker process >>>> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 \_ nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>>> >>>> # kill -QUIT 5 >>>> # ps auxf >>>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND >>>> root 7 0.0 0.3 20224 3208 ? Ss 17:07 0:00 bash >>>> root 17 0.0 0.2 17496 2064 ? R+ 17:09 0:00 \_ ps auxf >>>> root 1 0.0 0.2 20044 2704 ? Ss 17:06 0:00 /bin/bash -c $(exec /usr/sbin/nginx -g "daemon off;") >>>> root 13 0.0 0.4 31688 5080 ? S 17:08 0:00 nginx: master process /usr/sbin/nginx -g daemon off; >>>> nginx 14 0.0 0.2 32068 2880 ? S 17:08 0:00 \_ nginx: worker process >>>> >>>> Теперь вопросы. >>>> >>>> А оно работает? То есть какие проблемы могут возникнуть из-за такого изврашённого способа? Или есть способ лучше? (Ну в голову пришло ещё просто стартовать новый контейнер, подменивать днс и выкидывать старый... но я в этом не сильно шарю - как там ttl и всё такое, если нужно срочно). >>> А что показывает >>> ps axw -o pid,ppid,user,%cpu,vsz,wchan,command >>> >>> В апгрэйде самое главное, чтобы ppid у мастер-процеса был 1. >>> >>>> И ещё вопрос: А после -WINCH воркеры не должны вымирать? >>> Должны. Но при автоматическом апгрэйде достаточно USR2/QUIT. >> _______________________________________________ >> 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 From annulen на yandex.ru Tue Apr 26 16:20:40 2016 From: annulen на yandex.ru (Konstantin Tokarev) Date: Tue, 26 Apr 2016 19:20:40 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> References: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> Message-ID: <1174301461687640@web24g.yandex.ru> 26.04.2016, 19:13, "Igor Kuznetsov" : > я на c# написал службу, которая запускает powershell скрипты. на запуск, и > на стоп.php так же запускает > > использовать всякие сторонние утилитки - это просто жесть как неудобно > > могу выложить исходник, если надо > > вообще удивляет, на дворе 2016 год и тот же apache давно давно как служба из > коробки работает Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows для веб-сервера -- Regards, Konstantin From exelib на gmail.com Tue Apr 26 16:27:14 2016 From: exelib на gmail.com (Anton Bessonov) Date: Tue, 26 Apr 2016 18:27:14 +0200 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <650C696D-02F7-44BB-A08A-7D6D0C9AB5A4@sysoev.ru> References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> <571E762F.4080103@gmail.com> <650C696D-02F7-44BB-A08A-7D6D0C9AB5A4@sysoev.ru> Message-ID: <571F96E2.2050006@gmail.com> Спасибо большое, работает. И с демонизацией тоже. Но наблюдаю эффект, что если убить мастера, то воркер остаётся один. И только после убивания воркера ломается контейнер. Можно сделать как-то (trap?), что бы контейнер или воркер с мастером ломались? А то состояние странное. Если PID 1, то, соответственно, мастера убить не могу и потому не знаю, что случится с контейнером. On 26.04.2016 08:42, Igor Sysoev wrote: > On 25 Apr 2016, at 22:55, Anton Bessonov wrote: > >> Так и есть, ppid становится 1: > Всё должно работать. Можно даже "daemon off” не ставить. > > From basil на vpm.net.ua Tue Apr 26 16:28:17 2016 From: basil на vpm.net.ua (Vasiliy P. Melnik) Date: Tue, 26 Apr 2016 19:28:17 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1174301461687640@web24g.yandex.ru> References: <3c2bacff6ebf69fbd9f2a2cdb72e7854.NginxMailingListRussian@forum.nginx.org> <1174301461687640@web24g.yandex.ru> Message-ID: > > Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows для > веб-сервера > Та бывают такие ситуации, что врагу не пожелаешь - и приходится таки костыли строить и такой шлак поддерживать, что аж диву даешься как оно вообще дожило до этого времени ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Tue Apr 26 16:38:12 2016 From: nginx-forum на forum.nginx.org (Igor Kuznetsov) Date: Tue, 26 Apr 2016 12:38:12 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1174301461687640@web24g.yandex.ru> References: <1174301461687640@web24g.yandex.ru> Message-ID: Еще как использует IIS вообще говоря очень шустро работает. Если бы он еще с php как с модулем работал аля апач - про nginx на винде речи бы ни шло Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266394#msg-266394 From nginx-forum на forum.nginx.org Tue Apr 26 16:38:28 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Tue, 26 Apr 2016 12:38:28 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1174301461687640@web24g.yandex.ru> References: <1174301461687640@web24g.yandex.ru> Message-ID: <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> Konstantin Tokarev Wrote: ------------------------------------------------------- > Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows > для веб-сервера это бестолковый холивар имхо, потому что, если не упираться в стоимость лицензии, на windows совершенно замечательно крутятся веб-сервера Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266395#msg-266395 From thresh на nginx.com Tue Apr 26 17:08:33 2016 From: thresh на nginx.com (Konstantin Pavlov) Date: Tue, 26 Apr 2016 20:08:33 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <571E54CC.4080302@gmail.com> References: <571E54CC.4080302@gmail.com> Message-ID: <571FA091.4050606@nginx.com> On 25/04/2016 20:33, Anton Bessonov wrote: > Здравстуйте, > > на сколько я помню, то энджин не посзоляет обновлять конфигурацию, если > менять параметры некоторых директив, таких как пути к кэшам. Актуально > использую подмену бинарника - вроде помогает. Правильное решение - не заниматься танцами на уровне контейнера, а деплоить новый контейнер и менять конфигурацию на балансировщике нагрузки. -- Konstantin Pavlov Build & Deliver Applications, Flawlessly. nginx.conf 2016: September 7-9, Austin, TX https://nginx.com/nginxconf/ From annulen на yandex.ru Tue Apr 26 17:15:36 2016 From: annulen на yandex.ru (Konstantin Tokarev) Date: Tue, 26 Apr 2016 20:15:36 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> Message-ID: <1217281461690936@web29o.yandex.ru> 26.04.2016, 19:38, "vitcool" : > Konstantin Tokarev Wrote: > ------------------------------------------------------- >>  Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows >>  для веб-сервера > > это бестолковый холивар имхо Именно так, я использовал прием "доведение до абсурда" По-моему, разработчики предельно ясно дают понять, что Windows не является приоритетеной платформой для Nginx и развивается по остаточному принципу. >, потому что, если не упираться в стоимость > лицензии, на windows совершенно замечательно крутятся веб-сервера > > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266395#msg-266395 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Regards, Konstantin From alex.hha на gmail.com Tue Apr 26 17:19:55 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 26 Apr 2016 20:19:55 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1217281461690936@web29o.yandex.ru> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <1217281461690936@web29o.yandex.ru> Message-ID: Мб кому то пригодится, выкладываю рабочий xml config nginx-1.8.x nginx-1.8.x nginx-1.8.x c:/nginx-1.8.x/nginx.exe c:/nginx-1.8.x/wrapper roll -pc:/nginx-1.8.x -cconf/nginx.conf c:/nginx-1.8.x/nginx.exe -sstop сам xml по ходу должен располагаться в той же папке где и nginx.exe ​> По-моему, разработчики предельно ясно дают понять, что Windows не является приоритетеной платформой для Nginx и развивается по остаточному принципу это все понятно и причины тоже, но хотя бы сделали возможность запускать как службу из коробки, ибо вот иногда нужно использовать его на windows и начинаются пляски с бубном. > использовать всякие сторонние утилитки - это просто жесть как неудобно ну по сути ваша служба на c# та же стороняя утилитка ;) 2016-04-26 20:15 GMT+03:00 Konstantin Tokarev : > > > 26.04.2016, 19:38, "vitcool" : > > Konstantin Tokarev Wrote: > > ------------------------------------------------------- > >> Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows > >> для веб-сервера > > > > это бестолковый холивар имхо > > Именно так, я использовал прием "доведение до абсурда" > > ​​ > По-моему, разработчики предельно ясно дают понять, что Windows не является > приоритетеной платформой для Nginx и развивается по остаточному принципу. > > > >, потому что, если не упираться в стоимость > > лицензии, на windows совершенно замечательно крутятся веб-сервера > > > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266361,266395#msg-266395 > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > -- > Regards, > Konstantin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From bgx на protva.ru Tue Apr 26 17:24:56 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Tue, 26 Apr 2016 20:24:56 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160426172456.GD5567@sie.protva.ru> On Tue, Apr 26, 2016 at 12:38:28PM -0400, vitcool wrote: > Konstantin Tokarev Wrote: > ------------------------------------------------------- > > Вообще удивляет, на дворе 2016 год, и кто-то еще использует Windows > > для веб-сервера > > это бестолковый холивар имхо, потому что, если не упираться в стоимость > лицензии, на windows совершенно замечательно крутятся веб-сервера А если сэкономленные на лицензиях винды и базы данных деньги вложить в железо, то под фрюниксом будет крутиться намного шустрее. :) -- Eugene Berdnikov From nginx-forum на forum.nginx.org Tue Apr 26 18:31:42 2016 From: nginx-forum на forum.nginx.org (vitcool) Date: Tue, 26 Apr 2016 14:31:42 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <20160426172456.GD5567@sie.protva.ru> References: <20160426172456.GD5567@sie.protva.ru> Message-ID: <96b02827c778005bdb1a80e24fef2d3d.NginxMailingListRussian@forum.nginx.org> > А если сэкономленные на лицензиях винды и базы данных деньги вложить > в железо, то под фрюниксом будет крутиться намного шустрее. :) заодно найти аналоги того, что крутится рядом, например какой нибудь аппликейшен сервер, да еще с абсолютными урлами на свои ресурсы :) или еще какую нибудь программу win32 :))) Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266361,266404#msg-266404 From nginx-ru на sadok.spb.ru Tue Apr 26 19:14:44 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Tue, 26 Apr 2016 22:14:44 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <20160426172456.GD5567@sie.protva.ru> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <20160426172456.GD5567@sie.protva.ru> Message-ID: <158977412.20160426221444@sadok.spb.ru> Здравствуйте, Evgeniy. Вы писали 26 апреля 2016 г., 20:24:56: > А если сэкономленные на лицензиях винды и базы данных деньги вложить > в железо, то под фрюниксом будет крутиться намного шустрее. :) не касался тебя жестокий энтерпрайз... хорошо админить localhost =) -- С уважением, Dmitry nginx-ru на sadok.spb.ru From alex.hha на gmail.com Tue Apr 26 19:57:06 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 26 Apr 2016 22:57:06 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <158977412.20160426221444@sadok.spb.ru> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <20160426172456.GD5567@sie.protva.ru> <158977412.20160426221444@sadok.spb.ru> Message-ID: В жестоком и кровавом ынтерпрайзе все на джаве :D Ну или на худой конец - 1c/bitrix 2016-04-26 22:14 GMT+03:00 Dmitry Ivanov : > Здравствуйте, Evgeniy. > > Вы писали 26 апреля 2016 г., 20:24:56: > > > А если сэкономленные на лицензиях винды и базы данных деньги вложить > > в железо, то под фрюниксом будет крутиться намного шустрее. :) > > не касался тебя жестокий энтерпрайз... хорошо админить localhost =) > > -- > С уважением, > Dmitry nginx-ru на sadok.spb.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-ru на sadok.spb.ru Tue Apr 26 20:05:30 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Tue, 26 Apr 2016 23:05:30 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <20160426172456.GD5567@sie.protva.ru> <158977412.20160426221444@sadok.spb.ru> Message-ID: <1757703137.20160426230530@sadok.spb.ru> Здравствуйте, Alex. Вы писали 26 апреля 2016 г., 22:57:06: > В жестоком и кровавом ынтерпрайзе все на джаве :D Ну или на худой конец - 1c/bitrix Нет. Этот коммент был о том, что не достаточно купить P4, поставить Фрю и наслаждаться. Иногда нельзя экономить на лицензиях, стораджах, сетевых железяках, "электричестве", "воздухе", пожарке и т.п. >>  А если сэкономленные на лицензиях винды и базы данных деньги вложить >>  в железо, то под фрюниксом будет крутиться намного шустрее. :) > > не касался тебя жестокий энтерпрайз... хорошо админить localhost =) -- С уважением, Dmitry nginx-ru на sadok.spb.ru From igor на sysoev.ru Tue Apr 26 20:19:05 2016 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 26 Apr 2016 23:19:05 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QtNC80LXQvdCwINCx0LjQvdCw0YDQvdC40LrQsCDQsiDQtNC+0Lo=?= =?UTF-8?B?0LXRgNC1?= In-Reply-To: <571F96E2.2050006@gmail.com> References: <571E54CC.4080302@gmail.com> <5039C10B-D8D7-4657-981A-F82F958BDAD6@sysoev.ru> <571E762F.4080103@gmail.com> <650C696D-02F7-44BB-A08A-7D6D0C9AB5A4@sysoev.ru> <571F96E2.2050006@gmail.com> Message-ID: <1EEBFC39-AF04-4F65-A0B0-4A6B50A56FB9@sysoev.ru> On 26 Apr 2016, at 19:27, Anton Bessonov wrote: > Спасибо большое, работает. И с демонизацией тоже. > > Но наблюдаю эффект, что если убить мастера, то воркер остаётся один. И только после убивания воркера ломается контейнер. Можно сделать как-то (trap?), что бы контейнер или воркер с мастером ломались? А то состояние странное. Убить как - kill -9 или просто kill ? Во втором случае воркеры должны выходить. -- Igor Sysoev http://nginx.com From nginx-forum на forum.nginx.org Wed Apr 27 04:03:44 2016 From: nginx-forum на forum.nginx.org (77Dim77) Date: Wed, 27 Apr 2016 00:03:44 -0400 Subject: =?UTF-8?B?Tmdpbngg0LTQu9GPINC00L7RgdGC0YPQv9CwINC6INGE0LDQudC70LDQvCDQv9C+?= =?UTF-8?B?IGh0dHA=?= Message-ID: <3d5d5038c75f73fcbf1538c98713112c.NginxMailingListRussian@forum.nginx.org> Добрый день. Подскажите, как настроить Nginx для того, чтобы получить файл по http? Например, у меня есть файлы /data/photos/file1.png ... /data/photos/file100.png. Я хочу выполнить к ним get запрос. Я так понимаю url будет что-то типа http://server_name/data/photos/file1.png Как настроить сервер для этого? Также подскажите, хочу в данный каталог копировать файлы через Post запрос. Как для этого настроить Nginx? Вот это подойдет? Но мне нужно, чтобы имя файла было мое, как я понимаю тут имя будет присваивать сервер. http://nginx.org/en/docs/http/ngx_http_dav_module.html Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266412,266412#msg-266412 From rogat1y на gmail.com Wed Apr 27 06:20:39 2016 From: rogat1y на gmail.com (Maxim Kozlov) Date: Wed, 27 Apr 2016 09:20:39 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: <1757703137.20160426230530@sadok.spb.ru> References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <20160426172456.GD5567@sie.protva.ru> <158977412.20160426221444@sadok.spb.ru> <1757703137.20160426230530@sadok.spb.ru> Message-ID: Кстати, в win10 анонсировали bash(думаю многие слышали) https://habrahabr.ru/post/280560/ А nginx получиться туда поставить через apt-get install nginx? Взлетит? Не для продакшена конечно, исключительно для разработки. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alex.hha на gmail.com Wed Apr 27 06:27:51 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Wed, 27 Apr 2016 09:27:51 +0300 Subject: =?UTF-8?B?UmU6INCX0LDQv9GD0YHQuiBuZ2lueCDQsiB3aW5kb3dz?= In-Reply-To: References: <1174301461687640@web24g.yandex.ru> <1d059c765728602572a36652f6899bb6.NginxMailingListRussian@forum.nginx.org> <20160426172456.GD5567@sie.protva.ru> <158977412.20160426221444@sadok.spb.ru> <1757703137.20160426230530@sadok.spb.ru> Message-ID: Для локального тестирования использую http://open-server.ru/, довольно таки удобная штука 2016-04-27 9:20 GMT+03:00 Maxim Kozlov : > Кстати, в win10 анонсировали bash(думаю многие слышали) > https://habrahabr.ru/post/280560/ > А nginx получиться туда поставить через apt-get install nginx? Взлетит? Не > для продакшена конечно, исключительно для разработки. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Wed Apr 27 08:15:21 2016 From: nginx-forum на forum.nginx.org (kycedbi) Date: Wed, 27 Apr 2016 04:15:21 -0400 Subject: nginx-1.10.0 In-Reply-To: <20160426140116.GC36620@mdounin.ru> References: <20160426140116.GC36620@mdounin.ru> Message-ID: <0f80f96b536b1d4a3554a1e48eb256d1.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Подскажите, пожалуйста, почему бинарные файлы из официального репозитория Nginx стабильной версии 1.10 скомпилированы с OpenSSL 1.0.1f, которая не поддерживает Http2? https://i.imgur.com/sgT1HrR.png Благодарю. С уважением. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266380,266420#msg-266420 From thresh на nginx.com Wed Apr 27 08:22:58 2016 From: thresh на nginx.com (Konstantin Pavlov) Date: Wed, 27 Apr 2016 11:22:58 +0300 Subject: nginx-1.10.0 In-Reply-To: <0f80f96b536b1d4a3554a1e48eb256d1.NginxMailingListRussian@forum.nginx.org> References: <20160426140116.GC36620@mdounin.ru> <0f80f96b536b1d4a3554a1e48eb256d1.NginxMailingListRussian@forum.nginx.org> Message-ID: <572076E2.2040701@nginx.com> Здравствуйте, On 27/04/2016 11:15, kycedbi wrote: > Здравствуйте. > Подскажите, пожалуйста, почему бинарные файлы из официального репозитория > Nginx стабильной версии 1.10 скомпилированы с OpenSSL 1.0.1f, которая не > поддерживает Http2? > https://i.imgur.com/sgT1HrR.png > Благодарю. > С уважением. Мы собираем пакеты с той версией OpenSSL, что доступна в официальной поставке операционной системы. Задача отслеживания проблем с security и подобная поддержка openssl лежит на плечах авторов дистрибутивов и нам не хотелось бы дублировать их работу. Если Вам хочется openssl 1.0.2 "из коробки", обновляйтесь до 16.04, благо официальные пакеты для нее теперь тоже доступны - и собраны именно с 1.0.2. -- Konstantin Pavlov Build & Deliver Applications, Flawlessly. nginx.conf 2016: September 7-9, Austin, TX https://nginx.com/nginxconf/ From chipitsine на gmail.com Wed Apr 27 09:26:25 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 27 Apr 2016 14:26:25 +0500 Subject: nginx-1.10.0 In-Reply-To: <0f80f96b536b1d4a3554a1e48eb256d1.NginxMailingListRussian@forum.nginx.org> References: <20160426140116.GC36620@mdounin.ru> <0f80f96b536b1d4a3554a1e48eb256d1.NginxMailingListRussian@forum.nginx.org> Message-ID: а вы попробуйте настроить на таком nginx протокол http/2 и проверить сайт на https://www.ssllabs.com/ssltest/ многие браузеры через NPN работают с http/2 27 апреля 2016 г., 13:15 пользователь kycedbi написал: > Здравствуйте. > Подскажите, пожалуйста, почему бинарные файлы из официального репозитория > Nginx стабильной версии 1.10 скомпилированы с OpenSSL 1.0.1f, которая не > поддерживает Http2? > https://i.imgur.com/sgT1HrR.png > Благодарю. > С уважением. > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266380,266420#msg-266420 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Wed Apr 27 09:48:42 2016 From: nginx-forum на forum.nginx.org (kycedbi) Date: Wed, 27 Apr 2016 05:48:42 -0400 Subject: nginx-1.10.0 In-Reply-To: References: Message-ID: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> NPN: Yes h2 http/1.1 https://i.imgur.com/b12Lu0M.png но сайт не открывается ни в FF 46 ни в Хроме 49. https://i.imgur.com/CNq13Az.png Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266380,266427#msg-266427 From chipitsine на gmail.com Wed Apr 27 10:24:18 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 27 Apr 2016 15:24:18 +0500 Subject: nginx-1.10.0 In-Reply-To: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> References: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> Message-ID: прикольно. у меня открывался (потом, конечно, перешел на openssl-1.0.2) 2016-04-27 14:48 GMT+05:00 kycedbi : > NPN: Yes h2 http/1.1 > https://i.imgur.com/b12Lu0M.png но сайт не открывается ни в FF 46 ни в > Хроме > 49. https://i.imgur.com/CNq13Az.png > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266380,266427#msg-266427 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Wed Apr 27 11:17:04 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Wed, 27 Apr 2016 16:17:04 +0500 Subject: nginx-1.10.0 In-Reply-To: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> References: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> Message-ID: А у вас случайно rc4 не включен ли? Помнится, браузеры не хотели с включенным rc4 делать http/2 27 апр. 2016 г. 14:48 пользователь "kycedbi" написал: > NPN: Yes h2 http/1.1 > https://i.imgur.com/b12Lu0M.png но сайт не открывается ни в FF 46 ни в > Хроме > 49. https://i.imgur.com/CNq13Az.png > > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,266380,266427#msg-266427 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на forum.nginx.org Wed Apr 27 12:20:08 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Wed, 27 Apr 2016 08:20:08 -0400 Subject: =?UTF-8?B?V2ViREFWINC4IHByb3h5IHBhc3MgLSDQt9Cw0LrQsNGH0LXQvdC90YvQuSDRhNCw?= =?UTF-8?B?0LnQuyDQvdC1INGB0L7RhdGA0LDQvdGP0LXRgtGB0Y8=?= Message-ID: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> Всем привет! Сделал на NGiNX закачку файлов по WebDAV. Все работает отлично за небольшим исключением. Если настраиваю proxy_pass (уведомить бекенд о новом файле) то файл в директории для аплоада не появляется. При этом, ошибок нет. location / { # Maximum upload file client_max_body_size 100m; # Store (SAN) root /opt/sharefs/uploads/; # chmod for uploaded files dav_access user:rw group:rw all:r; # Upload only. dav_methods PUT MKCOL; # No need subdirectories create_full_put_path off; # Turn off autoindex autoindex off; charset utf-8; # Notify Tomcat about new file uploaded. # rewrite "^/(.*).mp3$" /cc/new_file?a=1&f=$1 break; # proxy_set_body off; # proxy_redirect off; # proxy_method GET; # proxy_set_header Host unifiedhost; # proxy_pass http://192.168.220.1:8080; } В чем может быть проблема? А может это и не проблема... а фича Тогда вопрос, а как сделать чтобы файл сохранялся и бекенд уведомлялся? Без передачи файла, просто GET запросом. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266437,266437#msg-266437 From mdounin на mdounin.ru Wed Apr 27 13:46:16 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 27 Apr 2016 16:46:16 +0300 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> References: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160427134616.GG36620@mdounin.ru> Hello! On Wed, Apr 27, 2016 at 08:20:08AM -0400, Dimka wrote: > Всем привет! > > Сделал на NGiNX закачку файлов по WebDAV. > Все работает отлично за небольшим исключением. > > Если настраиваю proxy_pass (уведомить бекенд о новом файле) то файл в > директории для аплоада не появляется. > При этом, ошибок нет. [...] > В чем может быть проблема? > А может это и не проблема... а фича Проблема в том, что proxy_pass обрабатывает все запросы, и до webdav'а дело не доходит. Как, например, и до отдачи статики. Так и должно быть. > Тогда вопрос, а как сделать чтобы файл сохранялся и бекенд уведомлялся? > Без передачи файла, просто GET запросом. Правильнее всего - писать логи и уведомлять бекенд отдельным сервисом на их основании. Если очень хочется быстро и просто - можно попробовать написать post_action. Но при этом стоит быть готовым к тому, что однажды всё сломается. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Apr 27 14:12:19 2016 From: nginx-forum на forum.nginx.org (kycedbi) Date: Wed, 27 Apr 2016 10:12:19 -0400 Subject: nginx-1.10.0 In-Reply-To: References: Message-ID: <731abef31d2e551202e8ab59f26a01ab.NginxMailingListRussian@forum.nginx.org> Выключен, верно. Правда не делал ничего специально для этого. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266380,266444#msg-266444 From vbart на nginx.com Wed Apr 27 14:34:18 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 27 Apr 2016 17:34:18 +0300 Subject: nginx-1.10.0 In-Reply-To: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> References: <8ee8a7ce6ad690caa9c3a4436faeecec.NginxMailingListRussian@forum.nginx.org> Message-ID: <2460069.h8ZWQHDzg4@vbart-workstation> On Wednesday 27 April 2016 05:48:42 kycedbi wrote: > NPN: Yes h2 http/1.1 > https://i.imgur.com/b12Lu0M.png но сайт не открывается ни в FF 46 ни в Хроме > 49. https://i.imgur.com/CNq13Az.png > Наработать сайта вообще не может быть связана с NPN/ALPN. Если между поддерживаемыми методами согласования протокола и набором протоколов на клиенте и сервере нет пересечения, то используется простой https. Ваша проблема кроется в других настройках. -- Валентин Бартенев From nginx-forum на forum.nginx.org Wed Apr 27 14:53:36 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Wed, 27 Apr 2016 10:53:36 -0400 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <20160427134616.GG36620@mdounin.ru> References: <20160427134616.GG36620@mdounin.ru> Message-ID: <9bbdf3474968dcc3899a19adb40c0e6b.NginxMailingListRussian@forum.nginx.org> Максим, Чем post_action плох? Рано или поздно может отказать по причине NGiNX или? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266437,266451#msg-266451 From mdounin на mdounin.ru Wed Apr 27 15:16:57 2016 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 27 Apr 2016 18:16:57 +0300 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <9bbdf3474968dcc3899a19adb40c0e6b.NginxMailingListRussian@forum.nginx.org> References: <20160427134616.GG36620@mdounin.ru> <9bbdf3474968dcc3899a19adb40c0e6b.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160427151657.GJ36620@mdounin.ru> Hello! On Wed, Apr 27, 2016 at 10:53:36AM -0400, Dimka wrote: > Чем post_action плох? > > Рано или поздно может отказать по причине NGiNX или? Тем, что post_action - хак, и в нетривиальных ситуациях может вести себя совсем не так, как ожидается, а при изменениях - может и вообще сломаться. Ну и ещё тем, что by design задерживает последующие запросы в том же соединении. -- Maxim Dounin http://nginx.org/ From nginx-forum на forum.nginx.org Wed Apr 27 19:11:31 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Wed, 27 Apr 2016 15:11:31 -0400 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <20160427151657.GJ36620@mdounin.ru> References: <20160427151657.GJ36620@mdounin.ru> Message-ID: В моем случае надо только уведомить Томкет о новом файле, а он сложит инфу в базу. По идеи тривиальная задача. Не хочется делать промежуточный процесс который будет лог читать или fastcgi. Рассматриваю вариант еще с использованием inotify, в этом случае вроде без хаков. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266437,266464#msg-266464 From nginx-forum на forum.nginx.org Wed Apr 27 19:32:36 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Wed, 27 Apr 2016 15:32:36 -0400 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> References: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> Message-ID: Для информации. Придумал как можно сделать без хака. Процесс который заливает файл: - заливает файл (WebDav) - делает GET запрос на проверку файла (этот запрос NGiNX проксирует на бекенд, тот в свою очередь проверяет наличие файла, дает отвечает) На этом этапе если ответ положительный, считаем что 100% файл успешно залит. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266437,266465#msg-266465 From bgx на protva.ru Wed Apr 27 20:46:01 2016 From: bgx на protva.ru (Evgeniy Berdnikov) Date: Wed, 27 Apr 2016 23:46:01 +0300 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: References: <0302b0560b6140511fd1b107abf65d95.NginxMailingListRussian@forum.nginx.org> Message-ID: <20160427204601.GJ5567@sie.protva.ru> On Wed, Apr 27, 2016 at 03:32:36PM -0400, Dimka wrote: > Для информации. > Придумал как можно сделать без хака. > > Процесс который заливает файл: > - заливает файл (WebDav) > - делает GET запрос на проверку файла (этот запрос NGiNX проксирует на > бекенд, тот в свою очередь проверяет наличие файла, дает отвечает) > > На этом этапе если ответ положительный, считаем что 100% файл успешно залит. Лишний трафик по GET. Лучше посчитать контрольную сумму и сравнить. -- Eugene Berdnikov From nginx-forum на forum.nginx.org Wed Apr 27 22:03:34 2016 From: nginx-forum на forum.nginx.org (Dimka) Date: Wed, 27 Apr 2016 18:03:34 -0400 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: <20160427204601.GJ5567@sie.protva.ru> References: <20160427204601.GJ5567@sie.protva.ru> Message-ID: <906b6a039ab45e1954c888a07a15db08.NginxMailingListRussian@forum.nginx.org> Контрольную сумму тоже можно, конечно. Тут главная идея в том чтобы уведомить бекенд (которому нужен файл) и получить от него подтверждение что файл на месте. Процесс (на другой ноде) который передавал в случае подтверждения удаляет файл. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266466,266469#msg-266469 From alex.hha на gmail.com Thu Apr 28 08:47:18 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 28 Apr 2016 11:47:18 +0300 Subject: =?UTF-8?B?V2luZG93czog0L3QtSDRgNCw0LHQvtGC0LDQtdGCINC00LjRgNC10LrRgtC40LI=?= =?UTF-8?B?0LAgYWNjZXNzX2xvZyBvZmY=?= Message-ID: Привет всем, Собственно использую простую конфигурацию location = /healthCheckForAWSLB.jsp { log_not_found off; access_log off; } Но при этом в access.log все равно попадают обращения. 172.28.1.10 - - [28/Apr/2016:08:34:31 +0000] "GET /healthCheckForAWSLB.jsp HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" 172.28.1.254 - - [28/Apr/2016:08:34:33 +0000] "GET /healthCheckForAWSLB.jsp HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" 172.28.2.59 - - [28/Apr/2016:08:34:35 +0000] "GET /healthCheckForAWSLB.jsp HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" Это какие то ограничения windows или я что то делаю не так? nginx.exe -v nginx version: nginx/1.8.1 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Thu Apr 28 12:04:18 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Apr 2016 15:04:18 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: References: Message-ID: <10371000.8ST4EX2GkZ@vbart-workstation> On Thursday 28 April 2016 11:47:18 Alex Domoradov wrote: > Привет всем, > > Собственно использую простую конфигурацию > > location = /healthCheckForAWSLB.jsp { > log_not_found off; > access_log off; > } > > Но при этом в access.log все равно попадают обращения. > > 172.28.1.10 - - [28/Apr/2016:08:34:31 +0000] "GET /healthCheckForAWSLB.jsp > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > 172.28.1.254 - - [28/Apr/2016:08:34:33 +0000] "GET /healthCheckForAWSLB.jsp > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > 172.28.2.59 - - [28/Apr/2016:08:34:35 +0000] "GET /healthCheckForAWSLB.jsp > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > Это какие то ограничения windows или я что то делаю не так? > > nginx.exe -v > nginx version: nginx/1.8.1 У вас видимо где-то error_page 404 задано, что приводит к перенаправлению запросов в другую локацию, где уже access_log включен. -- Валентин Бартенев From alex.hha на gmail.com Thu Apr 28 12:24:03 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 28 Apr 2016 15:24:03 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: <10371000.8ST4EX2GkZ@vbart-workstation> References: <10371000.8ST4EX2GkZ@vbart-workstation> Message-ID: Да, у меня на уровне server задано error_page 404 /404.html; А мне надо и для 404 сделать? location = /404.html { log_not_found off; access_log off; } Или есть какое то более красивое решение 2016-04-28 15:04 GMT+03:00 Валентин Бартенев : > On Thursday 28 April 2016 11:47:18 Alex Domoradov wrote: > > Привет всем, > > > > Собственно использую простую конфигурацию > > > > location = /healthCheckForAWSLB.jsp { > > log_not_found off; > > access_log off; > > } > > > > Но при этом в access.log все равно попадают обращения. > > > > 172.28.1.10 - - [28/Apr/2016:08:34:31 +0000] "GET > /healthCheckForAWSLB.jsp > > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > > > 172.28.1.254 - - [28/Apr/2016:08:34:33 +0000] "GET > /healthCheckForAWSLB.jsp > > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > > > 172.28.2.59 - - [28/Apr/2016:08:34:35 +0000] "GET > /healthCheckForAWSLB.jsp > > HTTP/1.1" 404 896 "-" "ELB-HealthChecker/1.0" "-" > > > > Это какие то ограничения windows или я что то делаю не так? > > > > nginx.exe -v > > nginx version: nginx/1.8.1 > > У вас видимо где-то error_page 404 задано, что приводит к перенаправлению > запросов в другую локацию, где уже access_log включен. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Thu Apr 28 12:36:23 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Apr 2016 15:36:23 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: References: <10371000.8ST4EX2GkZ@vbart-workstation> Message-ID: <2456068.DeHhSYndnF@vbart-workstation> On Thursday 28 April 2016 15:24:03 Alex Domoradov wrote: > Да, у меня на уровне server задано > > error_page 404 /404.html; > > А мне надо и для 404 сделать? > > location = /404.html { > log_not_found off; > access_log off; > } > > Или есть какое то более красивое решение "log_not_found off" тут уже не нужно, если 404.html существует. А так да, если хотите выключить логирование обращений к страницам ошибок, то самый прямой путь это делать в соответствующем блоке location, который эти страницы обрабатывает. С другой стороны, раз у вас location = /healthCheckForAWSLB.jsp { } гарантированно приводит к 404 ответу, который обрабатывается в другом блоке, то конкретно в этом нет смысла задавать access_log off. -- Валентин Бартенев From alex.hha на gmail.com Thu Apr 28 12:52:36 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 28 Apr 2016 15:52:36 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: <2456068.DeHhSYndnF@vbart-workstation> References: <10371000.8ST4EX2GkZ@vbart-workstation> <2456068.DeHhSYndnF@vbart-workstation> Message-ID: Просто не хотелось бы отключать 404 для всего сервера, так как иногда полезно потом анализировать логи, хотелось бы отключить только для /healthCheckForAWSLB.jsp, ибо из-за большого кол-ва обращений со стороны ELB балансировщиков, за день error/access логи "распухают" 2016-04-28 15:36 GMT+03:00 Валентин Бартенев : > On Thursday 28 April 2016 15:24:03 Alex Domoradov wrote: > > Да, у меня на уровне server задано > > > > error_page 404 /404.html; > > > > А мне надо и для 404 сделать? > > > > location = /404.html { > > log_not_found off; > > access_log off; > > } > > > > Или есть какое то более красивое решение > > "log_not_found off" тут уже не нужно, если 404.html существует. > > А так да, если хотите выключить логирование обращений к страницам ошибок, > то самый прямой путь это делать в соответствующем блоке location, который > эти страницы обрабатывает. > > С другой стороны, раз у вас > > location = /healthCheckForAWSLB.jsp { } > > гарантированно приводит к 404 ответу, который обрабатывается в другом > блоке, то конкретно в этом нет смысла задавать access_log off. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Thu Apr 28 13:38:16 2016 From: chipitsine на gmail.com (=?UTF-8?B?0JjQu9GM0Y8g0KjQuNC/0LjRhtC40L0=?=) Date: Thu, 28 Apr 2016 18:38:16 +0500 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: References: <10371000.8ST4EX2GkZ@vbart-workstation> <2456068.DeHhSYndnF@vbart-workstation> Message-ID: условие "if" в директиве access_log ? 28 апреля 2016 г., 17:52 пользователь Alex Domoradov написал: > Просто не хотелось бы отключать 404 для всего сервера, так как иногда > полезно потом анализировать логи, хотелось бы отключить только для > /healthCheckForAWSLB.jsp, ибо из-за большого кол-ва обращений со стороны > ELB балансировщиков, за день error/access логи "распухают" > > 2016-04-28 15:36 GMT+03:00 Валентин Бартенев : > >> On Thursday 28 April 2016 15:24:03 Alex Domoradov wrote: >> > Да, у меня на уровне server задано >> > >> > error_page 404 /404.html; >> > >> > А мне надо и для 404 сделать? >> > >> > location = /404.html { >> > log_not_found off; >> > access_log off; >> > } >> > >> > Или есть какое то более красивое решение >> >> "log_not_found off" тут уже не нужно, если 404.html существует. >> >> А так да, если хотите выключить логирование обращений к страницам ошибок, >> то самый прямой путь это делать в соответствующем блоке location, который >> эти страницы обрабатывает. >> >> С другой стороны, раз у вас >> >> location = /healthCheckForAWSLB.jsp { } >> >> гарантированно приводит к 404 ответу, который обрабатывается в другом >> блоке, то конкретно в этом нет смысла задавать access_log off. >> >> -- >> Валентин Бартенев >> _______________________________________________ >> 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 > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Thu Apr 28 13:41:40 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Apr 2016 16:41:40 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: References: <2456068.DeHhSYndnF@vbart-workstation> Message-ID: <41770473.1pPDOQByog@vbart-workstation> On Thursday 28 April 2016 15:52:36 Alex Domoradov wrote: > Просто не хотелось бы отключать 404 для всего сервера, так как иногда > полезно потом анализировать логи, хотелось бы отключить только для > /healthCheckForAWSLB.jsp, ибо из-за большого кол-ва обращений со стороны > ELB балансировщиков, за день error/access логи "распухают" > [..] Можно и так, но тогда нужно задать для /healthCheckForAWSLB.jsp директиву error_page, которая будет перенаправлять в отдельный location. Альтернативно можно использовать access_log с параметром if. -- Валентин Бартенев From vbart на nginx.com Thu Apr 28 13:58:56 2016 From: vbart на nginx.com (Valentin V. Bartenev) Date: Thu, 28 Apr 2016 16:58:56 +0300 Subject: =?UTF-8?B?UmU6IFdlYkRBViDQuCBwcm94eSBwYXNzIC0g0LfQsNC60LDRh9C10L3QvdGL0Lkg?= =?UTF-8?B?0YTQsNC50Lsg0L3QtSDRgdC+0YXRgNCw0L3Rj9C10YLRgdGP?= In-Reply-To: References: <20160427151657.GJ36620@mdounin.ru> Message-ID: <1537252.16a3Tc8HG2@vbart-workstation> On Wednesday 27 April 2016 15:11:31 Dimka wrote: > В моем случае надо только уведомить Томкет о новом файле, а он сложит инфу в > базу. > По идеи тривиальная задача. > > Не хочется делать промежуточный процесс который будет лог читать или > fastcgi. > > Рассматриваю вариант еще с использованием inotify, в этом случае вроде без > хаков. > [..] Читать файл и не обязательно, можно datagram сокет слушать. Параметр "syslog" в директиве access_log: http://nginx.org/r/access_log/ru -- Валентин Бартенев From alex.hha на gmail.com Thu Apr 28 14:14:47 2016 From: alex.hha на gmail.com (Alex Domoradov) Date: Thu, 28 Apr 2016 17:14:47 +0300 Subject: =?UTF-8?B?UmU6IFdpbmRvd3M6INC90LUg0YDQsNCx0L7RgtCw0LXRgiDQtNC40YDQtdC60YI=?= =?UTF-8?B?0LjQstCwIGFjY2Vzc19sb2cgb2Zm?= In-Reply-To: <41770473.1pPDOQByog@vbart-workstation> References: <2456068.DeHhSYndnF@vbart-workstation> <41770473.1pPDOQByog@vbart-workstation> Message-ID: Понял, спасибо 2016-04-28 16:41 GMT+03:00 Валентин Бартенев : > On Thursday 28 April 2016 15:52:36 Alex Domoradov wrote: > > Просто не хотелось бы отключать 404 для всего сервера, так как иногда > > полезно потом анализировать логи, хотелось бы отключить только для > > /healthCheckForAWSLB.jsp, ибо из-за большого кол-ва обращений со стороны > > ELB балансировщиков, за день error/access логи "распухают" > > > [..] > > Можно и так, но тогда нужно задать для /healthCheckForAWSLB.jsp директиву > error_page, которая будет перенаправлять в отдельный location. > > Альтернативно можно использовать access_log с параметром if. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nick на methodlab.info Thu Apr 28 14:50:42 2016 From: nick на methodlab.info (Nick Lavlinsky - Method Lab) Date: Thu, 28 Apr 2016 17:50:42 +0300 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDRgSBQT1NUINC4IEZpcmVmb3gg0YfQtdGA0LXQtyBI?= =?UTF-8?B?VFRQLzI=?= Message-ID: <57222342.6070001@methodlab.info> Здравствуйте! Недавно столкнулся со странной проблемой. В новых версиях Firefox (точно в 46) при попытке послать POST-запрос при работе через HTTP/2 после простоя около 5 минут получаем ошибку: Невозможно установить безопасное соединение (в панели Network статус запроса Aborted). Если не допускать простоя (часто посылать запросы) проблема не возникает. Та же самая система, тот же сервер но браузер Chrome 50 - нет проблем. В логах Nginx ничего нет, кроме error_log: 13597#13597: *5 client sent stream with data before settings were acknowledged while processing HTTP/2 connection Но эта строчка появляется и при работе через Chrome, но проблем не вызывает. Клиентская машина: Ubuntu 16.04, Firefox 46 (из стандартных пакетов). Сервер: Ubuntu 14.04. nginx -V nginx version: nginx/1.9.15 built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1) built with OpenSSL 1.0.1f 6 Jan 2014 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --add-dynamic-module=debian/extra/njs-1c50334fbea6/nginx --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' Конфигурация nginx: user www-data; worker_processes 8; worker_rlimit_nofile 30000; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 8192; multi_accept on; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; tcp_nopush on; tcp_nodelay on; reset_timedout_connection on; keepalive_timeout 120; keepalive_requests 1000; send_timeout 1200; server_tokens off; client_body_timeout 30; client_header_timeout 30; types_hash_max_size 2048; server_names_hash_max_size 4096; # Common limits client_max_body_size 10m; client_body_buffer_size 128k; client_body_temp_path /var/nginx/client_body_temp; proxy_connect_timeout 5; proxy_send_timeout 10; proxy_read_timeout 10; proxy_buffer_size 4k; proxy_buffers 8 16k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_temp_path /var/nginx/proxy_temp; gzip on; gzip_static on; gzip_types text/plain text/css text/xml application/x-javascript application/msword application/rtf application/pdf application/vnd.ms-excel image/x-icon image/svg+xml application/x-font-ttf; gzip_comp_level 9; gzip_proxied any; gzip_min_length 1000; gzip_disable "msie6"; gzip_vary on; #open_file_cache max=10000 inactive=5m; #open_file_cache_valid 5m; #open_file_cache_errors on; proxy_cache_valid 1h; proxy_cache_key $scheme$proxy_host$request_uri$cookie_US; proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=one:100m; fastcgi_cache_path /usr/local/nginx/cache2 levels=1:2 keys_zone=two:100m; limit_conn_zone $binary_remote_addr zone=lone:10m; limit_req_zone $binary_remote_addr zone=ltwo:10m rate=3r/s; limit_req_zone $binary_remote_addr zone=highspeed:10m rate=10r/s; log_format postdata '$remote_addr - $time_local - $request_body'; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5:!DSS; ssl_session_cache shared:SSL:10m; ssl_session_tickets on; ssl_session_timeout 28h; ssl_dhparam /etc/nginx/dhparams.pem; #ssl_buffer_size 4k; http2_idle_timeout 10m; resolver 8.8.8.8 8.8.4.4 valid=300s ipv6=off; resolver_timeout 5s; # For a hands-on explanation of using Accept negotiation, see: # http://www.igvita.com/2013/05/01/deploying-webp-via-accept-content-negotiation/ # For an explanation of how to use maps for that, see: # http://www.lazutkin.com/blog/2014/02/23/serve-files-with-nginx-conditionally/ map $http_accept $webp_suffix { "~*webp" ".webp"; } map $msie $cache_control { "1" "private"; } map $msie $vary_header { default "Accept"; "1" ""; } include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } Конфигурация сервера, где проявляется проблема: server { listen 85.236.3.115; listen 192.168.0.200; server_name 4snext.metodlab.ru; rewrite ^(.+)$ https://4snext.metodlab.ru$1; } server { listen 85.x.x.x:443 ssl http2; listen 192.1xx.x:443 ssl http2; ssl_certificate /ee.crt; ssl_certificate_key /e.key; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/nginx/bundle.crt; add_header Strict-Transport-Security max-age=31536000; server_name xxxxxdlab.ru; error_log /var/log/nginx/multisite_next_error.log; charset utf8; location / { proxy_pass http://127.0.0.1:9090/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 1g; proxy_connect_timeout 60; proxy_send_timeout 1200; proxy_read_timeout 1200; limit_conn lone 20; limit_req zone=ltwo burst=6 nodelay; #access_log /var/log/nginx/postdata-msnext.log postdata; } location ^~ /pcgi/(internal|tmp|_session)/ { deny all; } location ^~ /pcgi/modules/ { location ~* \.(ttf|eot|svg|woff|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|docx|xlsx|pptx|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|avi|swf|php)$ { expires 1y; root /home/httpd/multisite; } } location ~* robots.txt { expires 1y; root /etc/nginx; } # Static files location location ~* \.(ttf|eot|svg|woff|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|docx|xlsx|pptx|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|avi|swf|php)$ { expires 1y; root /home/httpd/multisite_next/htdocs; } } -- С уважением, Лавлинский Николай, Метод Лаб: делаем правильно! www.methodlab.ru +7 (499) 519-00-12 From vbart на nginx.com Thu Apr 28 16:09:00 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Apr 2016 19:09 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <57222342.6070001@methodlab.info> References: <57222342.6070001@methodlab.info> Message-ID: <48731963.C1R6mTIoBm@vbart-workstation> On Thursday 28 April 2016 17:50:42 Nick Lavlinsky - Method Lab wrote: > Здравствуйте! > > Недавно столкнулся со странной проблемой. > В новых версиях Firefox (точно в 46) при попытке послать POST-запрос при > работе через HTTP/2 после простоя около 5 минут получаем ошибку: > Невозможно установить безопасное соединение (в панели Network статус > запроса Aborted). Если не допускать простоя (часто посылать запросы) > проблема не возникает. > Та же самая система, тот же сервер но браузер Chrome 50 - нет проблем. > В логах Nginx ничего нет, кроме error_log: > 13597#13597: *5 client sent stream with data before settings were > acknowledged while processing HTTP/2 connection > Но эта строчка появляется и при работе через Chrome, но проблем не вызывает. > > Клиентская машина: Ubuntu 16.04, Firefox 46 (из стандартных пакетов). > Сервер: Ubuntu 14.04. > [..] Только что проверил с Firefox 45.0.1 - никаких проблем. Можете прислать дебаг лог? http://nginx.org/ru/docs/debugging_log.html -- Валентин Бартенев From nick на methodlab.info Thu Apr 28 18:08:25 2016 From: nick на methodlab.info (Nickolay Lavlinsky) Date: Thu, 28 Apr 2016 21:08:25 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <48731963.C1R6mTIoBm@vbart-workstation> References: <57222342.6070001@methodlab.info> <48731963.C1R6mTIoBm@vbart-workstation> Message-ID: <5562251461866905@web15m.yandex.ru> У меня nginx из репозитория для Ubuntu с вашего сайта, там debug версия только до nginx 1.9.7, поэтому быстро не получится лог прислать. Что заметил: проблема есть только в FF 46.0 (также проявляется в Win7), в FF 45.0.1 проблемы нет. > > [..] > > Только что проверил с Firefox 45.0.1 - никаких проблем. > Можете прислать дебаг лог? > > http://nginx.org/ru/docs/debugging_log.html > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Лавлинский Николай, Метод Лаб: делаем правильно! 7 (499) 519-00-12 1 на methodlab.info www.methodlab.ru facebook.com/methodlab.ru From thresh на nginx.com Thu Apr 28 18:12:23 2016 From: thresh на nginx.com (Konstantin Pavlov) Date: Thu, 28 Apr 2016 21:12:23 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <5562251461866905@web15m.yandex.ru> References: <57222342.6070001@methodlab.info> <48731963.C1R6mTIoBm@vbart-workstation> <5562251461866905@web15m.yandex.ru> Message-ID: <57225287.3090406@nginx.com> On 28/04/2016 21:08, Nickolay Lavlinsky wrote: > У меня nginx из репозитория для Ubuntu с вашего сайта, там debug версия только до nginx 1.9.7, поэтому быстро не получится лог прислать. Версия с debug теперь устанавливается в том же пакете, что и основной бинарник. Запустить ее можно инит-скриптом /etc/init.d/nginx-debug, ну и предварительно поменять уровень логирования для error_log на debug. -- Konstantin Pavlov Build & Deliver Applications, Flawlessly. nginx.conf 2016: September 7-9, Austin, TX https://nginx.com/nginxconf/ From nick на methodlab.info Thu Apr 28 18:39:09 2016 From: nick на methodlab.info (Nickolay Lavlinsky) Date: Thu, 28 Apr 2016 21:39:09 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <57225287.3090406@nginx.com> References: <57222342.6070001@methodlab.info> <48731963.C1R6mTIoBm@vbart-workstation> <5562251461866905@web15m.yandex.ru> <57225287.3090406@nginx.com> Message-ID: <5647621461868749@web23h.yandex.ru> 28.04.2016, 21:12, "Konstantin Pavlov" : > On 28/04/2016 21:08, Nickolay Lavlinsky wrote: >>  У меня nginx из репозитория для Ubuntu с вашего сайта, там debug версия только до nginx 1.9.7, поэтому быстро не получится лог прислать. > > Версия с debug теперь устанавливается в том же пакете, что и основной > бинарник. > > Запустить ее можно инит-скриптом /etc/init.d/nginx-debug, ну и > предварительно поменять уровень логирования для error_log на debug. > Спасибо за ликбез, наверное про дебаг версию пакета стоит написать в документации. Сделал дебаг лог. Проблема была примерно в 21.28, далее после рефреша страница загрузилась. Сам лог: http://4site.metodlab.ru/multisite_next_error.log На всякий случай версия ядра на сервере: Linux 4.2.0-35-generic #40~14.04.1-Ubuntu SMP Fri Mar 18 16:37:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux И параметры sysctl.conf net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_keepalive_time = 120 net.ipv4.tcp_keepalive_intvl = 20 net.ipv4.tcp_keepalive_probes = 3 # max coons tuning net.ipv4.ip_local_port_range = 1024 65535 #net.ipv4.tcp_tw_reuse = 1 #net.ipv4.tcp_tw_recycle = 1 net.netfilter.nf_conntrack_max = 1048576 net.core.netdev_max_backlog = 10000 net.core.somaxconn = 81920 # from http://wwwx.cs.unc.edu/~sparkst/howto/network_tuning.php #net.core.rmem_max=8388608 #net.core.wmem_max=8388608 #net.core.rmem_default=65536 #net.core.wmem_default=65536 #net.ipv4.tcp_rmem=4096 87380 8388608 #net.ipv4.tcp_wmem=4096 65536 8388608 #net.ipv4.tcp_mem=8388608 8388608 8388608 # from high performance browser network net.ipv4.tcp_slow_start_after_idle=0 net.ipv4.tcp_fastopen = 3 # disable ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 > -- > Konstantin Pavlov > > Build & Deliver Applications, Flawlessly. > nginx.conf 2016: September 7-9, Austin, TX > https://nginx.com/nginxconf/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Лавлинский Николай, Метод Лаб: делаем правильно! 7 (499) 519-00-12 1 на methodlab.info www.methodlab.ru facebook.com/methodlab.ru From vbart на nginx.com Thu Apr 28 18:52:20 2016 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 28 Apr 2016 21:52:20 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <5647621461868749@web23h.yandex.ru> References: <57222342.6070001@methodlab.info> <57225287.3090406@nginx.com> <5647621461868749@web23h.yandex.ru> Message-ID: <2262763.CqTsxIkfz3@vbart-workstation> On Thursday 28 April 2016 21:39:09 Nickolay Lavlinsky wrote: > > 28.04.2016, 21:12, "Konstantin Pavlov" : > > On 28/04/2016 21:08, Nickolay Lavlinsky wrote: > >> У меня nginx из репозитория для Ubuntu с вашего сайта, там debug версия только до nginx 1.9.7, поэтому быстро не получится лог прислать. > > > > Версия с debug теперь устанавливается в том же пакете, что и основной > > бинарник. > > > > Запустить ее можно инит-скриптом /etc/init.d/nginx-debug, ну и > > предварительно поменять уровень логирования для error_log на debug. > > > Спасибо за ликбез, наверное про дебаг версию пакета стоит написать в документации. > Сделал дебаг лог. Проблема была примерно в 21.28, далее после рефреша страница загрузилась. > Сам лог: http://4site.metodlab.ru/multisite_next_error.log [..] В логе ничего необычного. Похоже на какую-то регрессию в Firefox 46. Позже посмотрю на него внимательнее. -- Валентин Бартенев From nick на methodlab.info Fri Apr 29 09:01:51 2016 From: nick на methodlab.info (Nick Lavlinsky - Method Lab) Date: Fri, 29 Apr 2016 12:01:51 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0YEgUE9TVCDQuCBGaXJlZm94INGH0LXRgNC1?= =?UTF-8?B?0LcgSFRUUC8y?= In-Reply-To: <2262763.CqTsxIkfz3@vbart-workstation> References: <57222342.6070001@methodlab.info> <57225287.3090406@nginx.com> <5647621461868749@web23h.yandex.ru> <2262763.CqTsxIkfz3@vbart-workstation> Message-ID: <572322FF.50307@methodlab.info> Написал баг в Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1268775 Посмотрим, что там скажут. 28.04.2016 21:52, Валентин Бартенев пишет: > > [..] > > В логе ничего необычного. Похоже на какую-то регрессию в Firefox 46. > Позже посмотрю на него внимательнее. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Лавлинский Николай, Метод Лаб: делаем правильно! www.methodlab.ru +7 (499) 519-00-12 From nginx-forum на forum.nginx.org Fri Apr 29 19:34:13 2016 From: nginx-forum на forum.nginx.org (Babaev) Date: Fri, 29 Apr 2016 15:34:13 -0400 Subject: =?UTF-8?B?0JrQsNC6IE5naW54INC/0L7QvdC40LzQsNC10YIg0LrQsNC60LjQtSBVUkwg0Lc=?= =?UTF-8?B?0LDQv9GA0LDRiNC40LLQsNC10YIg0YDQvtGD0YLQtdGAPw==?= Message-ID: Например на роутере настроен Forwarding всех входящих запросов на выделенный IP сервера Nginx. Клиент запрашивает ресурс: www.google.ru Каким образом Nginx понимает, какой ресурс (URL) запрашивается клиентом, если настройки форвардинга - только IP адрес? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266529,266529#msg-266529 From nginx-ru на sadok.spb.ru Fri Apr 29 19:38:05 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Fri, 29 Apr 2016 22:38:05 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQuiBOZ2lueCDQv9C+0L3QuNC80LDQtdGCINC60LDQutC40LUgVVJM?= =?UTF-8?B?INC30LDQv9GA0LDRiNC40LLQsNC10YIg0YDQvtGD0YLQtdGAPw==?= In-Reply-To: References: Message-ID: <467191542.20160429223805@sadok.spb.ru> Здравствуйте, Babaev. Вы писали 29 апреля 2016 г., 22:34:13: > Например на роутере настроен Forwarding всех входящих запросов на выделенный > IP сервера Nginx. Клиент запрашивает ресурс: www.google.ru > Каким образом Nginx понимает, какой ресурс (URL) запрашивается клиентом, > если настройки форвардинга - только IP адрес? Пока это лучший вопрос года. По теме: у него внутре думатель и неонка. -- С уважением, Dmitry nginx-ru на sadok.spb.ru From nginx-forum на forum.nginx.org Fri Apr 29 19:46:06 2016 From: nginx-forum на forum.nginx.org (Babaev) Date: Fri, 29 Apr 2016 15:46:06 -0400 Subject: =?UTF-8?B?UmU6INCa0LDQuiBOZ2lueCDQv9C+0L3QuNC80LDQtdGCINC60LDQutC40LUgVVJM?= =?UTF-8?B?INC30LDQv9GA0LDRiNC40LLQsNC10YIg0YDQvtGD0YLQtdGAPw==?= In-Reply-To: <467191542.20160429223805@sadok.spb.ru> References: <467191542.20160429223805@sadok.spb.ru> Message-ID: <841a30da2b0cbc76937ea980fc07348e.NginxMailingListRussian@forum.nginx.org> Я имею ввиду, что в конфигурации Nginx по стандарту создаются locations с конкретными адресами(пути) по котором Nginx доступен. Например: location /cwr { } Это означает, что по адресу IP:/cwr - доступен будет ответ от Nginx Как это работает, если форвардинг указан только на IP без параметров? Как это поймет Nginx? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266529,266531#msg-266531 From onokonem на gmail.com Fri Apr 29 20:06:31 2016 From: onokonem на gmail.com (Daniel Podolsky) Date: Fri, 29 Apr 2016 23:06:31 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQuiBOZ2lueCDQv9C+0L3QuNC80LDQtdGCINC60LDQutC40LUgVVJM?= =?UTF-8?B?INC30LDQv9GA0LDRiNC40LLQsNC10YIg0YDQvtGD0YLQtdGAPw==?= In-Reply-To: <841a30da2b0cbc76937ea980fc07348e.NginxMailingListRussian@forum.nginx.org> References: <467191542.20160429223805@sadok.spb.ru> <841a30da2b0cbc76937ea980fc07348e.NginxMailingListRussian@forum.nginx.org> Message-ID: > Как это работает, если форвардинг указан только на IP без параметров? Как > это поймет Nginx? сначала я написал "а почитайте про разницу между HTTP 1.0 и 1.1, и вопрос прояснится" а потом я осознал - Вы же не понимаете, на каком уровне работают tcp forward и http. не надо задавать вопросы здесь, надо пойти учиться. ответ на этот Ваш вопрос тянет за собой такой пласт информации, что в рамках рассылки он до Вас не доберется... From nginx-ru на sadok.spb.ru Fri Apr 29 20:54:39 2016 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Fri, 29 Apr 2016 23:54:39 +0300 Subject: =?UTF-8?B?UmU6INCa0LDQuiBOZ2lueCDQv9C+0L3QuNC80LDQtdGCINC60LDQutC40LUgVVJM?= =?UTF-8?B?INC30LDQv9GA0LDRiNC40LLQsNC10YIg0YDQvtGD0YLQtdGAPw==?= In-Reply-To: <841a30da2b0cbc76937ea980fc07348e.NginxMailingListRussian@forum.nginx.org> References: <467191542.20160429223805@sadok.spb.ru> <841a30da2b0cbc76937ea980fc07348e.NginxMailingListRussian@forum.nginx.org> Message-ID: <1611082813.20160429235439@sadok.spb.ru> Здравствуйте, Babaev. Вы писали 29 апреля 2016 г., 22:46:06: > Это означает, что по адресу IP:/cwr - доступен будет ответ от Nginx > Как это работает, если форвардинг указан только на IP без параметров? Как > это поймет Nginx? роутер узнает из L3 пакета IP куда слать, а nginx узнает из L7 заголовка HTTP "Host", что отдавать. -- С уважением, Dmitry nginx-ru на sadok.spb.ru From nginx-forum на forum.nginx.org Fri Apr 29 22:17:44 2016 From: nginx-forum на forum.nginx.org (S.A.N) Date: Fri, 29 Apr 2016 18:17:44 -0400 Subject: Reuse cache Nginx, for any microservices Message-ID: Здравствуйте. Мы все больше используем микросервисы, они имеют уникальные uri, выполняют атомарные операции и отдают JSON ответы, их проксирует и кеширует Nginx. В этих бекенд микросервисах, часто появляются задачи для решения которых нужны ответы от других бекенд микросервисов, приходится внутри одного бекенд микросервиса делать http запросы к другим бекенд микросервисам, через Nginx, он нужен для балансировки и кеша, это все хорошо, но относительно медленно, несмотря на то что ответы получаем как правило из кеша Nginx. Я думаю как это дело можно оптимизировать, первое что приходит в голову сделать в Nginx ещё один виртуал сервер, который будет использовать те же upstream и туже кеш зону, но без SSL, и других лишних опций, этот вирт сервер будет слушать юникс сокет, каждый микросервис (они все демоны) будет держать постоянный открытый конект к этому юникс сокету, и HTTP методом GET получать нужные кеши от других микросервисов. Не уверен что этот велосипед оптимальный, возможно есть лучшие варианты? Спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266537,266537#msg-266537 From nginx-forum на forum.nginx.org Sat Apr 30 16:52:10 2016 From: nginx-forum на forum.nginx.org (nikolay.matsievsky) Date: Sat, 30 Apr 2016 12:52:10 -0400 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: How to operate with response.body ? Need to change it via JS, not Lua. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,261794,266547#msg-266547