Для меня я запускаю «killall nginx» и запускаю его «sbin / nginx», у кого-нибудь есть сценарий перезапуска лучше?
Кстати: я устанавливаю nginx из источника, я не нахожу команду service nginx или /etc/init.d/nginx
Пакет nginx предоставляет сценарий /etc/init.d/nginx, который обеспечивает обычные функции start | stop | restart | reload ...
/etc/init.d/nginx restart
перезапустит nginx
как будет
service nginx restart
редактировать
Вот - это ссылка на сценарий, который можно использовать как /etc/init.d/nginx.
http://wiki.nginx.org/CommandLine
внутри ссылок есть команда для запуска и остановки сервера nginx
для запуска nginx:
/usr/bin/nginx
для остановки nginx:
/usr/bin/nginx -s stop
/usr/bin
зависит от того, где вы устанавливаете свой nginx
По какой-то причине во встроенной системе, над которой я работаю, это:
systemctl restart nginx
После редактирования файлов конфигурации я перезапускаю его в OpenBSD следующим образом:
kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
tail -2 /var/www/logs/error.log ; date
В HUP
сигнал заставляет его перечитывать свои файлы конфигурации, tail
показывает, были ли обнаружены ошибки, date
помещает эти ошибки в контекст (ошибка произошла, только если время с date
соответствует времени из журнала), и sleep 1
гарантирует, что между чтением журнала до того, как nginx успел записать в него, не возникнет условий гонки.
Вот как это выглядит:
Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns#
Тот факт, что время из журнала не находится между временами, напечатанными date
указывает, что на этот раз ошибок не было, и новая конфигурация является хорошей.
Вы можете найти сценарии инициализации в NginX Wiki: http://wiki.nginx.org/Configuration#Init_Scripts
Функция перезапуска запускает следующую команду:
BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf
Если у вас установлен nginx в / opt / nginx, замените BASEDIR=
по BASEDIR=/opt/nginx
.
Обычно пакеты, установленные из источника, не устанавливают сценарий запуска в /etc/init.d/
. У вас есть два варианта.
1- Вы можете найти сценарий в каталоге исходного кода или на веб-сайте и при необходимости настроить его.
2- Вы можете скопировать сценарий запуска для другого пакета из вашей системы и настроить его.