我的问题很简单,就是macOS里面运行的ollama不能显示模型,这时因为ollama默认本地访问,所以监听地址是127.0.0.1;为了开放外网访问,需要监听0.0.0.0
我用 “brew services start ollama” 启动在stop,但是没看到有~/Library/LaunchAgents/homebrew.mxcl.ollama.plist,如果我想zqq开机启动ollama并监听0.0.0.0,应该怎么办
已经完成思考
找不到 plist 文件是正常现象。因为当您执行 brew services stop ollama 时,Homebrew 会自动清理并删除它生成的配置文件,以取消开机自启。
既然 brew services 生成的文件会被清理,且未来升级 Ollama 时也可能被覆盖,最完美、最一劳永逸的做法是:手动创建一个属于您自己的 LaunchAgent 配置文件。
这样既不会被 Homebrew 干扰,又能完美注入 0.0.0.0 监听配置。请按以下步骤操作:
1. 确认 ollama 的绝对路径
在终端运行以下命令,记住输出的路径(通常是 /opt/homebrew/bin/ollama 或 /usr/local/bin/ollama):
which ollama
2. 创建自定义启动配置文件
使用 nano 创建一个新的配置文件(名字自定义,避免和 brew 冲突):
nano ~/Library/LaunchAgents/com.zqq.ollama.plist
3. 填入配置内容
将以下内容粘贴进去。注意:请将第 11 行的 /opt/homebrew/bin/ollama 替换为您在第 1 步中获取的实际路径!
<?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.zqq.ollama</string>
<key>ProgramArguments</key>
<array>
<!-- 替换为您实际的 ollama 路径 -->
<string>/opt/homebrew/bin/ollama</string>
<string>serve</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>OLLAMA_HOST</key>
<string>0.0.0.0</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/ollama.zqq.log</string>
<key>StandardErrorPath</key>
<string>/tmp/ollama.zqq.error.log</string>
</dict>
</plist>
(保存并退出:按 Ctrl+O 回车保存,Ctrl+X 退出)
4. 加载并启动服务
使用 macOS 原生的 launchctl 命令加载该配置(-w 参数表示永久生效,开机自启):
launchctl load -w ~/Library/LaunchAgents/com.zqq.ollama.plist
5. 验证是否成功
检查端口是否已经按 0.0.0.0 监听:
lsof -i :11434
如果看到 *:11434 或 0.0.0.0:11434,说明配置完美生效!
💡 后续管理指南(不再使用 brew services)
因为现在是由 macOS 原生接管,以后管理它请使用以下命令:
- 停止服务:
launchctl unload ~/Library/LaunchAgents/com.zqq.ollama.plist - 重启服务:先
unload再load,或者直接killall ollama(因为配置了KeepAlive,它会自动重启并重新加载配置)。 - 查看日志:
tail -f /tmp/ollama.zqq.log