Здравствуйте. Подскажите чуток по нгинксу - не могу найти в мануале, то ли руки, то ли уже заработался. Если я в секции http прописываю, то вот эти все настройки прокси будут применяться ко всем сайтам, если не указано что-то другое? или надо для каждого сайта прописывать отдельно? http { include /etc/nginx/mime.types; default_type application/octet-stream; client_max_body_size 30m; proxy_cache_valid 1h; proxy_cache_bypass $cookie_session; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_key "$scheme$host$request_uri"; proxy_no_cache $cookie_session; 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_set_header REQUEST_URI $request_uri; ......
location > server > http
http - общие настройки для всех http-сайтов;
server - настройки для конкретного сайта, которые наследуют и заменяют http;
location - настройки для каталога конкретного сайта, которые наследуют
и заменяют http и server.
--
With best regards,
Mykola
2015-03-11 22:14 GMT+03:00 Vasiliy P. Melnik
Здравствуйте.
Подскажите чуток по нгинксу - не могу найти в мануале, то ли руки, то ли уже заработался.
Если я в секции http прописываю, то вот эти все настройки прокси будут применяться ко всем сайтам, если не указано что-то другое? или надо для каждого сайта прописывать отдельно?
http { include /etc/nginx/mime.types; default_type application/octet-stream;
client_max_body_size 30m; proxy_cache_valid 1h; proxy_cache_bypass $cookie_session; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_key "$scheme$host$request_uri"; proxy_no_cache $cookie_session; 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_set_header REQUEST_URI $request_uri;
......
11 марта 2015 г., 21:28 пользователь Mykola Ulianytskyi
location > server > http
http - общие настройки для всех http-сайтов; server - настройки для конкретного сайта, которые наследуют и заменяют http; location - настройки для каталога конкретного сайта, которые наследуют и заменяют http и server
ок -спасибо. З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
Hello! On Wed, 11 Mar 2015 at 21:58:55 (+0200), Vasiliy P. Melnik wrote:
З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
-t Do not run, just test the configuration file. nginx checks the configuration file syntax and then tries to open files referenced in the configuration file. Не знаю, насколько это соответствует "testparm для самбы", т.к. никогда testparm не юзал. зы: во фре ключик "-t" поддерживается через rc-скрипт - service nginx configtest -- George L. Yermulnik [YZ-RIPE]
On Wed, Mar 11, 2015 at 10:48:35PM +0200, George L. Yermulnik wrote:
Hello!
On Wed, 11 Mar 2015 at 21:58:55 (+0200), Vasiliy P. Melnik wrote:
З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
-t Do not run, just test the configuration file. nginx checks the configuration file syntax and then tries to open files referenced in the configuration file.
При -HUP оно не вгружает "плохой" конфиг и насыпает в логи ошибки - тоже полезно смотреть при изменениях на лету. И оч. забавно, когда можно написать что-то типа "includes/*" - протестить можно только "в принципе взлетит-не взлетит", и ежели чего пропадёт - то долго можно будет гадать что именно :). -- Best regards, Paul Arakelyan.
Hello! On Thu, 12 Mar 2015 at 14:03:46 (+0200), Paul Arakelyan wrote:
З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
-t Do not run, just test the configuration file. nginx checks the configuration file syntax and then tries to open files referenced in the configuration file.
При -HUP оно не вгружает "плохой" конфиг и насыпает в логи ошибки - тоже полезно смотреть при изменениях на лету.
Тогда уже не HUP, а nginx -s reload -- George L. Yermulnik [YZ-RIPE]
On Thu, Mar 12, 2015 at 01:31:29PM +0200, George L. Yermulnik wrote:
Hello!
On Thu, 12 Mar 2015 at 14:03:46 (+0200), Paul Arakelyan wrote:
З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
-t Do not run, just test the configuration file. nginx checks the configuration file syntax and then tries to open files referenced in the configuration file.
При -HUP оно не вгружает "плохой" конфиг и насыпает в логи ошибки - тоже полезно смотреть при изменениях на лету.
Тогда уже не HUP, а nginx -s reload "Если ничто другое не помогает - прочтите инструкцию!". Ну и главное - если nginx где-нить в jail, или просто за пределами path - то killall -HUP минимизирует количество движений :) и вообще это "ожидаемое поведение". Хотя вот в солярисе были нюансы, бо "всё не как у людей" и killall не такой :).
-- Best regards, Paul Arakelyan.
Hello! On Sat, 14 Mar 2015 at 17:13:18 (+0200), Paul Arakelyan wrote:
З.Ы. такой штуки как testparm для самбы у нгинкса нет, насколько я понимаю.
-t Do not run, just test the configuration file. nginx checks the configuration file syntax and then tries to open files referenced in the configuration file.
При -HUP оно не вгружает "плохой" конфиг и насыпает в логи ошибки - тоже полезно смотреть при изменениях на лету.
Тогда уже не HUP, а nginx -s reload "Если ничто другое не помогает - прочтите инструкцию!". Ну и главное -
Сомневаюсь, что где-то в "инструкции" к nginx указано, что протестить конфиг и перечитать его правильно именно отсылкой HUP.
если nginx где-нить в jail, или просто за пределами path - то killall -HUP минимизирует количество движений :)
Сильная аргументация. А шатдауните Вы сервера, небось, по kill -TERM 1 =)
и вообще это "ожидаемое поведение".
Ожидаемое поведение - это restart/reload приложения его же средствами и процедурами, а не методом "дам по голове - разработчики же наверняка предусмотрели обработку HUP'а".
Хотя вот в солярисе были нюансы, бо "всё не как у людей" и killall не такой :).
-- George L. Yermulnik [YZ-RIPE]
Hello, George L. Yermulnik!
Сомневаюсь, что где-то в "инструкции" к nginx указано, что протестить конфиг и перечитать его правильно именно отсылкой HUP.
Вот тут: http://nginx.org/ru/docs/control.html -- Lystopad Aleksandr
Hello! On Sat, 14 Mar 2015 at 22:59:52 (+0300), Lystopad Aleksandr wrote:
Сомневаюсь, что где-то в "инструкции" к nginx указано, что протестить конфиг и перечитать его правильно именно отсылкой HUP.
Спасибо за ссылку. Даже не думал, что этот метод могут вынести в отдельный мануал. Правда, в защиту своей позиции замечу, что тут не идёт речь о "протестить конфиг и перечитать его _правильно именно_ отсылкой HUP", тут описана _возможность_ (цитата: "Управлять nginx можно с помощью сигналов"). А вот в "Руководство для начинающих", которое идёт сразу за "Установка nginx" и _до_ "Управление nginx" пишут такое: "Посылать сигналы процессам nginx можно также средствами Unix". Обращаю внимание на "можно также". В общем и целом это личное дело каждого отдыхающего, но я предпочитаю использовать встроенные в приложения средства управления этими самыми приложениями. И даже не брезгую дёргать абстрактный service для перезапуска вместо kill -TERM app_name && /path/to/app_name =) -- George L. Yermulnik [YZ-RIPE]
On Sat, Mar 14, 2015 at 10:48:15PM +0200, George L. Yermulnik wrote:
Hello!
On Sat, 14 Mar 2015 at 22:59:52 (+0300), Lystopad Aleksandr wrote:
Сомневаюсь, что где-то в "инструкции" к nginx указано, что протестить конфиг и перечитать его правильно именно отсылкой HUP.
Спасибо за ссылку. Даже не думал, что этот метод могут вынести в отдельный мануал. Правда, в защиту своей позиции замечу, что тут не идёт речь о "протестить конфиг и перечитать его _правильно именно_ отсылкой Это не протестить, это перечитать и при успехе - применить. Как правило, именно "переконфигурировать на лету" и нужно.
HUP", тут описана _возможность_ (цитата: "Управлять nginx можно с помощью сигналов"). А вот в "Руководство для начинающих", которое идёт Я, честно, не придумаю как локально взаимодействовать с запущенным процессом, окромя как через сигналы, пайпы, всякие шаред-* и (как апофигей) просто файлы/атрибуты файлов. Но сигналы - самое простое и популярное.
сразу за "Установка nginx" и _до_ "Управление nginx" пишут такое: "Посылать сигналы процессам nginx можно также средствами Unix". Обращаю внимание на "можно также". Сигнал - он и в африке сигнал. И фиолетово чем его посылать. Никто ж не мешает даже из своей софтины для управления это делать.
В общем и целом это личное дело каждого отдыхающего, но я предпочитаю использовать встроенные в приложения средства управления этими самыми приложениями. И даже не брезгую дёргать абстрактный service для перезапуска вместо kill -TERM app_name && /path/to/app_name =) Если о "рестартнуть" - то там часто нюансов дофига - типа подождать, пока завершится и запустить с вагоном параметров. service и его аналоги об этом заботятся. А в солярке - ваще прибитое авторестартится, поэтому или держать всё за пределами подобной подсистемы, или ей пользоваться, иначе ничего даже потушить надолго невозможно :). Но от большинства несложного софта - ожидается "unix way" и следование неким канонам - типа обрабатывать сигналы ожидаемым и логичным образом. Ну - т.е. если это что-то со связью - то HUP коннекты потушит и вдруг ещё и завершит приложение :), если у приложения есть конфиг - его перечитают. Ну да, всё равно неплохо почитать документацию - чтоб не удивляться нюансам поведения.
-- Best regards, Paul Arakelyan.
Yesterday Mar 11, 2015 at 21:58 Vasiliy P. Melnik wrote:
11 марта 2015 г., 21:28 пользователь Mykola Ulianytskyi
написал: location > server > http
http - общие настройки для всех http-сайтов; server - настройки для конкретного сайта, которые наследуют и заменяют http; location - настройки для каталога конкретного сайта, которые наследуют и заменяют http и server
ок -спасибо.
Добавлю ещё, что происходит наследование не переопределённых параметров, а не merge всей конфигурации. Если в server/location потом добавить, скажем, опцию proxy_set_header, то другие proxy_set_header с уровня http не унаследуются. -- WNGS-RIPE
Спасибо всем за ответы - понял 12 марта 2015 г., 4:00 пользователь Oleksandr V. Typlyns'kyi < astral@wangsamp.km.ua> написал:
Yesterday Mar 11, 2015 at 21:58 Vasiliy P. Melnik wrote:
11 марта 2015 г., 21:28 пользователь Mykola Ulianytskyi < lystor@gmail.com> написал:
location > server > http
http - общие настройки для всех http-сайтов; server - настройки для конкретного сайта, которые наследуют и заменяют http; location - настройки для каталога конкретного сайта, которые наследуют и заменяют http и server
ок -спасибо.
Добавлю ещё, что происходит наследование не переопределённых параметров, а не merge всей конфигурации. Если в server/location потом добавить, скажем, опцию proxy_set_header, то другие proxy_set_header с уровня http не унаследуются. -- WNGS-RIPE
participants (6)
-
George L. Yermulnik
-
Lystopad Aleksandr
-
Mykola Ulianytskyi
-
Oleksandr V. Typlyns'kyi
-
Paul Arakelyan
-
Vasiliy P. Melnik