LNMP是Linux、Nginx、MySQL和PHP的缩写,它们一起构成了一个强大的Web应用平台。要设置LNMP自动重启,您可以使用以下方法:
- 使用systemd服务(推荐)
对于现代的Linux发行版,如Ubuntu 16.04及更高版本,建议使用systemd服务来管理LNMP组件。首先,为每个组件创建一个systemd服务文件。
以Nginx为例,创建一个名为/etc/systemd/system/nginx.service的文件,内容如下:
[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 TERM $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存文件后,运行以下命令启用并启动Nginx服务:
sudo systemctl enable nginx
sudo systemctl start nginx
对于MySQL和PHP-FPM,也可以创建类似的systemd服务文件,并使用systemctl命令启用和启动它们。
- 使用Supervisor
Supervisor是一个进程管理工具,可以用来管理和监控多个进程。首先,确保已安装Supervisor:
sudo apt-get install supervisor
接下来,创建一个名为/etc/supervisor/conf.d/lnmp.conf的文件,内容如下:
[program:nginx]
command=/usr/sbin/nginx
autostart=true
autorestart=true
stderr_logfile=/var/log/nginx.err.log
stdout_logfile=/var/log/nginx.out.log
[program:mysql]
command=/usr/sbin/mysqld_safe --user=mysql
autostart=true
autorestart=true
stderr_logfile=/var/log/mysql.err.log
stdout_logfile=/var/log/mysql.out.log
[program:php-fpm]
command=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/pool.d/www.conf
autostart=true
autorestart=true
stderr_logfile=/var/log/php-fpm.log
stdout_logfile=/var/log/php-fpm.out.log
请根据您的实际PHP版本和配置修改command和fpm-config路径。保存文件后,运行以下命令重新加载Supervisor配置并启动所有进程:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all
这样,当系统启动时,LNMP组件将自动重启。如果某个组件意外停止,Supervisor也会自动重启它。
以上就是关于“LNMP如何设置自动重启”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm