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

MongoDB v3.6.3局域网无法访问及Redis同类问题求助

我来帮你排查这个局域网访问的问题,MongoDB和Redis同时出问题,大概率是系统级的网络配置或者服务重启不到位导致的,咱们一步步来解决:

第一步:确认服务真的加载了修改后的配置

很多时候改完配置但没正确重启服务,Homebrew的服务有专属的重启方式,别直接杀进程:

  • MongoDB 3.6(Homebrew安装版)重启命令:brew services restart mongodb@3.6
  • Redis重启命令:brew services restart redis

划重点:必须用brew services命令,才能确保服务加载你修改后的配置文件,而不是默认参数。

第二步:检查配置文件的正确性

MongoDB 3.6的绑定配置细节

MongoDB 3.6里的绑定参数是驼峰式的bindIp(虽然兼容旧版下划线的bind_ip,但官方推荐用驼峰),别同时混设bindIp和bind_ip_all,二者会冲突:

  • 允许所有IP访问:
net:
  bindIp: 0.0.0.0
  • 只允许特定IP(比如本地+局域网IP):
net:
  bindIp: 127.0.0.1,192.168.x.x

(把192.168.x.x换成你的Mac实际局域网IP)

Redis的配置修改

Redis默认只绑定本地IP,需要修改/usr/local/etc/redis.conf(Homebrew安装的默认路径):

  1. 找到bind 127.0.0.1行,改成bind 0.0.0.0(允许所有IP)或者bind 127.0.0.1 192.168.x.x(指定IP)
  2. 找到protected-mode yes,改成protected-mode no(3.2+版本默认开启保护模式,只允许本地访问,必须关掉才能局域网连接)
第三步:验证服务监听的IP和端口

用lsof命令检查服务是否在监听正确的IP:

  • 检查MongoDB(默认端口27017):lsof -i :27017
    输出里要看到LISTEN状态,且IP列是*:27017(监听所有IP)或你的局域网IP,而不是只有127.0.0.1:27017
  • 检查Redis(默认端口6379):lsof -i :6379
    同样要确认LISTEN状态的IP不是仅本地
第四步:排查网络连通性基础

虽然你关了防火墙,但先确认网络本身没问题:

  1. 在另一台局域网设备上ping你的Mac局域网IP(比如ping 192.168.1.100),如果ping不通,先解决局域网互通问题(比如路由器端口隔离、Mac网络设置异常)
  2. 如果ping通了,用nc命令测试端口连通性:
    • 测试MongoDB:nc -zv 192.168.x.x 27017
    • 测试Redis:nc -zv 192.168.x.x 6379
      要是返回Connection refused,说明服务没正确监听;要是超时,还是网络层面的问题
第五步:查看服务日志找错误

如果以上步骤都没问题,查看日志找具体报错:

  • MongoDB日志:tail -f /usr/local/var/log/mongodb/mongo.log,看有没有绑定IP失败、权限不足的提示
  • Redis日志:tail -f /usr/local/var/log/redis.log,检查启动时是否有配置解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:18:52