hyperf单台swoole部署需满足php≥8.1、swoole≥5.0且swoole.use_shortname=off,启用pcntl等核心扩展;用composer创建骨架后执行php bin/hyperf.php start,默认监听9501端口,生产环境须配supervisor守护。

单台服务器上跑 Hyerf,用 Swoole 驱动是最常见也最推荐的方式。它不需要 Docker、不依赖额外容器层,启动快、资源占用低、调试直观,特别适合中小项目或生产环境的轻量部署。
基础环境必须满足
Hyperf v3.x 要求明确,缺一不可:
- PHP ≥ 8.1(官方已不再兼容 8.0,部分组件在 8.0 下可能报错)
- Swoole 扩展 ≥ 5.0,且 swoole.use_shortname = Off(必须写入 php.ini 并重启 PHP)
- 启用关键扩展:pcntl、json、openssl、mbstring(Hyperf 核心依赖)
- 若用数据库,需 pdo_mysql 或 pdo_pgsql;若用 Redis,需 redis 扩展
安装与初始化项目
推荐使用骨架项目快速启动:
- 执行
composer create-project hyperf/hyperf-skeleton,会自动安装最新稳定版 - 进入项目目录后,运行
php bin/hyperf.php start启动服务 - 默认监听
http://0.0.0.0:9501,浏览器访问http://你的服务器IP:9501应返回{"message":"Welcome to Hyperf!"}
关键配置调优(server.php)
修改 config/autoload/server.php 可提升稳定性与并发能力:
-
'worker_num' => 4:建议设为 CPU 核心数 × 1~2,避免过多进程争抢资源 -
'max_coroutine' => 100000:协程上限,一般保持默认即可,高并发场景可适当上调 -
'open_http2_protocol' => true:如需 HTTP/2 支持,确保 Nginx 做反向代理时开启 -
'pid_file' => BASE_PATH . '/runtime/hyperf.pid':务必保留,便于 stop/restart 管理
生产环境守护与管理
不能靠前台命令长期运行,需用进程管理工具:
- 推荐 Supervisor:配置简单、日志清晰、自动拉起崩溃进程
- 示例配置段中 command 写为:
php /path/to/your/project/bin/hyperf.php start - 禁用
daemonize => true(Hyperf 默认已关),由 Supervisor 统一管控后台行为 - 如需平滑重启,可用
supervisorctl restart hyperf,不中断现有连接
单台 Swoole + Hyperf 的组合足够支撑万级 QPS 场景,只要硬件合理(建议 4C8G 起)、网络通畅、数据库连接池配好,就不是瓶颈所在。











