已经查询了重新启动服务器的语法问题nginx.service
并通过添加Restart=always
一些服务器进行了修改,几周后我发现配置文件没有这个选项。
我是否可能在错误的块 ( [Service]
) 中错误配置了选项,或者是否有一种机制可以覆盖此文件并将其重置为默认状态?
什么是监控这种情况的合理方法,因为其中一台服务器 nginx 已经决定经常崩溃(可能每天 - 怀疑是 letsencrypt 更新验证过程)?
[Unit]
Description=A high performance web server and a reverse proxy server
Documentation=man:nginx(8)
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
系统包管理系统下
/lib
或/usr/lib
“属于”的文件,不得修改;包更新将覆盖您的更改。这很可能是这里发生的事情。您应该在片段中添加您的特定设置,使用
systemctl edit
; 请参阅如何修改 .service 并保持其持久性?了解详情。