几种方法解决Nginx错误:nginx: [error] invalid PID number ““ in “/run/nginx.pid“

三种方法解决Nginx错误:nginx: [error] invalid PID number “” in “/run/nginx.pid”

网上的解决方法比较零散且重复。
所以收集了一下,方便以后查阅使用。

一、问题描述

nginx 执行 reload 命令时报错:

[MyHome@MyMachine ~]$ sudo nginx -s reload
nginx: [error] invalid PID number "" in "/run/nginx.pid"

二、解决方法

2.1. 方法1:

  • 重新加载配置文件 nginx.conf,然后再执行 reload
[MyHome@MyMachine ~]$ # nginx.conf 可能不在 /etc/nginx/ 下,具体视 nginx 的安装路径而定
[MyHome@MyMachine ~]$ sudo nginx -c /etc/nginx/nginx.conf
[MyHome@MyMachine ~]$ sudo nginx -s reload

较常用

2.2. 方法2:

  • 直接将 nginx 主进程的 PID 写入 "/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

如果方法1失败了,可以考虑用

2.3. 方法3:

  • 杀掉 nginx 的主进程,然后重启 nginx
[MyHome@MyMachine ~]$ sudo killall nginx
[MyHome@MyMachine ~]$ sudo nginx

最好别用,因为 nginx 会关闭一段时间,重启时也可能节外生枝,这可能影响到服务的使用。

猜你喜欢

转载自blog.csdn.net/qq_29695701/article/details/110150823