sierra mac instalar macos nginx restart

macos - mac - Cómo reiniciar nginx en OS X



restart nginx mac (12)

¿Cuál es su ubicación de archivo pid nginx? Esto se especifica en el archivo de configuración, rutas predeterminadas especificadas en tiempo de compilación en el script de configuración. Puedes buscarlo como tal:

find / -name nginx.pid 2>/dev/null (debe emitir mientras se ejecuta nginx)

Solución:

sudo mkdir -p /usr/local/var/run/ ln -s /current/path/to/pid/file /usr/local/var/run/nginx.pid

Estoy usando nginx en OS X 10.8. Recién instalado nginx pero no se puede encontrar una manera de reiniciar nginx excepto kill nginx_pid decir kill 64116 . Preguntándose si hay mejores formas de reiniciar nginx .

Encontró algunos métodos en Google y SO, pero no funcionó:

nginx -s restart sudo fuser -k 80/tcp ; sudo /etc/init.d/nginx restart

El mensaje de error para nginx -s restart es

nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

A veces también recibe este mensaje de error:

nginx: invalid option: "-s restart"


Como recurso futuro, puede consultar http://wiki.nginx.org/CommandLine

Nginx probablemente se ejecuta como root, por lo que deberá ejecutar una variante del siguiente comando para afectarlo.

sudo nginx -s stop | reload | quit | reopen

Por lo general, no hay muchas razones para reiniciar Nginx como lo haría Apache . Si ha modificado un archivo de configuración, puede querer la opción de recarga.


Esto podría significar simplemente que nginx ya está detenido, no se está ejecutando en este momento.
Primero, confirme si nginx se está ejecutando, ejecute:

$ ps aux | grep nginx


Hay un error aquí. Dependiendo de si nginx se está ejecutando mientras modifica / reinicia Apache y / o modifica las configuraciones de nginx, es posible que se destruya este archivo (que básicamente es solo un puntero de ID de proceso).

Cuando intentes enviar cualquier señal a nginx,

nginx -s quit; nginx -s stop; nginx -s reload;

nginx usa este archivo para hacer referencia al ID del proceso al que necesita enviar la señal. Si el archivo no está allí, el enlace entre el proceso activo de nginx y la aplicación cli se rompe efectivamente.

De hecho, terminé en un estado en el que dos procesos nginx se ejecutaban simultáneamente, así que maté a ambos.

Para solucionar esto, puede forzar la finalización de los procesos nginx existentes a través del Monitor de actividad (luego ejecutar nginx y hacer que la aplicación cli cree un nuevo archivo nginx.pid) o si REALMENTE necesita mantener nginx en ejecución pero desea ejecutar nginx - s reload: crea manualmente un archivo en la ruta / run llamado nginx.pid e inserta el PID de los procesos nginx actualmente en ejecución (obtenidos a través del Activity Monitor).


Intenta ejecutar sudo nginx antes de iniciar nginx.


Lo hago así:

Primero mata el progreso

ps aux | grep nginx kill -9 {pid}

Luego, inicie nginx

nginx

¡Funciona!


Para volver a cargar el archivo de configuración personalizada, use

nginx -s reload -c /etc/nginx/conf.d/<config file>.conf


Para volver a cargar los archivos de configuración:

sudo nginx -s reload

Para reiniciar completamente nginx :

sudo nginx -s quit sudo nginx

Detalles

No hay señal de restart para nginx. De los documentos, estas son las señales que acepta el proceso maestro:

SIGINT, SIGTERM Shut down quickly. SIGHUP Reload configuration, start the new worker process with a new configuration, and gracefully shut down old worker processes. SIGQUIT Shut down gracefully. SIGUSR1 Reopen log files. SIGUSR2 Upgrade the nginx executable on the fly. SIGWINCH Shut down worker processes gracefully.

Es de suponer que podría enviar estas señales a la identificación del proceso manualmente, pero el comando nginx tiene la bandera nginx -s <signal> que envía señales al proceso maestro por usted. Tus opciones son:

stop SIGTERM quit SIGQUIT reopen SIGUSR1 reload SIGHUP

No es necesario usar el pid manualmente.

Editar: acaba de darse cuenta de que mucha de esta información ya estaba en comentarios sobre las otras respuestas. Dejando esto aquí de todos modos para resumir la situación.


Prueba esto:

sudo nginx -s stop

seguido de a:

sudo nginx

Parece que nginx realiza un seguimiento de su estado, si lo detiene dos veces, se quejará. Pero lo anterior funcionó para mí.



Una forma de detener o recargar es mediante el siguiente comando:

Para detener:

sudo /usr/local/nginx/sbin/nginx -s stop

Ejecute recargar solo si el nginx se está ejecutando:

sudo /usr/local/nginx/sbin/nginx -s reload

Al hacer lo anterior, no obtendrá nginx: [error] abrir () "/usr/local/var/run/nginx.pid" este problema


compruebe si este directorio existe:

/usr/local/var/run

este error puede ocurrir cuando nginx intenta inicializar el archivo pid en la localización que no existe.