@
dier 感谢~
以下是使用 apt 源安装时自动配置为 systemd 服务的配置文件
```ini
[Unit]
Description=nginx - high performance web server
Documentation=
https://nginx.org/en/docs/After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"
[Install]
WantedBy=multi-user.target
```
以下是编译安装时使用的手写 systemd 服务的配置文件
```ini
[Unit]
Description=Nginx
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
# 用于防止出现 pid 文件读取错误,这是个官方 bug
ExecStartPost=/bin/sleep 0.1
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
# 是否使用私有的 tmp 目录
PrivateTmp=true
# 重启策略
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
```
难道是 PrivateTmp=true 这个设置缓存目录为私有这个配置有问题吗?