Cara menghentikan nginx di Mac OS X

37

Saya telah menginstal dan mengkonfigurasi server nginx pada Mac saya dari MacPorts

  1. sudo port install nginx
  2. Ikuti rekomendasi dari konsol instalasi port dan membuat item startup launchd untuk nginx, kemudian memulai server.
  3. Berganti nama nginx.conf.examplemenjadi nginx.confdan berganti nama mime.types.examplemenjadi mime.types.

Ini bekerja dengan baik, tetapi saya tidak bisa menghentikannya.

Saya mencoba sudo nginx -s stop, tetapi ini tidak menghentikan server, saya masih dapat melihat "Selamat datang di nginx!" halaman di browser saya aktif http://localhost/; juga saya masih melihat proses master dan pekerja nginx dengan ps -e | grep nginx.

Apa cara terbaik untuk memulai / menghentikan nginx di Mac?

BTW, saya telah menambahkan "daemon off;" ke nginx.conf - seperti yang direkomendasikan oleh berbagai sumber.

Alex Kaushovik
sumber

Jawaban:

66
# nginx -h
...
-s signal     : send signal to a master process: stop, quit, reopen, reload
...
SaveTheRbtz
sumber
Ketika saya menginstal nginx dengan MacPorts, perintah di atas tidak berfungsi - saya tidak memberi saya kesalahan, tetapi server terus berjalan. Tetapi ketika saya menghapus nginx dan menginstalnya kembali sebagai bagian dari pemasangan modul nginx penumpang, itu berfungsi sekarang: Saya dapat melakukan "nginx -s stop" dan itu benar-benar menghentikan server. Terima kasih!
Alex Kaushovik
2
menggunakan nginx -s stopbekerja untuk saya tapi kemudian saya tidak bisa me-restart server saya baik menggunakan nginx -s reopen, nginx -s reload, nginx -s startatau nginx -s restart? Bagaimana cara me-restart? Nevermind, hanya menjalankan program $ sudo /usr/local/sbin/nginxrestart itu.
tim peterson
@timpeterson restartatau reloadberfungsi pada ... server yang berfungsi, jika Anda menghentikannya, Anda hanya perlu memulainya dengan nginxperintah 'no-signal' yang umum .
biesior
16

Perintah ini berhenti juga berhenti nginx.

sudo nginx -s stop 
Jam pasir
sumber
8

Cara yang benar untuk melakukan ini untuk Nginx diinstal melalui MacPorts:

  • Mulai: sudo port load nginx
  • Berhenti: sudo port unload nginx

OS X menggunakan launchd sehingga proses memulai / menghentikan daemon sedikit berbeda.

R. van Twisk
sumber
4

Lihatlah PID proses master dan lakukan

kill -QUIT <master_pid>
Alexander Azarov
sumber
1
Bagaimana cara mencari PID?
user1767754
ps aux | grep nginx
lacostenycoder
Anda mungkin perlu melakukansudo kill -9 <pid>
lacostenycoder
3

Anda dapat mencoba yang berikut ini:

ps -lef|grep -i nginx:|awk '{ print $2}'|xargs kill -9
berpikiran
sumber