每个站点必须:
自己独立的 supervisor 配置文件
自己独立的进程名称(不能重名)
自己独立的日志文件
自己独立的队列命令
举例:你现在有 3 个站点
api.thingsminder.com(已配置)
site2.com
site3.com
vi /etc/supervisord.d/site2-worker.conf
[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
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