Как перезапустить Nginx на Mac OS X?

54

Я только что установил Nginx на Mac OS X (спасибо http://www.kevinworthington.com/nginx-mac-os-snow-leopard-2-minutes/ ), но как мне перезапустить Nginx на Mac OS X?

Спасибо!

Лаура Браун
источник
3
Если вы просто хотите перезагрузить компьютер из-за обновленной конфигурации, просто сделайте это sudo nginx -s reload.
hobbes3

Ответы:

112
sudo nginx -s stop && sudo nginx
osdyng
источник
1
Быстрый вопрос, что &&значит? Я думаю, это что-то другое, чем использовать ;?
hobbes3
4
этот ответ не работает для brew установлен nginx
vearutop
Кажется, это работает для моего варева, установленного nginx в 2019 году.
Barnabas Szabolcs
44

Для однострочника вы можете просто сделать:

sudo nginx -s reload

Эти -sопции означает сигнал, и это вариант вы будете использовать для отправки stop, quit, reopenи reloadсигналы Nginx.

Для получения дополнительной информации о параметрах, просто сделайте nginx -hсписок всех из них и их функций.

Ура!

Джеймс Педерсон
источник
2
Это не сработало для меня, поэтому мне пришлось сделать sudo nginxэто, чтобы начать. Я думаю, что это как-то связано с тем, что nginx уже был остановлен в моем случае.
Jamescampbell
1
Не могли бы вы сделать sudo nginx -s reload || sudo nginxвместо этого?
Джеймс Мерфи
12
sudo pkill nginx   
sudo nginx

Если pkillне удается найти, то brew install proctoolsсначала установите его, используя .

Курт Чжун
источник
3
Приведенные выше ответы намного чище, и они позволяют изящно остановиться nginx.
Майк N
1
Это пригодилось, когда nginx начал плохо себя вести, и я не мог убить его с помощью sudo nginx -s quitилиsudo -s reload
скрепка
1
Это единственное, что сработало для меня. Спасибо.
A-Dubb
9

для варки: sudo brew services restart nginx

dimaninc
источник
1
Эта команда не работает для меня вообще. Я устанавливаю nginx через brew ...
kris_IV
1
@kris_IV что выход?
18:18
1
после запуска: brew services restart nginxя получаю ответ: Stopping nginx ... (might take a while) ==> Successfully stopped nginx` (метка: homebrew.mxcl.nginx) ` ==> Successfully started nginx` (метка: homebrew.mxcl.nginx)`
kris_IV
1
@kris_IV, а почему вы думаете, что эта команда не работает тогда? все хорошо согласно вашему выводу
dimaninc
1
Я знаю, что вывод в порядке, но новый конфиг не работает вообще, но когда я использую sudo nginx -s stop && sudo nginxвместо этого все в порядке, и новый конфиг работает.
kris_IV
5

Если вы используете варку :

Чтобы увидеть все услуги:

brew services list

Запустите сервис nginx:

brew services start nginx

Остановите службу nginx:

brew services stop nginx
novonimo
источник
1

sudo nginx -s выйти && sudo nginx

Checkout Nginx руководство

иметь значение
источник
1
Это делает работу, но вы уверены, что правильный сценарий оболочки не существует? Этот метод очень сырой.
asdmin
1
По крайней мере, это официальная документация. Конечно, я буду следовать этому решению также. Спасибо.
Франциско Мария Калисто
1

Используете MAMP и Nginx? Тогда у вас есть установленный скрипт:

sudo /Applications/MAMP/bin/restartNginx.sh 
PeddlePower
источник
1

Еще одно замечание: если вы хотите запустить nginx с launchctl, при загрузке Mac вы можете сделать следующее:

sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

Короче говоря, вы должны положить свой plistфайл /Library/LaunchDaemons, а не в соответствии ~/Library/LaunchAgentsс инструкциями Homebrew . Наконец, используйте -wопцию с launchctl. Для получения дополнительной информации следуйте этому руководству.

Франсиско Мария Калисто
источник