关于ollama不显示大模型的问题

我的问题很简单,就是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

如果看到 *:114340.0.0.0:11434,说明配置完美生效!


💡 后续管理指南(不再使用 brew services)

因为现在是由 macOS 原生接管,以后管理它请使用以下命令:

  • 停止服务launchctl unload ~/Library/LaunchAgents/com.zqq.ollama.plist
  • 重启服务:先 unloadload,或者直接 killall ollama(因为配置了 KeepAlive,它会自动重启并重新加载配置)。
  • 查看日志tail -f /tmp/ollama.zqq.log

发表回复