Re[6]: nginx restart AND listen ip:port
Третий и последний раз повторяю, хотите, чтобы вам помогли - обозначайте ВСЕ части конфига, отвечающие за проблему. То, что по вашему мнению должно работать, но не работает. Вы видите разницу в ваших локейшенах? Апстрим backend у вас как-то определен? В error.log, случаем, не проскакивает что-то типа 'host not found in upstream ...' ? И, кстати, все-же рекомендую перечитывать конфиг как 'nginx -s reload'. Так вы сразу увидите ошибку. 'service nginx reload' вам ответит ОК, а ошибку скинет в лог. >Среда, 14 февраля 2018, 19:13 +03:00 от "imsystem" >: > >Всё проксирует, при записи >server { >listen external_IP_nginx:443; >location / { proxy_pass https://local_IP_IIS; } >} > >При этой записи не проксирует, выдавало, насколько помню, 403 >server { >listen 443; >location / { proxy_pass https://backend; } >} > >А прочие команды я и в документации видел, просто через service/systemctl >как-то привычнее. > >CoDDoC Wrote: >--- >> Да, сопоставима. Просто вы об этом ничего не сказали. >> Насчет опции -s и прочих можете посмотреть nginx -h >> Будет что-то типа: >> nginx version: nginx/1.13.8 >> Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g >> directives] >> >> Options: >> -?,-h : this help >> -v : show version and exit >> -V : show version and configure options then exit >> -t : test configuration and exit >> -T : test configuration, dump it and exit >> -q : suppress non-error messages during configuration >> testing >> -s signal : send signal to a master process: stop, quit, reopen, >> reload >> -p prefix : set prefix path (default: /etc/nginx/) >> -c filename : set configuration file (default: >> /etc/nginx/nginx.conf) >> -g directives : set global directives out of configuration file >> >> По остальному вам Максим ответил. >> >> А почему не проксирует - я вам уже сказал. С такой скудной >> информацией, что вы даете, нужен хрустальный шар. Не нужно вываливать >> весь конфиг, достаточно частей, относящихся к теме. Причин на самом >> деле может быть много. Начиная от правил FW и заканчивая локейшеном, в >> который падает запрос. >> >> >> >Среда, 14 февраля 2018, 15:51 +03:00 от "imsystem" >> < nginx-fo...@forum.nginx.org >: >> > >> >> Вам обязательно 'service nginx restart'? >> >> 'nginx -s reload' пробовали? >> >Нет, не обязательно. >> >Нет, не пробовал, считал её сопоставимой команде service nginx >> reload, а она >> >работает. >> >Меня сам факт смущает. >> > >> >> Насчет версии 1.12.1. В stable ветке доступна 1.12.2. Может там уже >> >> пофиксили? >> >Может и пофиксили. >> > >> >> >> Два интерфейса внешний и локальный. Везде ip - внешний ip. >> >> >> Проксирование идёт по локалке. >> >> >> Если принудительно не указывать ip в listen, то не проксируется. >> >> Потрудитесь четко формулировать вопрос. >> >> Что и куда вы проксируете? nginx на nginx? 80-й порт на 443-й? >> Бэкенд >> >> где находится? На том же сервере или на другом? >> >> ip в конфиге внешние? >> >С nginx на IIS, сервера разные, 80 порт перенаправляется на 443 (http >> -> >> >https). >> >ip которые слушает nginx внешние, проксирует соответственно на >> локальный ip >> >IIS потоо https прколу. >> > >> > >> >> >Среда, 14 февраля 2018, 13:10 +03:00 от "imsystem" >> >> < nginx-fo...@forum.nginx.org >: >> >> > >> >> >И совсем забыл. >> >> > >> >> >nginx -V >> >> >nginx version: nginx/1.12.1 >> >> >built by gcc 6.3.0 20170516 (Debian 6.3.0-18) >> >> >built with OpenSSL 1.1.1-dev xx XXX >> >> >TLS SNI support enabled >> >> >configure arguments: --prefix=/usr/local/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 >> >> >--user=www-data --group=www-data --with-threads --with-file-aio >> >> >--with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl >> >> >--with-http_v2_module --with-http_realip_module >> >> --with-http_addition_module >> >> >--with-http_xslt_module --with-http_image_filter_module >> >> >--with-http_geoip_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_auth_request_module >> >> >--with-http_random_index_module --with-http_secure_link_module >> >> >--with-http_degradation_module --with-http_slice_module >> >> >--with-http_stub_status_module --with-stream >> --with-stream_ssl_module >> >> > >> >> >uname -a >> >> >Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 >> >> (2017-12-23) >> >> >x86_64 GNU/Linux >> >> > >> >> >Posted at Nginx Forum: >> >> https://forum.nginx.org/read.php?21,278548,278550#msg-278550 >> >> > >> >> >___ >> >> >nginx-ru mailing list >> >> > nginx-ru@nginx.org >> >> > http://mailman.nginx.org/mailman/listinfo/n
Re: nginx restart AND listen ip:port
Hello! On Wed, Feb 14, 2018 at 11:08:42AM -0500, imsystem wrote: > Спасибо ещё раз, посмотрю примеры init конфигов, насколько мне известно он > дефолтный. Для systemd - лучше написать сразу service-файл, или взять из официальных пакетов. Или же просто добавить отладочного вывода в существующий, и разобраться, что же там происходит. > Но, вы забыли изначальную причину данной "проблемы", в одном случае > конфигурации listen, init скрипт срабатывает как надо, а во втором что-то > идёт не так. Тут причин может быть масса, начиная от "просто повезло", и заканчивая "nginx ругался на ошибку, но init-скрипт всё спрятал". Для начала попробуйте добавить к start-stop-daemon параметр "--no-close". -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Re[4]: nginx restart AND listen ip:port
Во второй записи backend = local_IP_IIS Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278551,278569#msg-278569 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Re[4]: nginx restart AND listen ip:port
Всё проксирует, при записи server { listen external_IP_nginx:443; location / { proxy_pass https://local_IP_IIS; } } При этой записи не проксирует, выдавало, насколько помню, 403 server { listen 443; location / { proxy_pass https://backend; } } А прочие команды я и в документации видел, просто через service/systemctl как-то привычнее. CoDDoC Wrote: --- > Да, сопоставима. Просто вы об этом ничего не сказали. > Насчет опции -s и прочих можете посмотреть nginx -h > Будет что-то типа: > nginx version: nginx/1.13.8 > Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g > directives] > > Options: > -?,-h : this help > -v : show version and exit > -V : show version and configure options then exit > -t : test configuration and exit > -T : test configuration, dump it and exit > -q : suppress non-error messages during configuration > testing > -s signal : send signal to a master process: stop, quit, reopen, > reload > -p prefix : set prefix path (default: /etc/nginx/) > -c filename : set configuration file (default: > /etc/nginx/nginx.conf) > -g directives : set global directives out of configuration file > > По остальному вам Максим ответил. > > А почему не проксирует - я вам уже сказал. С такой скудной > информацией, что вы даете, нужен хрустальный шар. Не нужно вываливать > весь конфиг, достаточно частей, относящихся к теме. Причин на самом > деле может быть много. Начиная от правил FW и заканчивая локейшеном, в > который падает запрос. > > > >Среда, 14 февраля 2018, 15:51 +03:00 от "imsystem" > : > > > >> Вам обязательно 'service nginx restart'? > >> 'nginx -s reload' пробовали? > >Нет, не обязательно. > >Нет, не пробовал, считал её сопоставимой команде service nginx > reload, а она > >работает. > >Меня сам факт смущает. > > > >> Насчет версии 1.12.1. В stable ветке доступна 1.12.2. Может там уже > >> пофиксили? > >Может и пофиксили. > > > >> >> Два интерфейса внешний и локальный. Везде ip - внешний ip. > >> >> Проксирование идёт по локалке. > >> >> Если принудительно не указывать ip в listen, то не проксируется. > >> Потрудитесь четко формулировать вопрос. > >> Что и куда вы проксируете? nginx на nginx? 80-й порт на 443-й? > Бэкенд > >> где находится? На том же сервере или на другом? > >> ip в конфиге внешние? > >С nginx на IIS, сервера разные, 80 порт перенаправляется на 443 (http > -> > >https). > >ip которые слушает nginx внешние, проксирует соответственно на > локальный ip > >IIS потоо https прколу. > > > > > >> >Среда, 14 февраля 2018, 13:10 +03:00 от "imsystem" > >> < nginx-fo...@forum.nginx.org >: > >> > > >> >И совсем забыл. > >> > > >> >nginx -V > >> >nginx version: nginx/1.12.1 > >> >built by gcc 6.3.0 20170516 (Debian 6.3.0-18) > >> >built with OpenSSL 1.1.1-dev xx XXX > >> >TLS SNI support enabled > >> >configure arguments: --prefix=/usr/local/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 > >> >--user=www-data --group=www-data --with-threads --with-file-aio > >> >--with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl > >> >--with-http_v2_module --with-http_realip_module > >> --with-http_addition_module > >> >--with-http_xslt_module --with-http_image_filter_module > >> >--with-http_geoip_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_auth_request_module > >> >--with-http_random_index_module --with-http_secure_link_module > >> >--with-http_degradation_module --with-http_slice_module > >> >--with-http_stub_status_module --with-stream > --with-stream_ssl_module > >> > > >> >uname -a > >> >Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 > >> (2017-12-23) > >> >x86_64 GNU/Linux > >> > > >> >Posted at Nginx Forum: > >> https://forum.nginx.org/read.php?21,278548,278550#msg-278550 > >> > > >> >___ > >> >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 > > > >Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,278551,278554#msg-278554 > > > >___ > >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 Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278551,278568#msg-278568 __
Re: nginx restart AND listen ip:port
Спасибо ещё раз, посмотрю примеры init конфигов, насколько мне известно он дефолтный. Но, вы забыли изначальную причину данной "проблемы", в одном случае конфигурации listen, init скрипт срабатывает как надо, а во втором что-то идёт не так. Maxim Dounin Wrote: --- > Hello! > > On Wed, Feb 14, 2018 at 09:58:28AM -0500, imsystem wrote: > > > systemctl status nginx > > > > ● nginx.service - LSB: starts the nginx web server > >Loaded: loaded (/etc/init.d/nginx; generated; vendor preset: > enabled) > > Drop-In: /etc/systemd/system/nginx.service.d > >└─limits.conf > >Active: failed (Result: exit-code) since Wed 2018-02-14 17:46:35 > MSK; 5s > > ago > > Docs: man:systemd-sysv-generator(8) > > Process: 8890 ExecStop=/etc/init.d/nginx stop (code=exited, > > status=0/SUCCESS) > > Process: 8892 ExecStart=/etc/init.d/nginx start (code=exited, > > status=1/FAILURE) > > Tasks: 0 (limit: 9830) > >CGroup: /system.slice/nginx.service > > > > Feb 14 17:46:35 gateway systemd[1]: Stopped LSB: starts the nginx > web > > server. > > Feb 14 17:46:35 gateway systemd[1]: Starting LSB: starts the nginx > web > > server... > > Feb 14 17:46:35 gateway nginx[8892]: Starting nginx: > > Feb 14 17:46:35 gateway systemd[1]: nginx.service: Control process > exited, > > code=exited status=1 > > Судя по всему, init-скрипт после слов "Starting nginx:" ничего > более не пытался вывести, и при этом завершился с ошибкой. Куда > он при этом потерял вывод самого nginx'а, и был ли он вообще - > надо разбираться собственно в init-скрипте. Ищите там. > > Отдельно отмечу, что тут хорошо видно, что секция "restart" в > init-скрипте никак не используется. Для перезапуска systemd > сначала вызывает init-скрипт с параметром stop, а затем с > параметром start. Это, в частности, с высокой вероятностью > приведёт к проблемам, если init-скрипт не дожидается собственно > завершения nginx'а, а просто отсылает сигнал и выходит. > > [...] > > -- > Maxim Dounin > http://mdounin.ru/ > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278567#msg-278567 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[4]: nginx restart AND listen ip:port
Да, сопоставима. Просто вы об этом ничего не сказали. Насчет опции -s и прочих можете посмотреть nginx -h Будет что-то типа: nginx version: nginx/1.13.8 Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] Options: -?,-h : this help -v : show version and exit -V : show version and configure options then exit -t : test configuration and exit -T : test configuration, dump it and exit -q : suppress non-error messages during configuration testing -s signal : send signal to a master process: stop, quit, reopen, reload -p prefix : set prefix path (default: /etc/nginx/) -c filename : set configuration file (default: /etc/nginx/nginx.conf) -g directives : set global directives out of configuration file По остальному вам Максим ответил. А почему не проксирует - я вам уже сказал. С такой скудной информацией, что вы даете, нужен хрустальный шар. Не нужно вываливать весь конфиг, достаточно частей, относящихся к теме. Причин на самом деле может быть много. Начиная от правил FW и заканчивая локейшеном, в который падает запрос. >Среда, 14 февраля 2018, 15:51 +03:00 от "imsystem" >: > >> Вам обязательно 'service nginx restart'? >> 'nginx -s reload' пробовали? >Нет, не обязательно. >Нет, не пробовал, считал её сопоставимой команде service nginx reload, а она >работает. >Меня сам факт смущает. > >> Насчет версии 1.12.1. В stable ветке доступна 1.12.2. Может там уже >> пофиксили? >Может и пофиксили. > >> >> Два интерфейса внешний и локальный. Везде ip - внешний ip. >> >> Проксирование идёт по локалке. >> >> Если принудительно не указывать ip в listen, то не проксируется. >> Потрудитесь четко формулировать вопрос. >> Что и куда вы проксируете? nginx на nginx? 80-й порт на 443-й? Бэкенд >> где находится? На том же сервере или на другом? >> ip в конфиге внешние? >С nginx на IIS, сервера разные, 80 порт перенаправляется на 443 (http -> >https). >ip которые слушает nginx внешние, проксирует соответственно на локальный ip >IIS потоо https прколу. > > >> >Среда, 14 февраля 2018, 13:10 +03:00 от "imsystem" >> < nginx-fo...@forum.nginx.org >: >> > >> >И совсем забыл. >> > >> >nginx -V >> >nginx version: nginx/1.12.1 >> >built by gcc 6.3.0 20170516 (Debian 6.3.0-18) >> >built with OpenSSL 1.1.1-dev xx XXX >> >TLS SNI support enabled >> >configure arguments: --prefix=/usr/local/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 >> >--user=www-data --group=www-data --with-threads --with-file-aio >> >--with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl >> >--with-http_v2_module --with-http_realip_module >> --with-http_addition_module >> >--with-http_xslt_module --with-http_image_filter_module >> >--with-http_geoip_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_auth_request_module >> >--with-http_random_index_module --with-http_secure_link_module >> >--with-http_degradation_module --with-http_slice_module >> >--with-http_stub_status_module --with-stream --with-stream_ssl_module >> > >> >uname -a >> >Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 >> (2017-12-23) >> >x86_64 GNU/Linux >> > >> >Posted at Nginx Forum: >> https://forum.nginx.org/read.php?21,278548,278550#msg-278550 >> > >> >___ >> >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 > >Posted at Nginx Forum: >https://forum.nginx.org/read.php?21,278551,278554#msg-278554 > >___ >nginx-ru mailing list >nginx-ru@nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru -- ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
Hello! On Wed, Feb 14, 2018 at 09:58:28AM -0500, imsystem wrote: > systemctl status nginx > > ● nginx.service - LSB: starts the nginx web server >Loaded: loaded (/etc/init.d/nginx; generated; vendor preset: enabled) > Drop-In: /etc/systemd/system/nginx.service.d >└─limits.conf >Active: failed (Result: exit-code) since Wed 2018-02-14 17:46:35 MSK; 5s > ago > Docs: man:systemd-sysv-generator(8) > Process: 8890 ExecStop=/etc/init.d/nginx stop (code=exited, > status=0/SUCCESS) > Process: 8892 ExecStart=/etc/init.d/nginx start (code=exited, > status=1/FAILURE) > Tasks: 0 (limit: 9830) >CGroup: /system.slice/nginx.service > > Feb 14 17:46:35 gateway systemd[1]: Stopped LSB: starts the nginx web > server. > Feb 14 17:46:35 gateway systemd[1]: Starting LSB: starts the nginx web > server... > Feb 14 17:46:35 gateway nginx[8892]: Starting nginx: > Feb 14 17:46:35 gateway systemd[1]: nginx.service: Control process exited, > code=exited status=1 Судя по всему, init-скрипт после слов "Starting nginx:" ничего более не пытался вывести, и при этом завершился с ошибкой. Куда он при этом потерял вывод самого nginx'а, и был ли он вообще - надо разбираться собственно в init-скрипте. Ищите там. Отдельно отмечу, что тут хорошо видно, что секция "restart" в init-скрипте никак не используется. Для перезапуска systemd сначала вызывает init-скрипт с параметром stop, а затем с параметром start. Это, в частности, с высокой вероятностью приведёт к проблемам, если init-скрипт не дожидается собственно завершения nginx'а, а просто отсылает сигнал и выходит. [...] -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
systemctl status nginx ● nginx.service - LSB: starts the nginx web server Loaded: loaded (/etc/init.d/nginx; generated; vendor preset: enabled) Drop-In: /etc/systemd/system/nginx.service.d └─limits.conf Active: failed (Result: exit-code) since Wed 2018-02-14 17:46:35 MSK; 5s ago Docs: man:systemd-sysv-generator(8) Process: 8890 ExecStop=/etc/init.d/nginx stop (code=exited, status=0/SUCCESS) Process: 8892 ExecStart=/etc/init.d/nginx start (code=exited, status=1/FAILURE) Tasks: 0 (limit: 9830) CGroup: /system.slice/nginx.service Feb 14 17:46:35 gateway systemd[1]: Stopped LSB: starts the nginx web server. Feb 14 17:46:35 gateway systemd[1]: Starting LSB: starts the nginx web server... Feb 14 17:46:35 gateway nginx[8892]: Starting nginx: Feb 14 17:46:35 gateway systemd[1]: nginx.service: Control process exited, code=exited status=1 Feb 14 17:46:35 gateway systemd[1]: Failed to start LSB: starts the nginx web server. Feb 14 17:46:35 gateway systemd[1]: nginx.service: Unit entered failed state. Feb 14 17:46:35 gateway systemd[1]: nginx.service: Failed with result 'exit-code'. _ journalctl -xe -- Unit nginx.service has finished shutting down. Feb 14 17:49:14 gateway systemd[1]: Starting LSB: starts the nginx web server... -- Subject: Unit nginx.service has begun start-up -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit nginx.service has begun starting up. Feb 14 17:49:14 gateway nginx[9378]: Starting nginx: Feb 14 17:49:14 gateway systemd[1]: nginx.service: Control process exited, code=exited status=1 Feb 14 17:49:14 gateway systemd[1]: Failed to start LSB: starts the nginx web server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit nginx.service has failed. -- -- The result is failed. Feb 14 17:49:14 gateway systemd[1]: nginx.service: Unit entered failed state. Feb 14 17:49:14 gateway systemd[1]: nginx.service: Failed with result 'exit-code'. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278559#msg-278559 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
Hello! On Wed, Feb 14, 2018 at 07:56:10AM -0500, imsystem wrote: > restart|force-reload) > echo -n "Restarting $DESC: " > start-stop-daemon --stop --quiet --pidfile \ > /var/run/$NAME.pid --exec $DAEMON > sleep 1 > start-stop-daemon --start --quiet --pidfile \ > /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS > echo "$NAME." > ;; > reload) > echo -n "Reloading $DESC configuration: " > start-stop-daemon --stop --signal HUP --quiet --pidfile > /var/run/$NAME.pid \ > --exec $DAEMON > echo "$NAME." > ;; > > Ничего такого. > > Спасибо подробный за ответ, но это явно не то, т.к. reload работал без каких > либо ошибок, новая конфигурация подгружалась. Значит разбирайтесь внимательно, что происходит при restart'е и почему он ломается. Сам nginx при проблемах всегда пишет, в чём дело (и в лог, и в stderr), так что либо дело не в нём, а в init-скрипте, либо вы что-то упустили. В частности, после того, как restart сломается - загляните в "systemctl status nginx" и в "journalctl -xe". -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON echo "$NAME." ;; Ничего такого. Спасибо подробный за ответ, но это явно не то, т.к. reload работал без каких либо ошибок, новая конфигурация подгружалась. Maxim Dounin Wrote: --- > Hello! > > On Wed, Feb 14, 2018 at 04:56:42AM -0500, imsystem wrote: > > > Здравствуйте. Обнаружил такую проблему(багу?). > > При добавлении блока: > > > > server { > > listen ip:80 default_server; > > server_name _; > > return 301 https://mysite.com; > > } > > > > Перестаёт работать рестарт сервера. > > Если же ip:80 заменить на просто порт 80, то команды service nginx > restart > > или systemctl restart nginx работают. > > > > В обоих случаях команда nginx -t говорит, что всё хорошо, в логах > > соответственно ничего нет. > > Команды на старт/стоп работают в обоих случаях, т.е. я просто не > могу > > перезагрузить. > > С учётом того, что restart - это фактически stop и следующий за > ним stop, либо у вас в service-файле для systemd написано что-то > странное, либо вы на самом деле путаете, и речь про reload. > > С reload'ом на Linux'е имеется достаточно типичная проблема: в > отличие от других операционных систем, linux не позволяет > одновременно открыть listen-сокеты на *:80 и :80. > > В результате если nginx уже запущен с listen на *:80, то написать > вместо него в конфигурации listen :80 и сделать reload - > нельзя, nginx не сможет создать новые listen-сокеты для новой > конфигурации, так как они конфликтуют с уже открытыми > listen-сокетами старой конфигурации. В error log'е, заданном на > глобальном уровне, будет при этом что-то вроде: > > 2018/02/14 15:32:52 [notice] 1672#1672: signal 1 (SIGHUP) received > from 1762, reconfiguring > 2018/02/14 15:32:52 [notice] 1672#1672: reconfiguring > 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed > (98: Address already in use) > 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after > 500ms > 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed > (98: Address already in use) > 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after > 500ms > 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed > (98: Address already in use) > 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after > 500ms > 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed > (98: Address already in use) > 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after > 500ms > 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed > (98: Address already in use) > 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after > 500ms > 2018/02/14 15:32:52 [emerg] 1672#1672: still could not bind() > > Соответственно nginx не сможет создать новую конфигурацию, и > продолжит работать со старой. > > Если такое изменение в listen-сокетах действительно необходимо, то > следует сделать restart - то есть выключить nginx, и включить его > обратно. > > -- > Maxim Dounin > http://mdounin.ru/ > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278555#msg-278555 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Re[2]: nginx restart AND listen ip:port
> Вам обязательно 'service nginx restart'? > 'nginx -s reload' пробовали? Нет, не обязательно. Нет, не пробовал, считал её сопоставимой команде service nginx reload, а она работает. Меня сам факт смущает. > Насчет версии 1.12.1. В stable ветке доступна 1.12.2. Может там уже > пофиксили? Может и пофиксили. > >> Два интерфейса внешний и локальный. Везде ip - внешний ip. > >> Проксирование идёт по локалке. > >> Если принудительно не указывать ip в listen, то не проксируется. > Потрудитесь четко формулировать вопрос. > Что и куда вы проксируете? nginx на nginx? 80-й порт на 443-й? Бэкенд > где находится? На том же сервере или на другом? > ip в конфиге внешние? С nginx на IIS, сервера разные, 80 порт перенаправляется на 443 (http -> https). ip которые слушает nginx внешние, проксирует соответственно на локальный ip IIS по https протоколу. > >Среда, 14 февраля 2018, 13:10 +03:00 от "imsystem" > : > > > >И совсем забыл. > > > >nginx -V > >nginx version: nginx/1.12.1 > >built by gcc 6.3.0 20170516 (Debian 6.3.0-18) > >built with OpenSSL 1.1.1-dev xx XXX > >TLS SNI support enabled > >configure arguments: --prefix=/usr/local/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 > >--user=www-data --group=www-data --with-threads --with-file-aio > >--with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl > >--with-http_v2_module --with-http_realip_module > --with-http_addition_module > >--with-http_xslt_module --with-http_image_filter_module > >--with-http_geoip_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_auth_request_module > >--with-http_random_index_module --with-http_secure_link_module > >--with-http_degradation_module --with-http_slice_module > >--with-http_stub_status_module --with-stream --with-stream_ssl_module > > > >uname -a > >Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 > (2017-12-23) > >x86_64 GNU/Linux > > > >Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,278548,278550#msg-278550 > > > >___ > >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 Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278551,278554#msg-278554 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
Hello! On Wed, Feb 14, 2018 at 04:56:42AM -0500, imsystem wrote: > Здравствуйте. Обнаружил такую проблему(багу?). > При добавлении блока: > > server { > listen ip:80 default_server; > server_name _; > return 301 https://mysite.com; > } > > Перестаёт работать рестарт сервера. > Если же ip:80 заменить на просто порт 80, то команды service nginx restart > или systemctl restart nginx работают. > > В обоих случаях команда nginx -t говорит, что всё хорошо, в логах > соответственно ничего нет. > Команды на старт/стоп работают в обоих случаях, т.е. я просто не могу > перезагрузить. С учётом того, что restart - это фактически stop и следующий за ним stop, либо у вас в service-файле для systemd написано что-то странное, либо вы на самом деле путаете, и речь про reload. С reload'ом на Linux'е имеется достаточно типичная проблема: в отличие от других операционных систем, linux не позволяет одновременно открыть listen-сокеты на *:80 и :80. В результате если nginx уже запущен с listen на *:80, то написать вместо него в конфигурации listen :80 и сделать reload - нельзя, nginx не сможет создать новые listen-сокеты для новой конфигурации, так как они конфликтуют с уже открытыми listen-сокетами старой конфигурации. В error log'е, заданном на глобальном уровне, будет при этом что-то вроде: 2018/02/14 15:32:52 [notice] 1672#1672: signal 1 (SIGHUP) received from 1762, reconfiguring 2018/02/14 15:32:52 [notice] 1672#1672: reconfiguring 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed (98: Address already in use) 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after 500ms 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed (98: Address already in use) 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after 500ms 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed (98: Address already in use) 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after 500ms 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed (98: Address already in use) 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after 500ms 2018/02/14 15:32:52 [emerg] 1672#1672: bind() to 127.0.0.1:80 failed (98: Address already in use) 2018/02/14 15:32:52 [notice] 1672#1672: try again to bind() after 500ms 2018/02/14 15:32:52 [emerg] 1672#1672: still could not bind() Соответственно nginx не сможет создать новую конфигурацию, и продолжит работать со старой. Если такое изменение в listen-сокетах действительно необходимо, то следует сделать restart - то есть выключить nginx, и включить его обратно. -- Maxim Dounin http://mdounin.ru/ ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx restart AND listen ip:port
Вам обязательно 'service nginx restart'? 'nginx -s reload' пробовали? Насчет версии 1.12.1. В stable ветке доступна 1.12.2. Может там уже пофиксили? >> Два интерфейса внешний и локальный. Везде ip - внешний ip. >> Проксирование идёт по локалке. >> Если принудительно не указывать ip в listen, то не проксируется. Потрудитесь четко формулировать вопрос. Что и куда вы проксируете? nginx на nginx? 80-й порт на 443-й? Бэкенд где находится? На том же сервере или на другом? ip в конфиге внешние? >Среда, 14 февраля 2018, 13:10 +03:00 от "imsystem" >: > >И совсем забыл. > >nginx -V >nginx version: nginx/1.12.1 >built by gcc 6.3.0 20170516 (Debian 6.3.0-18) >built with OpenSSL 1.1.1-dev xx XXX >TLS SNI support enabled >configure arguments: --prefix=/usr/local/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 >--user=www-data --group=www-data --with-threads --with-file-aio >--with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl >--with-http_v2_module --with-http_realip_module --with-http_addition_module >--with-http_xslt_module --with-http_image_filter_module >--with-http_geoip_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_auth_request_module >--with-http_random_index_module --with-http_secure_link_module >--with-http_degradation_module --with-http_slice_module >--with-http_stub_status_module --with-stream --with-stream_ssl_module > >uname -a >Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) >x86_64 GNU/Linux > >Posted at Nginx Forum: >https://forum.nginx.org/read.php?21,278548,278550#msg-278550 > >___ >nginx-ru mailing list >nginx-ru@nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-ru -- ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
И совсем забыл. nginx -V nginx version: nginx/1.12.1 built by gcc 6.3.0 20170516 (Debian 6.3.0-18) built with OpenSSL 1.1.1-dev xx XXX TLS SNI support enabled configure arguments: --prefix=/usr/local/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 --user=www-data --group=www-data --with-threads --with-file-aio --with-http_ssl_module --with-openssl=/home/sysadmin/src/openssl --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_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_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-stream --with-stream_ssl_module uname -a Linux gateway 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278550#msg-278550 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx restart AND listen ip:port
Добавлю что nginx используется для проксирования на backend. Два интерфейса внешний и локальный. Везде ip - внешний ip. Для сайтов блоки: server { listen ip:80 .. return ... } server { listen ip:443 .. ... } Проксирование идёт по локалке. Если принудительно не указывать ip в listen, то не проксируется. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278549#msg-278549 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
nginx restart AND listen ip:port
Здравствуйте. Обнаружил такую проблему(багу?). При добавлении блока: server { listen ip:80 default_server; server_name _; return 301 https://mysite.com; } Перестаёт работать рестарт сервера. Если же ip:80 заменить на просто порт 80, то команды service nginx restart или systemctl restart nginx работают. В обоих случаях команда nginx -t говорит, что всё хорошо, в логах соответственно ничего нет. Команды на старт/стоп работают в обоих случаях, т.е. я просто не могу перезагрузить. Может я чего-то не понимаю? Спасибо за внимание. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,278548,278548#msg-278548 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru