Cómo detener nginx en Mac OS X

37

He instalado y configurado el servidor nginx en mi Mac desde MacPorts

  1. sudo port install nginx
  2. Seguí la recomendación de la consola de instalación del puerto y creé el elemento de inicio de launchd para nginx, luego inicié el servidor.
  3. Rebautizado nginx.conf.examplea nginx.confy renombrado mime.types.examplea mime.types.

Funciona bien, pero no pude detenerlo.

Lo intenté sudo nginx -s stop, pero esto no detiene el servidor, todavía puedo ver "¡Bienvenido a nginx!" página en mi navegador en http://localhost/; También sigo viendo procesos maestros y trabajadores de nginx con ps -e | grep nginx.

¿Cuál es la mejor manera de iniciar / detener nginx en Mac?

Por cierto, he agregado "daemon off"; en nginx.conf, según lo recomendado por varios recursos.

Alex Kaushovik
fuente

Respuestas:

66
# nginx -h
...
-s signal     : send signal to a master process: stop, quit, reopen, reload
...
SaveTheRbtz
fuente
Cuando instalé nginx con MacPorts, el comando anterior no funcionó: no me daba un error, pero el servidor seguía ejecutándose. Pero cuando limpié nginx y lo reinstalé como parte de la instalación del módulo nginx de pasajero, funciona ahora: puedo hacer "nginx -s stop" y realmente detiene el servidor. ¡Gracias!
Alex Kaushovik
2
utilizando nginx -s stoptrabajado para mí, pero entonces yo no era capaz de reiniciar mi servidor usando nginx -s reopen, nginx -s reload, nginx -s starto nginx -s restart? ¿Cómo reiniciar? No importa, solo ejecutando el programa lo $ sudo /usr/local/sbin/nginxreinicia.
Tim Peterson
@timpeterson restarto reloadfunciona en ... servidor de trabajo, si lo está deteniendo, solo necesita iniciarlo con el nginxcomando común 'sin señal' .
biesior
16

Este comando se detiene también detiene nginx.

sudo nginx -s stop 
Reloj de arena
fuente
8

La forma correcta de hacer esto para Nginx instalado a través de MacPorts:

  • Comienzo: sudo port load nginx
  • Detener: sudo port unload nginx

OS X usa launchd, por lo que el proceso de iniciar / detener demonios es ligeramente diferente.

R. van Twisk
fuente
4

Mira el PID del proceso maestro y haz

kill -QUIT <master_pid>
Alexander Azarov
fuente
1
¿Cómo buscar el PID?
user1767754
ps aux | grep nginx
lacostenycoder
puede que tenga que hacersudo kill -9 <pid>
lacostenycoder
3

Puedes probar lo siguiente:

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