Как перезапустить nginx?

Для меня я запускаю «killall nginx» и запускаю его с помощью «sbin /nginx», у кого есть лучший сценарий перезапуска?

Кстати: я устанавливаю nginx из исходного кода, я не нахожу команду «service nginx» или /etc/init.d/nginx

70 голосов | спросил larry 16 ThuEurope/Moscow2010-12-16T10:49:00+03:00Europe/Moscow12bEurope/MoscowThu, 16 Dec 2010 10:49:00 +0300 2010, 10:49:00

5 ответов


121

Пакет nginx предоставляет сценарий /etc/init.d/nginx, который обеспечивает обычную функцию start | stop | restart | reload ....

/etc/init.d/nginx restart

перезапустит nginx

, как и

service nginx restart

Изменить

Здесь ссылку на скрипт, который вы можете использовать как /etc/init.d/nginx.

ответил tgurske 4 Jam1000000amFri, 04 Jan 2013 11:30:16 +040013 2013, 11:30:16
10

http://wiki.nginx.org/CommandLine

внутри ссылок есть некоторая команда для запуска и остановки сервера nginx

для запуска nginx:

/usr/bin/nginx

для остановки nginx:

/usr/bin/nginx -s stop

/usr/bin зависит от того, где вы устанавливаете nginx

ответил LiJung 11 J0000006Europe/Moscow 2013, 04:50:41
1

После редактирования файлов конфигурации я перезапускаю его так же, как на 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, указывает, что на этот раз не было обнаружено ошибок, и новая конфигурация является хорошей.

ответил cnst 12 FebruaryEurope/MoscowbTue, 12 Feb 2013 23:08:49 +0400000000pmTue, 12 Feb 2013 23:08:49 +040013 2013, 23:08:49
0

Вы можете найти сценарии инициализации в вики NginX: 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.

ответил Lekensteyn 16 ThuEurope/Moscow2010-12-16T11:00:53+03:00Europe/Moscow12bEurope/MoscowThu, 16 Dec 2010 11:00:53 +0300 2010, 11:00:53
0

Обычно пакеты, установленные из исходного кода, не устанавливают сценарий запуска в /etc/init.d/. У вас есть два варианта.

1- Вы можете искать скрипт в каталоге исходного кода или на веб-сайте и настраивать его, если это необходимо.

2- Вы можете скопировать сценарий запуска для другого пакета из своей системы и настроить его.

ответил Khaled 16 ThuEurope/Moscow2010-12-16T11:02:50+03:00Europe/Moscow12bEurope/MoscowThu, 16 Dec 2010 11:02:50 +0300 2010, 11:02:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132