linux操作系统重启后 解决nginx的pid消失问题

重启了linux服务器之后,进程性的 nginx -s stop后再次启动nginx -s reload ,总是会报错误nginx: [error] open() "/alidata/server/nginx/logs/" failed (2: No such file or directory),这应该是因为把nginx进程杀死后pid丢失了,下一次再开启nginx -s reload时无法启动,重装可以解决这个问题,但是太麻烦了。

issued a nginx -s stop and after that I got this error when trying to reload it.

[error]: invalid PID number "" in "/var/run/"

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)


1.首先你要先确保关闭nginx进程了(可以通过pkill -9 nginx关闭进程)

2.进入你nginx的安装目录里面 cd 路径/nginx/sbin里面(这里要注意路径问题哦!!!) 然后输入

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 就可以了(sbin目录下面有个nginx为启动程序,-c为以什么配置启动,后面接着nginx配置文件的路径)

标签: nginx