nginx.conf 文件中 pid 指定了绝对路径:
/var/run/nginx/nginx.pid
/usr/lib/systemd/system/nginx.service 文件内容如下
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reopen
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
pid 文件都是指向的同一个位置。
但是在使用 systemctl 命令启动 nginx 的第一次是正常的,但是如果终止 nginx 进程,再重新启动,就会提示打开 pid 文件失败,(其实 /var/run/nginx 这个目录都没了,应该是被 nginx 删除了,不知道是怎么回事。 )