
“ollama is not running” issue after changing the host ip
快速结论:该报错通常发生在将 Ollama 服务端监听地址从默认的 localhost 改为特定 IP 后,客户端(包括本机 CLI)仍使用 127.0.0.1 访问。优先排查客户端环境变量 OLLAMA_HOST 是否与服务端实际监听的 IP 一致。
问题场景
用户在 Linux 服务器上通过 systemd 服务文件设置 OLLAMA_HOST=192.168.1.10:11434(或 0.0.0.0:11434)后,ollama pull 等 CLI 命令报错 “Error: could not connect to ollama app, is it running?”,但 curl 该 IP 地址可以正常访问,且 Open WebUI 也能正常通过新 IP 使用。
报错原文
Error: could not connect to ollama app, is it running?
原因分析
最主要的原因是客户端(终端)的 OLLAMA_HOST 环境变量未设置,默认指向 127.0.0.1:11434,而服务端已配置为仅监听特定 IP(如 192.168.1.10:11434),不再监听 localhost。当通过 systemd 设置 OLLAMA_HOST 后,Ollama 服务端只绑定到指定 IP,CLI 客户端若未同步设置该变量则无法连接。
可能原因包括:
- 在运行
ollama pull的终端中未 export 相同的OLLAMA_HOST值。 - 服务端配置为
0.0.0.0:11434时,虽然监听所有接口(包括 localhost),但部分系统或客户端行为可能仍无法使用默认地址连接(少数用户报告了此情况,但维护者未能复现)。 - 建议优先尝试明确设置客户端
OLLAMA_HOST变量。
环境排查
- 确认 Ollama 版本:Issue 中提及 v0.1.38,维护者测试 v0.1.49-rc3 后可正常工作。
- 确认 systemd 服务文件中
OLLAMA_HOST的设置方式,例如Environment="OLLAMA_HOST=192.168.1.10:11434"。 - 使用
sudo netstat -tuln | grep 11434确认服务端实际监听的 IP 地址。 - 检查运行 CLI 命令的终端中是否设置了
OLLAMA_HOST:echo $OLLAMA_HOST。
解决步骤
- 在所有终端中设置相同的 OLLAMA_HOST:在运行
ollama pull、ollama list等命令的终端中,执行export OLLAMA_HOST=192.168.1.10:11434(替换为你的实际 IP)。 - 或让服务端监听所有接口(推荐用于本机和内网客户端):将 systemd 服务文件中的
OLLAMA_HOST改为0.0.0.0:11434,然后sudo systemctl daemon-reload && sudo systemctl restart ollama。这样服务端会同时监听 localhost 和所有网络接口,客户端无需设置环境变量即可连接。但注意:0.0.0.0会暴露服务到所有网络,需确保信任环境和防火墙安全。 - 验证监听状态:使用
sudo netstat -tuln | grep 11434确认端口已正确绑定。 - 可选:尝试升级 Ollama:维护者在 v0.1.49-rc3 上测试正常,若版本过低可考虑升级至较新版本。
注意:如果问题仍然存在,需要检查是否有其他进程占用了 11434 端口,或防火墙规则阻止了本地回环地址的访问。
验证方法
在终端中运行 ollama list 应能正常显示已下载的模型列表,无报错。执行 ollama pull [modelname] 下载新模型也应成功。同时可以使用 curl 命令从本机或网络内其他机器测试:curl http://192.168.1.10:11434/api/tags 应返回 JSON 数据。



