首先 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就不会报错了。配置