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
?