1、场景一:nginx.pid文件或者目录不存在
1.1、报错详情
[root@master conf]# ../sbin/nginx -s reload nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) #nginx.pid文件或目录不存在。
原因:
1、文件不存在
2、目录不存在
1.2、解决方法
方法一:重新创建文件或目录并重新reload nginx之后会出现报错。
[root@master conf]# touch /var/run/nginx/nginx.pid
[root@master conf]# ../sbin/nginx -s reload
nginx: [error] invalid PID number "" in "/var/run/nginx/nginx.pid" #出现报错,无效的PID
方法二:通过./nginx -c 重新定义配置文件,重新手动去指定。
../sbin/nginx -c /usr/local/nginx/conf/nginx.conf
../sbin/nginx -s reload
1.1.2.1 情况一:如果出现端口被占用表示nginx的进程还在,如过需要重新reload nginx 则将主进程中的pid,加到nginx.pid文件中。
[root@master conf]# ../sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx: [emerg] bind() to 0.0.0.0:8080 failed (98: Address already in use) #端口被占用说明进程存在#步骤一:查看主进程的pid
[root@master conf]# ps -ef | grep nginx #查看主进程的pid
root 4885 1 0 04:25 ? 00:00:00 nginx: master process ../sbin/nginx#步骤二:将主进程的pid添加到nginx.pid文件中
[root@master html]# vim /var/run/nginx/nginx.pid#步骤三:重新reload nginx[root@master conf]# ../sbin/nginx -s reload