brewui 是 homebrew 的第三方图形化管理界面,提供服务启停、依赖可视化、一键升级清理、安装卸载及风险提示等功能,不替代命令行而重在补强,适配 macos 开发者日常维护需求。
homebrew 本身不直接管理系统级服务(如 launchd 的全局守护进程),但它通过 brew services 子命令,为你提供了对 由 homebrew 安装的后台服务(比如 nginx、redis、postgresql、mysql、elasticsearch 等)的一站式管理能力。这些服务本质是作为当前用户(非 root)运行的 launchd agent,安全、隔离、无需 sudo,适合开发和本地测试场景。
以下是你实际需要掌握的核心操作:
启动服务(开机自启 + 当前立即运行)
brew services start redis
执行后,Homebrew 会自动生成一个plist文件(位于~/Library/LaunchAgents/),并加载进当前用户的launchd,实现「下次登录自动启动 + 现在就跑起来」。停止服务(仅终止当前运行,不取消自启)
brew services stop redis
进程退出,但 plist 仍保留在 LaunchAgents 目录中,重启电脑或重新登录后还会拉起。重启服务(停→启,常用于配置变更后)
brew services restart nginx查看所有已管理服务的状态
brew services list
输出表格含服务名、状态(started / stopped)、用户名、是否启用开机自启(+表示已设为 launch agent)。这是你日常排查“为什么 redis 没响应”的第一眼检查项。禁用开机自启(保留服务,但不再随登录启动)
brew services cleanup
注意:这不是“disable”,而是清理那些已卸载但 plist 还残留的旧服务;真正想关掉自启,应先stop,再手动删对应 plist 文件(如rm ~/Library/LaunchAgents/homebrew.mxcl.redis.plist),或使用launchctl remove。-
服务配置文件在哪?怎么改?
所有 brew 安装的服务默认配置放在/opt/homebrew/etc/(Apple Silicon)或/usr/local/etc/(Intel)。例如:-
nginx配置 →/opt/homebrew/etc/nginx/nginx.conf -
redis配置 →/opt/homebrew/etc/redis.conf
修改后记得brew services restart xxx生效。
-
⚠️ 注意:
brew services管理的是用户级服务(LaunchAgents),不是系统级(LaunchDaemons)。它不会、也不应该去动/Library/LaunchDaemons/或sudo launchctl。如果你需要全局服务(如全系统共享的 PostgreSQL),需额外配置或改用其他方案,但绝大多数开发者场景,用户级已完全够用且更安全。
不复杂但容易忽略











