2011-10-04 16 views
17

He emitido una parada de nginx -s y luego recibí este error cuando intentaba volver a cargarlo.Nginx Número de PID inválido

[error]: número de PID no válido "" en "/var/run/nginx.pid"

Eso/var/run archivo/nginx/pid es atm vacía.

¿Qué debo hacer para solucionarlo?

Respuesta

24

nginx -s reload solo se usa para indicarle a un proceso en ejecución de nginx que vuelva a cargar su configuración. Después de una parada, no tiene un proceso nginx en ejecución para enviar una señal. Simplemente ejecute nginx (posiblemente con un archivo -c/ruta/a/config /)

+4

En una instalación estándar de distribuciones actuales, es probable que desee utilizar el script de inicio: 'sudo service nginx start' –

12

en mi caso, resolví esto iniciando el servicio.

sudo /etc/init.d/nginx empezar

El comando anterior iniciar el servicio en Debian/Ubuntu. Se emitirá un error si hay algún problema (como Apache escuchando en el mismo puerto)

Después de recarga que nginx -s funciona como un encanto

7

En la última versión (1.2.0) que he descargado no hay ninguna opción "-s empezar", dirá nginx: opción no válida: "-s start"

Usted puede comenzar por nginx

sudo /etc/nginx/sbin/nginx 

se ha iniciado el servidor y luego que no habrá cualquier error de número de pid inválido.

5

En mi caso, nginx se detuvo (se colgó, supongo). Resuelto el problema por:

service nginx status 
nginx stop/waiting 

service nginx start 
nginx start/running, process 3535 

Entonces nginx -s recarga funcionó de maravilla.

Estoy usando nginx/1.8.0 en trusty.

+0

Es muy extraño cómo el documento nginx ation no incluye estos comandos. Simplemente diga "Para iniciar nginx, ejecute el archivo ejecutable". No sé por qué no incluyeron la línea: ** sudo service nginx start ** <- esto funcionó de mi parte –

0

Para evitar el tiempo de inactividad con Nginx reinicio,

ps aux | grep nginx 
PID of nginx master process 

echo PID > /var/run/nginx.pid 
nginx -s reload 
0

Esto despejará el tema en Ubuntu 16.04 y por encima de

sudo service nginx stop  

sudo service nginx start 

ps -eaf|grep nginx  # confirm its running 

sudo nginx -t && sudo nginx -s reload # confirm config is OK 

#  typical output 
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 
# nginx: configuration file /etc/nginx/nginx.conf test is successful 


sudo service nginx stop # issue stop 

ps -eaf|grep nginx  # confirm it actually stopped 

ahora cordura se ha restaurado y que son libres para poner en marcha a voluntad