场景
当nginx服务器的配置加入新的模块后,若需要nginx服务器使用新的配置,就必须平滑重启nginx服务器。
平滑重启过程如下:nginx服务器接收到重启信号时,首先读取新的配置文件,如果不存在语法问题,则启动新的nginx服务,然后平缓的关闭原先的nginx服务进程;反之则提示错误并使用原先的nginx服务进程。
原因
- 产生这种问题的原因是在命令行中直接使用如下命令:
./nginx安装路径/nginx/sbin/nginx -s reload
在使用上述命令时,默认将采用”./安装路径/nginx/logs/nginx.pid”中所保存的pid进程号。
- nginx配置文件并为在nginx安装路径中,而是使用其他的路径,同时在nginx配置文件中使用了如下命令:
pid nginx.pid;
直接使用上述命令时,将会在nginx安装路径中新建一个nginx.pid文件用于存储启动的nginx服务进程号,而不是默认的nginx.pid文件。
小结
基于上述两个原因,将会在nginx服务平滑重启过程中提示没有相关进程。因为重启时将使用默认nginx.pid中的进程号,而实际启动的是安装路径下新建的nginx.pid中的进程号ÿ