我发出了一个nginx -s stop,之后我在尝试重新加载时遇到了这个错误。
[错误]:“/var/run/nginx.pid”中的PID编号“”无效
/ var / run / nginx / pid文件为空atm。
我需要做些什么来解决它?
答案 0 :(得分:44)
nginx -s reload仅用于告诉正在运行的nginx进程重新加载其配置。停止后,您没有运行nginx进程来发送信号。只需运行nginx(可能使用-c / path / to / config / file)
答案 1 :(得分:13)
在我的情况下,我通过启动服务解决了这个问题。
sudo /etc/init.d/nginx start
上面的命令将在Debian / Ubuntu中启动服务。如果有任何问题(例如Apache在同一端口中侦听),它将发出错误
之后,nginx -s reload将像魅力一样工作
答案 2 :(得分:8)
在我下载的最新版本(1.2.0)中没有“-s start”选项,它会说 nginx:无效选项:“ - s start”
你可以通过
启动nginxsudo /etc/nginx/sbin/nginx
服务器将启动,然后不会出现任何无效的pid编号错误。
答案 3 :(得分:5)
在我的情况下,nginx被停止了(我假设崩溃了)。解决了这个问题:
service nginx status
nginx stop/waiting
service nginx start
nginx start/running, process 3535
然后nginx -s reload就像魅力一样。
我在trusty上使用nginx / 1.8.0。
答案 4 :(得分:3)
为了避免重启nginx的停机时间,
ps aux | grep nginx
PID of nginx master process
echo PID > /var/run/nginx.pid
nginx -s reload
答案 5 :(得分:2)
这将清除ubuntu 16.04及以上版本的问题
ts2.combine_first(ts1)
现在恢复了理智,您可以随意启动
答案 6 :(得分:1)
在CentOS 7上,我这样做是
sudo systemctl start nginx
#Then check all things are OK
sudo systemctl status -l nginx
答案 7 :(得分:0)
如果nginx
进程被手动停止或被终止,则会发生这种情况。
检查进程是否仍在运行:
sudo lsof -nP -iTCP:<port> | grep LISTEN
我在Mac上,并且使用以下命令重新安装了Nginx:
brew reinstall nginx
然后使用brew启动服务:
brew services start nginx