Как остановить nginx в Mac OS X

37

Я установил и настроил сервер nginx на моем Mac из MacPorts

  1. sudo port install nginx
  2. Следуя рекомендациям консоли установки порта, создал элемент запуска launchd для nginx, затем запустил сервер.
  3. Переименован nginx.conf.exampleв nginx.confи переименован mime.types.exampleв mime.types.

Это отлично работает, но я не мог это остановить.

Я пытался sudo nginx -s stop, но это не останавливает сервер, я все еще вижу "Добро пожаловать в nginx!" страница в моем браузере включена http://localhost/; также я все еще вижу основные и рабочие процессы nginx с ps -e | grep nginx.

Каков наилучший способ запустить / остановить nginx на Mac?

Кстати, я добавил "демон выключен"; в nginx.conf - как рекомендовано различными ресурсами.

Алекс Каушовик
источник

Ответы:

66
# nginx -h
...
-s signal     : send signal to a master process: stop, quit, reopen, reload
...
SaveTheRbtz
источник
Когда я установил nginx с MacPorts, вышеприведенная команда не работала - я не выдавал ошибку, но сервер продолжал работать. Но когда я очистил nginx и переустановил его как часть установки пассажирского модуля nginx, он теперь работает: я могу сделать «nginx -s stop» и он действительно останавливает сервер. Спасибо!
Алекс Каушовик
2
используя nginx -s stopработал для меня , но тогда я не был в состоянии перезагрузить сервер , используя либо nginx -s reopen, nginx -s reload, nginx -s startили nginx -s restart? Как перезагрузить? Не берите в голову, только выполнение программы $ sudo /usr/local/sbin/nginxперезапускает это.
Тим Петерсон
@timpeterson restartили reloadработает на ... работающем сервере, если вы останавливаете его, вам просто нужно запустить его с помощью обычной команды no-signal nginx.
Biesior
16

Эта команда останавливает и останавливает nginx.

sudo nginx -s stop 
Песочные часы
источник
8

Правильный способ сделать это для Nginx, установленного через MacPorts:

  • Начало: sudo port load nginx
  • Стоп: sudo port unload nginx

OS X использует launchd, поэтому процесс запуска / остановки демонов немного отличается.

Р. ван Твиск
источник
4

Посмотрите на PID мастер-процесса и сделайте

kill -QUIT <master_pid>
Александр Азаров
источник
1
Как посмотреть PID?
user1767754
ps aux | grep nginx
Лакостеникодер
вам может понадобитьсяsudo kill -9 <pid>
lacostenycoder
3

Вы можете попробовать следующее:

ps -lef|grep -i nginx:|awk '{ print $2}'|xargs kill -9
thinkhy
источник