Jak zatrzymać Nginx na Mac OS X.

37

Zainstalowałem i skonfigurowałem serwer nginx na moim Macu z MacPorts

  1. sudo port install nginx
  2. Postępował zgodnie z zaleceniami z konsoli instalacyjnej portu i utworzył element uruchomionego uruchamiania dla nginx, a następnie uruchomił serwer.
  3. Zmieniono nazwę nginx.conf.examplena nginx.confi zmieniono nazwę mime.types.examplena mime.types.

Działa dobrze, ale nie mogłem tego zatrzymać.

Próbowałem sudo nginx -s stop, ale to nie zatrzymuje serwera, nadal widzę „Witamy w nginx!” strona w mojej przeglądarce na http://localhost/; również nadal widzę procesy nginx nadrzędne i robocze ps -e | grep nginx.

Jaki jest najlepszy sposób na uruchomienie / zatrzymanie nginx na Macu?

BTW, dodałem „demona wyłączonego”; do nginx.conf - zgodnie z zaleceniami różnych zasobów.

Alex Kaushovik
źródło

Odpowiedzi:

66
# nginx -h
...
-s signal     : send signal to a master process: stop, quit, reopen, reload
...
SaveTheRbtz
źródło
Kiedy zainstalowałem nginx z MacPorts, powyższe polecenie nie działało - nie dawałem mi błędu, ale serwer nadal działał. Ale kiedy wyczyściłem nginx i ponownie go zainstalowałem w ramach instalacji modułu pasażerskiego nginx, działa teraz: mogę zrobić „nginx -s stop” i naprawdę zatrzymuje serwer. Dziękuję Ci!
Alex Kaushovik
2
korzystając nginx -s stoppracował dla mnie, ale to nie był w stanie ponownie uruchomić serwer stosując albo nginx -s reopen, nginx -s reload, nginx -s startlub nginx -s restart? Jak zrestartować? Nieważne, samo uruchomienie programu $ sudo /usr/local/sbin/nginxpowoduje jego ponowne uruchomienie.
tim peterson
@timpeterson restartlub reloaddziała na ... działającym serwerze, jeśli go zatrzymujesz, wystarczy uruchomić go zwykłą nginxkomendą „brak sygnału” .
biesior
16

To polecenie zatrzymuje także zatrzymuje nginx.

sudo nginx -s stop 
Klepsydra
źródło
8

Prawidłowy sposób to zrobić dla Nginx zainstalowanego za pośrednictwem MacPorts:

  • Początek: sudo port load nginx
  • Zatrzymać: sudo port unload nginx

OS X używa uruchomionego, więc proces uruchamiania / zatrzymywania demonów jest nieco inny.

R. van Twisk
źródło
4

Spójrz na PID głównego procesu i wykonaj

kill -QUIT <master_pid>
Aleksander Azarow
źródło
1
Jak wyszukać PID?
user1767754
ps aux | grep nginx
lacostenycoder
być może trzeba to zrobićsudo kill -9 <pid>
lacostenycoder
3

Możesz spróbować:

ps -lef|grep -i nginx:|awk '{ print $2}'|xargs kill -9
thinkhy
źródło