You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在macOS上让Homebrew识别多Redis实例并通过brew services管控

在macOS用Homebrew管理多端口Redis实例的解决方案

Homebrew的brew services只识别通过Formula安装的服务,手动创建service文件无效,得给第二个Redis实例创建独立的自定义Formula,具体步骤如下:

1. 创建自定义Redis实例的Formula

  • 先定位官方Redis Formula的路径:
    $(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/r/redis.rb
    
  • 新建本地自定义Tap目录(用于存放自己的Formula):
    mkdir -p ~/homebrew-taps/Formula
    
  • 复制官方Redis Formula到自定义目录,并重命名为对应端口的名称:
    cp $(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/r/redis.rb ~/homebrew-taps/Formula/redis6381.rb
    
  • 编辑redis6381.rb,修改核心配置:
    1. 把类名从class Redis < Formula改为class Redis6381 < Formula
    2. 找到service块,修改plist关联的配置文件和启动命令:
      service do
        run [opt_bin/"redis-server", etc/"redis6381.conf"]
        keep_alive true
        working_dir var
        plist_options manual: "redis-server /usr/local/etc/redis6381.conf"
      end
      
    3. 在install块末尾追加配置文件复制与端口替换逻辑:
      def install
        # 保留原文件的install代码,添加以下内容
        (etc/"redis6381.conf").write IO.read(etc/"redis.conf").gsub("6379", "6381").gsub("redis.pid", "redis6381.pid").gsub("redis.log", "redis6381.log")
      end
      

2. 安装自定义Redis实例

  • 将自定义Tap添加到Homebrew:
    brew tap $USER/homebrew-taps
    
  • 安装自定义的Redis6381:
    brew install redis6381
    

3. 用brew services管控实例

现在可以像操作官方Redis一样使用brew services命令:

# 启动实例
brew services start redis6381
# 停止实例
brew services stop redis6381
# 重启实例
brew services restart redis6381
# 查看所有服务状态
brew services list

4. 验证实例运行

  • 检查端口监听状态:
    lsof -i :6381
    
  • 连接实例测试:
    redis-cli -p 6381
    

额外提示

  • 要创建更多实例,重复上述步骤,修改文件名、类名、端口号即可
  • 自定义实例的配置文件位于/usr/local/etc/下,可按需修改持久化、日志路径等参数
  • 不要直接修改官方Redis Formula,否则Homebrew更新会覆盖你的改动

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:42:35