首先 var/run這個目錄是幹嗎用的?nginx
此文件夾包含描述系統啓動以來系統信息的數據。此文件夾下的文件必須在啓動過程初期清除(刪除或歸零)。程序能夠在/var/run
下有本身的子文件夾。原先放在/etc
下的進程標識(PID)文件必須放spa
在/var/run
裏面。PID文件的命名慣例是<program-name>.pid
。因此,nginx的PID文件名爲/var/run/nginx.pid
。日誌
nginx.pid存放的是nginx的master進程的進程號。code
nginx被中止時,var/run/nginx.pid被刪除了。 而 reopen和 reload命令須要經過nginx.pid獲取進程號,會去找var/run.nginx.pid ,若是不存在,就報錯了。進程
reopen是在nginx啓動的狀況給作分割日誌用的, reload也是在nginx啓動的狀況下作平滑重啓的,他們都依賴於nginx進程存在的狀況下。 並非字面上啓動或打開的意思。ast
真正的啓動命令是: nginx 或者 nginx -c 指定目錄的配置文件 nginx.conf。 查看進程存在即代表啓動成功,以後再調用reload和reopen就不會報錯了。配置