必须安装Swoole扩展并配置CDN加速:先在宝塔软件商店安装Swoole(或用pecl命令补装),同步修改CLI与FPM的php.ini启用extension=swoole.so并重启PHP;再通过阿里云ESA CDN配置静态资源缓存和WebSocket路径禁用缓存,二者缺一不可。

要在宝塔面板中让Swoole服务响应更快、并发更高,必须将Swoole扩展安装到位,并通过CDN对静态资源与HTTP层做前置加速——两者缺一不可,否则WebSocket握手延迟高、协程HTTP服务器吞吐上不去。
确认PHP版本并安装Swoole扩展
先验证当前Web站点实际使用的PHP版本:在宝塔面板「网站」→对应站点→「设置」→「PHP版本」,确认右侧显示的是PHP 8.0(或8.1/8.2)。【若显示为7.4或更低版本,后续所有操作均无效】
进入「软件商店」→找到已安装的PHP 8.0 →点击「设置」→切换到「安装扩展」选项卡→搜索“swoole”→点击「安装」→等待进度条走完→点击「重启PHP」(不是重载)。
安装完成后,立即执行验证命令:/www/server/php/80/bin/php --ri swoole。如果输出含“swoole support => enabled”和版本号(如5.1.5),说明CLI环境已就绪;若无输出或报错,则跳过图形界面,改用pecl命令安装。
用pecl命令补装(当软件商店无选项时)
适用场景:PHP 8.2环境、面板未上架对应Swoole按钮、或需启用http2/openssl特性。
SSH登录后,先确保编译工具齐全:执行yum install -y gcc gcc-c++ make autoconf(CentOS)或apt install -y build-essential autoconf(Ubuntu)。
Swoole 6.1.1 是一个专为 PHP 设计的高性能事件驱动并发网络引擎。作为稳定版,它修复了编译时对 zlib 依赖的缺失及 curl 模块的内存安全风险。该版本支持协程、多线程与多进程架构,内置 TCP/HTTP/WebSocket 服务器,能够显著提升 PHP 在微服务、实时通信等场景下的执行效率与并发能力。
运行/www/server/php/82/bin/pecl install swoole(请将82替换为你实际PHP版本号,如80/81)。安装过程中会提示是否启用http2、openssl等,直接回车使用默认即可。
终端最后会输出类似extension=swoole.so的一行,【务必复制整行,包括等号和分号】——这是后续写入配置文件的唯一正确字符串。
同步启用CLI与FPM两套php.ini
宝塔中CLI和Web请求加载的是不同php.ini,漏改任一都会导致半边失效。
第一步:编辑CLI配置文件
执行vi /www/server/php/80/etc/php.ini,翻到文件末尾,粘贴刚才复制的extension=swoole.so,保存退出。
第二步:编辑FPM配置
执行vi /www/server/php/80/etc/php-fpm.d/www.conf,查找php_admin_value[extension]这一行。若存在,就在其值末尾追加,swoole.so;若不存在,就在文件底部新增一行:php_admin_value[extension] = "swoole.so"。
第三步:重启PHP服务
回到宝塔面板,找到PHP 8.0 →点击「重启」按钮。注意:必须点「重启」,点「重载配置」不会加载新扩展。
CDN加速配置(阿里云ESA免费CDN)
仅开启CDN不配置缓存规则,Swoole服务仍暴露在公网直连路径中,无法规避DDoS冲击和TCP握手延迟。
在宝塔「软件商店」搜索「阿里云 ESA 免费 CDN」→点击安装→安装完成后点击「设置」→点击「配置 API」→填入AccessKey ID和AccessKey Secret(需提前在阿里云控制台创建)。
返回插件首页→点击「添加域名」→输入你的Swoole服务对外域名(如api.example.com)→勾选「启用HTTPS」→在「缓存规则」中新增一条:
匹配路径:/static/* → 缓存时间:3600秒 → 状态码缓存:200,201,301,302
再新增一条:
匹配路径:/ws/* → 缓存时间:0秒 → 关闭缓存(WebSocket路径严禁缓存)。
点击「提交」后,插件自动完成CNAME解析绑定与SSL证书部署。此时访问https://api.example.com/static/logo.png应返回200且响应头含X-Cache: HIT;而wss://api.example.com/ws/chat连接不受CDN缓存干扰,直通后端Swoole Server。

















