«
一台服务器 多个 Laravel 站点 队列常驻方案

时间:2026-4-3    作者:网络剑客    分类: other


每个站点必须:
自己独立的 supervisor 配置文件
自己独立的进程名称(不能重名)
自己独立的日志文件
自己独立的队列命令

举例:你现在有 3 个站点
api.thingsminder.com(已配置)
site2.com
site3.com

1、创建新配置文件

vi /etc/supervisord.d/site2-worker.conf

2、写入内容(只改 项目路径 + 进程名)

[program:site2-worker]   # 这里改个名字,不能重复
process_name=%(program_name)s_%(process_num)02d
command=php /www/wwwroot/site2.com/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www
numprocs=2
redirect_stderr=true
stdout_logfile=/www/wwwroot/site2.com/storage/logs/worker.log

3、保存并加载

supervisorctl reread
supervisorctl update
supervisorctl start site2-worker:*

更多站点同理

vi /etc/supervisord.d/site3-worker.conf
[program:site3-worker]
command=php /www/wwwroot/site3.com/artisan queue:work --sleep=3 --tries=3
stdout_logfile=/www/wwwroot/site3.com/storage/logs/worker.log

最终效果

所有站点 互不干扰:
laravel-worker: → 你的主站
site2-worker:
→ 第二个网站
site3-worker:* → 第三个网站

查看所有状态:

supervisorctl status

最重要:每个站点必须给权限

每个新项目都必须执行一次:

chown -R www:www /www/wwwroot/xxx.com/storage
chmod -R 775 /www/wwwroot/xxx.com/storage

标签: supervisor