linux

Linux服务器上Laravel如何实现自动重启

小樊
37
2025-07-23 15:47:58
栏目: 云计算

在Linux服务器上,您可以使用以下方法之一来实现Laravel应用程序的自动重启:

  1. 使用Supervisor:

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:*
  1. 使用Systemd:

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

0
看了该问题的人还看了