Skip to content

概述

对于未使用宝塔面板的纯 Linux 服务器环境,可通过命令行直接安装配置 Supervisor 进程管理器,实现对 php think swoole 服务的持久化守护与故障自动拉起。


步骤一:安装专属核心扩展 (ebaozu_loader) 与基础软件

在纯 Linux 命令行环境下,确保已安装 PHP 8.0(NTS 版本)及基础扩展(swoole, redis, pdo_mysql 等):

  1. 安装核心加载器扩展
    bash
    EXT_DIR=$(php-config --extension-dir)
    cp loader/ebaozu_loader.so "${EXT_DIR}/"
    chmod 755 "${EXT_DIR}/ebaozu_loader.so"
  2. 配置 php.ini
    ini
    extension=ebaozu_loader.so
  3. 核验扩展
    bash
    php --ri ebaozu_loader
  4. 商业授权文件加固
    bash
    chmod 600 config/ebaozu/license.key
    chown www:www config/ebaozu/license.key

步骤二:安装 Supervisor

在 CentOS / Rocky Linux 环境下:

bash
yum install -y epel-release
yum install -y supervisor

在 Ubuntu / Debian 环境下:

bash
apt-get update
apt-get install -y supervisor

步骤三:配置子进程守护

/etc/supervisor.d//etc/supervisor/conf.d/ 目录下创建 ebaozu.ini

ini
[program:ebaozu]
command=php think swoole
directory=/www/wwwroot/ebaozu_v4
# 自动重启配置
autostart=true
autorestart=true
startsecs=3
startretries=5
# 运行用户
user=www
# 日志输出
stdout_logfile=/www/wwwroot/ebaozu_v4/runtime/supervisor.out.log
stderr_logfile=/www/wwwroot/ebaozu_v4/runtime/supervisor.err.log
stdout_logfile_maxbytes=10MB
stderr_logfile_maxbytes=10MB
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d

步骤四:启动与日常管理命令

bash
# 启动 supervisord 主服务并加入开机自启
systemctl start supervisord
systemctl enable supervisord

# 重新加载配置文件并启动
supervisorctl update
supervisorctl start ebaozu

# 重启项目进程
supervisorctl restart ebaozu

# 查看运行状态
supervisorctl status

# 商业授权续期平滑重载(零业务停机中断)
kill -USR1 $(cat /www/wwwroot/ebaozu_v4/runtime/swoole.pid)

常见问题排查

  1. unix:///tmp/supervisor.sock no such file:主服务尚未启动,执行 supervisord -c /etc/supervisord.confsystemctl start supervisord
  2. ebaozu_loader extension is required:PHP CLI 未加载核心 Loader 扩展,检查 php --ini 所加载的 php.ini 末尾是否添加 extension=ebaozu_loader.so
  3. license file not found or unreadable:授权文件缺失或权限不足,确保 config/ebaozu/license.key 存在且权限为 600、属主为 www
  4. 进程不断自动重启:检查项目根目录下 runtime/supervisor.err.log 日志,排查禁用函数 proc_open 是否未解禁或端口冲突。

承信租多门店租赁商城系统官方文档