在Linux服务器上,您可以使用以下方法之一来实现Laravel应用程序的自动重启:
Supervisor是一个进程管理工具,可以用来监控和控制多个进程。要使用Supervisor来自动重启Laravel应用程序,请按照以下步骤操作:
a. 安装Supervisor:
sudo apt-get update
sudo apt-get install supervisor
b. 创建一个新的Supervisor配置文件:
sudo nano /etc/supervisor/conf.d/laravel.conf
c. 将以下内容粘贴到配置文件中,根据需要进行修改:
[program:laravel]
process_name=%(program_name)s_%(process_num)02d
command=cd /path/to/your/laravel/project && php artisan serve --host=0.0.0.0 --port=80
autostart=true
autorestart=true
numprocs=1
redirect_stderr=true
stdout_logfile=/path/to/your/laravel/project/storage/logs/supervisor.log
d. 更新Supervisor配置并启动进程:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel:*
Systemd是Linux系统的初始化系统和服务管理器。要使用Systemd来自动重启Laravel应用程序,请按照以下步骤操作:
a. 创建一个新的Systemd服务文件:
sudo nano /etc/systemd/system/laravel.service
b. 将以下内容粘贴到服务文件中,根据需要进行修改:
[Unit]
Description=Laravel Application Service
After=syslog.target network.target
[Service]
User=your-user
Group=your-group
WorkingDirectory=/path/to/your/laravel/project
Restart=always
ExecStart=/usr/bin/php /path/to/your/laravel/project/artisan serve --host=0.0.0.0 --port=80
[Install]
WantedBy=multi-user.target
c. 重新加载Systemd配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl start laravel
d. 设置服务开机自启:
sudo systemctl enable laravel
现在,Laravel应用程序将在后台运行,并在发生故障时自动重启。您可以使用以下命令查看服务状态:
sudo systemctl status laravel