2.var/run/nginx.pid文件
首先 var/run這個目錄是干嘛用的?
此文件夾包含描述系統啟動以來系統信息的數據。此文件夾下的文件必須在啟動過程初期清除(刪除或歸零)。程序可以在/var/run
下有自己的子文件夾。原先放在/etc
下的進程標識(PID)文件必須放
在/var/run
里面。PID文件的命名慣例是<program-name>.pid
。所以,nginx的PID文件名為/var/run/nginx.pid
。
nginx.pid存放的是nginx的master進程的進程號。
3.為什么會報錯
nginx被停止時,var/run/nginx.pid被刪除了。 而 reopen和 reload命令需要通過nginx.pid獲取進程號,會去找var/run.nginx.pid ,如果不存在,就報錯了。
4.總結
reopen是在nginx啟動的情況給做分割日志用的, reload也是在nginx啟動的情況下做平滑重啟的,他們都依賴於nginx進程存在的情況下。 並不是字面上啟動或打開的意思。
真正的啟動命令是: nginx 或者 nginx -c 指定目錄的配置文件 nginx.conf。 查看進程存在即表明啟動成功,之后再調用reload和reopen就不會報錯了。