当前位置: 首页 > news >正文

CentOS服务器安装Supervisor使队列可以在后台运行

一、安装 Supervisor

1. 安装 EPEL 源(Supervisor 依赖)
sudo yum install epel-release
2. 安装 Supervisor
sudo yum install supervisor
3. 启动服务并设置开机自启
sudo systemctl start supervisord
sudo systemctl enable supervisord

二、验证安装结果

which supervisorctl
# 应输出:/usr/bin/supervisorctlsupervisorctl status
# 应输出:No programs to manage(表示安装成功但尚未配置进程)

三、配置 ThinkPHP 队列服务

1. 创建配置文件
sudo vim /etc/supervisord.d/thinkphp-queue.ini
2. 添加配置内容(ini

注意:此处的 “;开机自动启动” 等注释要另起一行,不能与 autostart=true 配置文件内容在同一行,会导致报错。

[program:thinkphp-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /www/wwwroot/myweb/think queue:work --queue=default --sleep=3 --tries=3
directory=/www/wwwroot/myweb
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
stdout_logfile=/www/wwwroot/myweb/runtime/log/queue.log
stopwaitsecs=3600
environment=APP_ENV="production",PATH="/usr/bin:/usr/local/bin"

四、加载配置并启动队列服务

# 重新加载 Supervisor 配置
sudo supervisorctl reread
sudo supervisorctl update# 启动队列服务
sudo supervisorctl start thinkphp-queue:*# 重启队列任务:
sudo supervisorctl restart thinkphp-queue:*# 查看状态
sudo supervisorctl status
# 应输出类似:thinkphp-queue:thinkphp-queue_00   RUNNING   pid 12345, uptime 0:00:10

五、常用管理命令

sudo supervisorctl status       # 查看所有进程状态
sudo supervisorctl start all    # 启动所有进程
sudo supervisorctl stop all     # 停止所有进程
sudo supervisorctl restart all  # 重启所有进程# 针对特定进程
sudo supervisorctl start thinkphp-queue:*
sudo supervisorctl stop thinkphp-queue:*

六、查看队列日志

tail -f /www/wwwroot/myweb/runtime/log/queue.log

七、故障排查

1. 配置文件语法错误
sudo supervisorctl reread
# 如果有错误,会提示:Error: , file: /etc/supervisord.d/thinkphp-queue.ini line X: ...
2. 服务无法启动
sudo systemctl status supervisord
sudo journalctl -u supervisord  # 查看详细日志
3. 进程一直处于 FATAL 状态

检查命令路径是否正确,用户权限是否足够,PHP 环境是否正常。

八、多队列配置示例(ini

[program:thinkphp-queue-high]
command=php /www/wwwroot/myweb/think queue:work --queue=high --sleep=3 --tries=3
user=root
numprocs=2  # 高优先级队列分配更多进程[program:thinkphp-queue-medium]
command=php /www/wwwroot/myweb/think queue:work --queue=medium --sleep=3 --tries=3
user=root
numprocs=1[program:thinkphp-queue-low]
command=php /www/wwwroot/myweb/think queue:work --queue=low --sleep=3 --tries=3
user=root
numprocs=1

九、总结

通过以上步骤,可以在 CentOS 服务器上成功安装 Supervisor 并配置 ThinkPHP 队列服务在后台稳定运行。Supervisor 提供了完善的进程监控和自动恢复机制,确保队列任务不会中断。

http://www.lryc.cn/news/588887.html

相关文章:

  • 2.3 数组与字符串
  • QGIS新手教程9:字段计算器进阶用法与批量处理技巧
  • HTTP性能优化实战技术
  • 串口通信性能优化
  • golang语法-----变量、常量
  • Go语言统计字符串中每个字符出现的次数 — 简易频率分析器
  • 解锁Redis:从安装到配置的全攻略
  • DBeaver 传输数据库A数据到数据库B
  • LLM指纹底层技术——特征提取
  • 06-C语言:第06天笔记
  • python的广东省家庭旅游接待信息管理系统
  • 文心一言4.5开源模型测评:ERNIE-4.5-0.3B超轻量模型部署指南
  • NineData 社区版 V4.3.0 正式发布!新增 5 条迁移对比链路,全面支持 MariaDB、GaussDB 等数据库
  • 使用python的pillow模块将图片转化为灰度图,获取值和修改值
  • Redis Desktop Manager(RDM)下载与安装使用教程
  • STM32小实验二--流水灯
  • 【R语言】警告conversion failure on ‘中文字符‘ in ‘mbcsToSbcs‘: for 注 (U+6CE8)
  • 海狸IM - 一个功能完整的开源即时通讯系统
  • DeepSWE:通过强化学习扩展训练开源编码智能体
  • 2025开放原子开源生态大会 | 开源欧拉的AI原生实践与全球协作
  • 基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的用户价值引导与核心用户沉淀策略研究
  • Android target34升级到35中的edge-to-edge适配
  • 【Android】按钮的使用
  • Softhub软件下载站实战开发(十八):软件分类展示
  • 图像修复:深度学习实现老照片划痕修复+老照片上色
  • 三种深度学习模型(LSTM、CNN-LSTM、贝叶斯优化的CNN-LSTM/BO-CNN-LSTM)对北半球光伏数据进行时间序列预测
  • Datawhale AI 夏令营第一期(机器学习方向)Task2 笔记:用户新增预测挑战赛 —— 从业务理解到技术实现
  • 《C++模板高阶机制解析:非类型参数、特化设计与分离编译实践》
  • react的Fiber架构和双向链表区别
  • Redis 数据持久化