Tres formas de resolver errores de Nginx: nginx: [error] número PID no válido "" en "/run/nginx.pid"
Las soluciones en línea están fragmentadas y son repetitivas.
Así que lo recopilé para referencia y uso posteriores.
1. Descripción del problema
Para el error de comando de ejecución de nginxreload
:
[MyHome@MyMachine ~]$ sudo nginx -s reload
nginx: [error] invalid PID number "" in "/run/nginx.pid"
Dos, la solucion
2.1. Método 1:
- Vuelva a cargar el archivo de configuración
nginx.conf
y luego ejecutereload
[MyHome@MyMachine ~]$ # nginx.conf 可能不在 /etc/nginx/ 下,具体视 nginx 的安装路径而定
[MyHome@MyMachine ~]$ sudo nginx -c /etc/nginx/nginx.conf
[MyHome@MyMachine ~]$ sudo nginx -s reload
Usado más comúnmente
2.2. Método 2:
- Escriba el PID del proceso nginx principal directamente
"/run/nginx.pid"
[MyHome@MyMachine ~]$ # 下面的命令得到 nginx 主进程的PID:19386
[MyHome@MyMachine ~]$ ps -aux | grep "nginx: master process"
root 19386 0.0 0.0 70060 7308 ? Ss 15:36 0:00 nginx: master process nginx
myname 20740 0.0 0.0 116800 1048 pts/0 S+ 23:31 0:00 grep --color=auto nginx: master process
[MyHome@MyMachine ~]$ sudo echo 19386 > /run/nginx.pid
[MyHome@MyMachine ~]$ sudo nginx -s reload
Si el método 1 falla, puede considerar usar
2.3. Método 3:
- Mata el proceso primario de nginx y luego reinicia nginx
[MyHome@MyMachine ~]$ sudo killall nginx
[MyHome@MyMachine ~]$ sudo nginx
Es mejor no usarlo, porque nginx se apagará por un período de tiempo, y puede estar fuera de discusión al reiniciarlo, lo que puede afectar el uso del servicio.