centos

laravel项目在centos上如何实现热更新

小樊
42
2025-08-04 10:42:02
栏目: 智能运维

在CentOS上实现Laravel项目的热更新,可以使用Supervisor和Nginx来实现。以下是详细的步骤:

1. 安装Supervisor

Supervisor是一个进程控制系统,用于管理和监控后台进程。

sudo yum install epel-release
sudo yum install supervisor

2. 配置Supervisor

创建一个新的Supervisor配置文件来管理Laravel队列和Web服务器。

sudo vi /etc/supervisord.d/laravel-worker.conf

添加以下内容:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=your_user
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/laravel-worker.log
stopwaitsecs=3600

/path/to/your/laravel/project替换为你的Laravel项目路径,your_user替换为运行Laravel的用户。

3. 启动Supervisor

sudo supervisord -c /etc/supervisord.conf

4. 配置Nginx

确保你的Nginx配置文件正确指向Laravel项目的public目录。

sudo vi /etc/nginx/conf.d/yourdomain.conf

添加以下内容:

server {
    listen 80;
    server_name yourdomain.com;

    root /path/to/your/laravel/project/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

yourdomain.com替换为你的域名,/path/to/your/laravel/project替换为你的Laravel项目路径。

5. 重启Nginx

sudo systemctl restart nginx

6. 启动Laravel队列工作进程

sudo supervisorctl start laravel-worker:*

7. 监控和日志

你可以使用Supervisor的命令来监控和管理进程:

sudo supervisorctl status
sudo supervisorctl logs laravel-worker

8. 热更新

当你对Laravel项目进行代码更改时,Supervisor会自动重启队列工作进程,确保新的代码生效。

通过以上步骤,你可以在CentOS上实现Laravel项目的热更新。

0
看了该问题的人还看了