已经查询过语法问题为了重新启动服务器并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
答案1
/lib
系统包管理系统下或“属于”系统包管理系统下的文件/usr/lib
,不得修改;软件包更新将覆盖您的更改。这很可能就是这里发生的事情。
您应该使用systemctl edit
; 在代码片段中添加您的特定设置。看如何对 .service 进行修改并保持其持久性?了解详情。