桃园市网站建设_网站建设公司_轮播图_seo优化
2026/1/2 20:15:25 网站建设 项目流程

😭 前言:明明启动了,为什么连不上?

你是否遇到了这种情况:
在终端输入ollama run deepseek-r1能正常对话,但当你试图用DifyOpen WebUI或者Python 脚本调用 API 时,却报错:

Error: Connection refused
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=11434)

这是因为 Ollama 默认采用了**“自闭模式”**。出于安全考虑,它默认只监听127.0.0.1(本机回环地址)。这意味着:

  1. 同一台机器的外部 IP 访问?拒接。
  2. 局域网其他电脑访问?拒接。
  3. Docker 容器(如 Open WebUI)访问宿主机?拒接。

我们需要让 Ollama “敞开心扉”。


🔍 故障诊断图

在动手前,先看一眼你的请求死在了哪里:

宿主机 (Ollama 所在机器)

请求 http://x.x.x.x:11434

放行

127.0.0.1 (默认)

192.168.x.x (局域网)

No (默认)

Yes (OLLAMA_HOST)

你的客户端 (WebUI/Python)

防火墙/代理

网卡接口

✅ 本地终端能通

❌ 监听 0.0.0.0 ?

🚫 Connection Refused

✅ 连接成功


🛠️ 方案一:最基础检查 —— 服务真的活著吗?

别笑,50% 的报错是因为你关掉了终端。
Ollama 分为“客户端”和“服务端”。当你关闭命令行窗口时,服务可能也随之关闭了。

检查方法:

  1. Windows/Mac: 检查任务栏有没有 Ollama 的小羊驼图标。
  2. Linux: 运行命令systemctl status ollama

解决:
如果你没有后台服务,请打开一个新的终端窗口,单独运行:

ollama serve

保持这个窗口不要关闭,然后再尝试连接。


🌍 方案二:进阶必杀 —— 配置OLLAMA_HOST(解决 Docker/局域网访问)

这是最核心的解决方案。我们需要设置环境变量OLLAMA_HOST=0.0.0.0,让 Ollama 监听所有网络接口。

1. Windows 用户

Windows 无法直接在终端set就完事,需要在系统层面设置。

  1. 退出 Ollama:在任务栏右键小图标 -> Quit Ollama。
  2. 设置环境变量
  • 打开“设置” -> “系统” -> “关于” -> “高级系统设置”。
  • 点击“环境变量”。
  • 在“用户变量”或“系统变量”中点击“新建”。
  • 变量名OLLAMA_HOST
  • 变量值0.0.0.0(或者0.0.0.0:11434)
  1. 重启 Ollama:重新运行 Ollama 应用程序。
2. Mac 用户

Mac 需要使用launchctl来设置服务变量。

  1. 打开终端,输入:
launchctl setenv OLLAMA_HOST"0.0.0.0"
  1. 重启 Ollama应用。
3. Linux (Systemd) 用户

如果你是用安装脚本安装的,Ollama 是作为 systemd 服务运行的。

  1. 编辑服务配置:
sudosystemctl edit ollama.service
  1. 在打开的编辑器中,添加以下内容:
[Service] Environment="OLLAMA_HOST=0.0.0.0"
  1. 保存退出,并重启服务:
sudosystemctl daemon-reloadsudosystemctl restart ollama

🛡️ 方案三:隐形杀手 —— 代理与端口冲突

如果你配置了 0.0.0.0 还是连不上,通常是以下两个“内鬼”在作祟。

1. 代理软件干扰

很多开发者开着代理软件拉模型,代码里请求localhost时,流量被代理软件拦截并转发到了代理服务器,导致连接失败。

解决:
在你的 Python 代码或环境变量中,显式通过NO_PROXY绕过本地地址。

importos# 告诉程序:访问本地及其端口,别走代理!os.environ['NO_PROXY']='localhost,127.0.0.1,0.0.0.0'# 然后再 import 其他库importrequests
2. 端口 11434 被占用

也许你启动了两个 Ollama 实例,或者其他 AI 服务占用了默认端口。

检查命令 (Windows):

netstat-ano|findstr 11434

检查命令 (Mac/Linux):

lsof-i:11434

解决:
如果发现端口被占,你可以通过设置OLLAMA_HOST换一个端口,例如:
OLLAMA_HOST=0.0.0.0:8888


🎯 总结

90% 的“Connection refused”都可以通过**方案二(设置 OLLAMA_HOST=0.0.0.0)**解决。

  • 本机玩:确保ollama serve在运行。
  • Docker/局域网玩:配置环境变量OLLAMA_HOST=0.0.0.0
  • 开了 VPN:记得配置NO_PROXY

DeepSeek 很强,别让这小小的网络门槛阻挡了你通往 AGI 的道路。

Next Step:
服务跑通了?下一步建议部署一个Open WebUI(Docker 一键部署),给你的 DeepSeek 穿上一层漂亮的 ChatGPT 风格外衣,体验直接起飞!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询