重启或杀掉Nginx进程后丢失nginx.pid的解决办法

安装SSL证书时,强行杀掉了Nginx的进程,就再也没起来:

Restarting nginx daemon: nginxcat: /usr/local/nginx/logs/nginx.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
nginx not running.

原因分析:
nginx.pid丢掉了

如何找回:

代码如下:
issued a nginx -s stop and after that I got this error when trying to reload it.
[error]: invalid PID number “” in “/var/run/nginx.pid”
That /var/run/nginx/pid file is empty atm.
What do I need to do to fix it?
nginx -s reload is only used to tell a running nginx process to reload its config. After a stop, you don't have a running nginx process to send a signal to. Just run nginx (possibly with a -c /path/to/config/file)

运行命令:

代码如下:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/vhost/jb51.net.conf

此时,nginx已可以正常启动了。

参与评论