MacOS安装RoadRunner终极指南:Homebrew与源码编译深度对比
RoadRunner是一款开源的高性能PHP应用服务器和进程管理器,采用Go语言编写并通过插件系统提供强大功能。作为传统Nginx+FPM架构的高效替代方案,它支持HTTP/2/3、gRPC、消息队列、KV存储等多种企业级特性,能显著提升PHP应用的性能和可扩展性。
🚀 为什么选择RoadRunner?
RoadRunner通过以下核心优势重新定义PHP应用部署:
- 超高性能:采用Go语言编写的核心引擎,比传统FPM架构提升3-10倍吞吐量
- 多协议支持:原生支持HTTP/2/3、gRPC、WebSocket和FastCGI
- 丰富插件生态:内置队列系统、KV存储、分布式锁等企业级功能
- 资源优化:智能进程管理,降低内存占用和CPU使用率
- 开发友好:兼容PSR-7/PSR-17标准,无缝集成现有PHP应用
🔧 两种安装方案对比
| 安装方式 | 难度 | 耗时 | 灵活性 | 适用场景 |
|---|---|---|---|---|
| Homebrew | ⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | 快速部署、版本稳定 |
| 源码编译 | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | 自定义配置、尝鲜最新特性 |
方案一:Homebrew一键安装(推荐新手)
Homebrew提供了最简单的RoadRunner安装方式,只需两步即可完成:
-
打开终端,执行安装命令:
brew install roadrunner -
验证安装是否成功:
rr --version
该方法会自动处理所有依赖项,并将RoadRunner添加到系统PATH中,随时可以通过
rr命令调用。安装文件位于Homebrew默认目录,通常为/usr/local/bin/rr。
方案二:源码编译安装(适合高级用户)
如果需要自定义编译选项或体验最新开发版本,可以选择源码编译方式:
前置要求
确保系统已安装:
- Go 1.21+(推荐使用Go版本管理器)
- Git
- 标准C编译工具链
编译步骤
-
克隆代码仓库:
git clone https://gitcode.com/gh_mirrors/ro/roadrunner cd roadrunner -
执行编译命令:
make build或直接使用Go编译:
CGO_ENABLED=0 go build -trimpath -ldflags "-s" -o rr cmd/rr/main.go -
将可执行文件移动到系统PATH目录:
sudo mv rr /usr/local/bin/ -
验证安装:
rr --version
编译配置可在Makefile中调整,通过修改编译参数可以定制二进制文件特性。
⚙️ 基础配置与启动
无论采用哪种安装方式,都需要创建基本配置文件.rr.yaml:
version: '3'
server:
command: "php worker.php" # PHP工作进程入口文件
http:
address: "0.0.0.0:8080" # HTTP服务监听地址
logs:
level: info # 日志级别:debug, info, warn, error
启动服务:
rr serve -c .rr.yaml
❓ 常见问题解决
Homebrew安装失败
如果遇到brew install roadrunner失败,请先更新Homebrew:
brew update && brew upgrade
源码编译缺少依赖
确保Go环境变量配置正确:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
端口占用问题
修改配置文件中的HTTP地址或停止占用端口的进程:
lsof -i :8080 # 查找占用进程
kill -9 <PID> # 终止进程
📚 进阶资源
- 官方配置文档:.rr.yaml示例
- 工作进程实现:PHP Worker示例
- 插件开发指南:container/plugins.go
通过本指南,您已掌握在MacOS系统上安装RoadRunner的两种方法。Homebrew适合快速部署和日常使用,而源码编译则为高级用户提供了更大的灵活性。选择最适合您需求的方式,开始体验高性能PHP应用服务器带来的优势吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



