要配置Nginx自动重启,您可以使用以下方法之一:
方法1:使用systemd(推荐)
大多数现代Linux发行版(如Ubuntu、Debian、CentOS 7/8等)都使用systemd作为系统初始化管理器。要配置Nginx自动重启,请按照以下步骤操作:
sudo nano /etc/systemd/system/nginx.service
/usr/sbin/nginx:[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存并关闭文件。
重新加载systemd配置:
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl restart nginx
方法2:使用cron定时任务
如果您不想使用systemd,可以使用cron定时任务来定期检查Nginx状态并自动重启。请按照以下步骤操作:
打开终端。
输入以下命令以编辑当前用户的crontab文件:
crontab -e
*/5 * * * * /usr/sbin/nginx -t && /usr/sbin/nginx -s reload
现在,Nginx将每5分钟检查一次状态,并在检测到问题时自动重启。请注意,这种方法不如使用systemd可靠,因为它依赖于定期检查而不是事件驱动。