如何在最新的 Mac mini M4 机器上,让 Ollama 支持局域网访问

发布于:2025-04-05 ⋅ 阅读:(31) ⋅ 点赞:(0)

在这里插入图片描述

如果你在 Mac mini 4 上使用 Ollama,并希望让同一局域网上的其他设备通过 IP 访问 Ollama API,那么必须解决一个关键问题:

用传统的 shell 环境变量方式是无效的!

macOS 上的 GUI 程序(包括点图标启动的 Ollama)并不会从 .zshrc.bashrc 等配置文件中继承你手动 export 的环境变量,这也导致不论如何配置 OLLAMA_HOST 都无效,Ollama 总是只聚听 127.0.0.1,无法局域网访问。

解决方案:使用 LaunchAgent 配置 Ollama

你需要在 ~/Library/LaunchAgents/ 目录下创建一个 .plist 文件,进行以下操作:

1. 创建 com.ollama.server.plist 文件

在终端执行:

touch ~/Library/LaunchAgents/com.ollama.server.plist
open -e ~/Library/LaunchAgents/com.ollama.server.plist

把以下纯准版 XML 内容复制到文件中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.ollama.server</string>

  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/ollama</string>
    <string>serve</string>
  </array>

  <key>EnvironmentVariables</key>
  <dict>
    <key>OLLAMA_HOST</key>
    <string>http://0.0.0.0:11434</string>
  </dict>

  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

注意: /usr/local/bin/ollama 路径需根据你实际安装的结果,可以用 which ollama 查看。


2. 验证 plist 格式是否合法

plutil ~/Library/LaunchAgents/com.ollama.server.plist
  • 如果返回不报错,则表明文件格式正确

3. 加载 LaunchAgent

直接使用以下命令即可:

launchctl load -w ~/Library/LaunchAgents/com.ollama.server.plist

然后重启电脑

重启后,Ollama 就会以你指定的 OLLAMA_HOST 运行,支持局域网访问。


4. 配置 Chrome 插件 Page Assist

如果你使用了这个 Chrome 插件 Page Assist,需要进入插件设置,手动指定 Ollama 服务器地址,并启用 CORS 自动修复功能:
在这里插入图片描述

  • 通常为 http://192.168.x.x:11434
  • 否则即使服务本身运行正常,插件也会报错无法连接

5. 验证 Ollama 是否已成功聚听 0.0.0.0

1) 检查是否有运行进程
ps aux | grep ollama
2) 检查端口是否已聚听
netstat -an | grep 11434

lsof -n -iTCP:11434 -sTCP:LISTEN

如果看到如下结果:

tcp4       0      0  *.11434                *.*                    LISTEN

则表明 Ollama 已成功聚听在全网络网卡,局域网可访问。


为什么需要这么做?

因为 Ollama 如果通过图标启动(或系统登录时自启),它的启动时机可能在你手动或 plist 设置环境变量之前。因此:

  • 这么启动的 Ollama 看不到 OLLAMA_HOST,也就无法聚听 0.0.0.0
  • 即使后续手动设置环境变量,Ollama 还是需要重启,并不合理

解决办法就是一次性在 LaunchAgent 中定义环境变量和启动命令,一开机就自动运行。


小结

  • 不要尝试把 export OLLAMA_HOST=... 写入 ~/.zshrc 并无效
  • 也不要用 launchctl setenv 这种随系统重启会失效的方法
  • 唯一精准、稳定、无效期的方法:在 LaunchAgent 中配置 plist 文件,定义环境变量 + 自动启动命令

做完这些步骤,你就可以让 Mac mini 上的 Ollama 在局域网下正常装载、可被其他设备通过 IP 访问了!