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

如果你在 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 文件

在终端执行:

bash 复制代码
touch ~/Library/LaunchAgents/com.ollama.server.plist
open -e ~/Library/LaunchAgents/com.ollama.server.plist

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

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 格式是否合法

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

3. 加载 LaunchAgent

直接使用以下命令即可:

bash 复制代码
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) 检查是否有运行进程
bash 复制代码
ps aux | grep ollama
2) 检查端口是否已聚听
bash 复制代码
netstat -an | grep 11434

bash 复制代码
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 访问了!

相关推荐
福大大架构师每日一题11 小时前
ollama v0.15.2发布:新增Clawdbot集成指令,全面支持Ollama模型启动!
golang·ollama
2601_9491465315 小时前
APP语音通知接口集成实战:移动端应用接入语音提醒API的开发手册
macos·objective-c·cocoa
小鹿软件办公17 小时前
Apple 发布 macOS 11、watchOS 10 和 watchOS 9 更新
macos·objective-c·cocoa
问道飞鱼2 天前
【大模型知识】Chroma + Ollama + Llama 3.1 搭建本地知识库
llama·知识库·chroma·ollama
chao_7892 天前
双设备全栈开发最佳实践[mac系统]
git·python·macos·docker·vue·全栈
2501_915921432 天前
不用 Xcode 上架 iOS,拆分流程多工具协作完成 iOS 应用的发布准备与提交流程
android·macos·ios·小程序·uni-app·iphone·xcode
Ron丶2 天前
iOS 旧版本 App 下载方法汇总:如何获取历史版本 IPA(2026 仍有效)
windows·经验分享·macos·ios·电脑
编程小风筝2 天前
MAC物理地址和IP网络地址有什么区别?
网络协议·tcp/ip·macos
xiucai_cs2 天前
AI RAG 本地知识库实战
人工智能·知识库·dify·rag·ollama
雪域迷影2 天前
MacOS中运行Next.js项目注册新用户时MongoDB报错MongoServerError
mongodb·macos·react·next.js