Здравствуйте, Igor!
Wednesday, September 14, 2005, 4:23:01 PM, you wrote:
IS> On Wed, 14 Sep 2005, Vyacheslav Kokorin wrote:
Версия nginx: Server: nginx/0.1.41
Есть конфиг такого вида:
http {
...
server {
listen external_ip:80;
location / {
access_log off;
proxy_pass http://127.0.0.1/;
}
}
# Comment
}
Всё работает прекрасно.
С целью проксировать запросы на определённый хост к другому бэкенду,
добавляю в конфиг (вместо # Comment) такие строки:
server {
listen external_ip:80;
server_name host_to_another_backend.ru
IS> В настоящем конфиге после server_name host_to_another_backend.ru есть ';' ?
Да, есть. При этом таких хостов не один, а несколько. Все они
разделены пробелами. т.е. так:
server_name host_to_another_backend.ru *.host_to_another_backend.ru host2.ru
*.host2.ru;
location / {
access_log off;
proxy_pass http://127.0.0.2/;
}
}
По
# killall -HIP nginx
запросы к бэкенду не проксируются, однако после
# killall -9 nginx;
# nginx
Всё работает так, как задумано.
Хотелось уточнить, это так и должно быть или всё-таки можно в данном
случае обойтись без killall -9 ?
IS> Должно работать по -HUP. Причём его не нужно посылать всем процессам,
IS> а только мастеру. nginx -t не выдаёт ошибок ?
Да, "nginx -t" говорит syntax ok;
Тем более что после "killall -9 nginx; nginx" всё работает корректно,
так как и ожидаеnсся.
Если у рабочего процесса есть keep-alive соединение, то после -HUP оно
сразу не закрывается. Оно закроется только после того, как по нему будет
сделан одни запрос. Скорее всего, была подобная ситуация, нет ?
Игорь Сысоев
http://sysoev.ru