在宝塔面板中快速创建hyperf应用,核心是绕过传统php-fpm模式,改用swoole常驻进程 + nginx反向代理,需完成环境准备(php≥8.1、swoole扩展启用且shortname关闭)、服务部署(composer安装、php bin/hyperf.php start后台运行)、nginx反向代理配置(proxy_pass指向127.0.0.1:9501并支持websocket升级)三步。

在宝塔面板中快速创建Hyperf应用,核心是绕过传统PHP-FPM模式,改用Swoole常驻进程 + Nginx反向代理。整个过程不依赖PHP运行模式,关键在于环境准备、服务部署和代理配置三步到位。
确认基础环境已就绪
Hyperf必须运行在Linux上,且依赖Swoole协程引擎。宝塔面板本身不直接支持Hyperf一键部署,需手动准备以下条件:
- 安装PHP 8.1或更高版本(Hyperf 3.x要求PHP ≥ 8.1),推荐使用宝塔软件商店安装PHP 8.2/8.3
- 进入对应PHP版本管理 → “安装扩展”,勾选 swoole 和 redis(如需缓存)、fileinfo(常用)
- 检查并修改PHP配置:在“配置文件”中搜索
disable_functions,删除proc_open和putenv(Hyperf安装和运行必需,宝塔安全提示可忽略) - 确保
swoole.use_shortname = Off已写入PHP配置末尾(避免函数名冲突)
部署Hyperf项目代码与启动服务
不通过宝塔网站功能运行,而是以独立服务方式部署:
- 在
/www/wwwroot/下新建目录(如hyperf-app),上传或Git拉取Hyperf项目代码 - 通过SSH进入该目录,执行:
composer install --no-dev(确保已安装Composer) - 复制
.env.example为.env,按需配置数据库、Redis等 - 启动服务:
php bin/hyperf.php start &(后台运行)
或更稳妥地用nohup php bin/hyperf.php start > /dev/null 2>&1 & - 验证是否监听成功:
netstat -tuln | grep :9501(默认端口,需与config/autoload/server.php中port一致且为整数)
配置Nginx反向代理(关键一步)
宝塔中添加一个静态站点(无需绑定PHP),再修改其Nginx配置实现流量转发:
- 在「网站」→「添加站点」,域名填你的实际域名(如
api.example.com),根目录选/www/wwwroot/hyperf-app,PHP版本选「纯静态」 - 点击该站点右侧「设置」→「配置文件」,替换全部内容为以下标准反向代理配置(注意端口与Hyperf实际监听端口一致):
location / {
proxy_pass http://127.0.0.1:9501;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
- 如项目含WebSocket(如聊天、通知),需额外添加
/socket或/ws路径的专用块(参考知识库中带Upgrade websocket的配置) - 保存后点击「重载配置」,再用
curl -v http://你的域名测试连通性
补充:防火墙与稳定性处理
常见502错误多源于端口不通或进程退出,需同步检查:
- 确认服务器防火墙放行Hyperf端口(如9501):
firewall-cmd --add-port=9501/tcp --permanent && firewall-cmd --reload - 避免终端关闭导致服务中断,建议用
systemd或supervisor管理进程(宝塔未内置,需SSH手动配置) - 若Hyperf运行在Docker中,Nginx在宿主机,则
proxy_pass应指向容器名或host.docker.internal(Linux需额外加--add-host)










