ollama ollama_host 设置

模型与算力

讲清 OLLAMA_HOST 改了之后 Ollama 监听在哪个地址、端口怎么填、什么时候反而不要改,并给一套改完就能验证的排查顺序。

很多人是远程连不上 Ollama、或者想让局域网里另一台机器调用时才想起来 OLLAMA_HOST。默认它只听本机,改法不难,难的是填法五花八门:带不带 http、要不要写端口、0.0.0.0 和 127.0.0.1 差在哪。这篇把变量格式、生效方式、验证步骤和常见不适用场景一次讲顺。

远程连不上自己那台跑着 Ollama 的机器、或者想让局域网里另一台设备调用模型时,很多人第一反应是翻文档找 OLLAMA_HOST。默认情况下 Ollama 只在本机监听,外部根本连不进来,所以这个变量确实得改。但改法比想象中乱:有人写上 http 前缀、有人端口写重、有人在 0.0.0.0 和 127.0.0.1 之间反复横跳,最后服务起不来还以为装坏了。

这篇不重复安装步骤,只把 OLLAMA_HOST 这一个变量讲透:它管的是什么、三种场景怎么填、改完按什么顺序验证、以及哪些情况下你其实不该碰它。全程给判断标准和排查动作,具体端口和地址按你自己机器来定。

OLLAMA_HOST 到底管什么

一句话:它决定 Ollama 服务对外监听的地址和端口,也就是「谁能连上你机器上的模型」。不改就走本机默认,只有本机能访问。注意它管的是服务端的监听,不是客户端填的请求地址——客户端那边要写的是改完之后的那个新地址,两者别搞混。

监听地址
服务愿意在哪个网卡上接客。写本机回环地址就只有本机连得上,写全零地址表示所有网卡都听
端口
服务在哪个端口等连接。改端口后客户端地址里的端口必须跟着改,漏了就是经典的连不上
变量值格式
只写主机和端口这两段,协议头由客户端自己拼,服务端这边不需要你写

为什么格式最容易翻车?因为很多人下意识把浏览器里那串完整地址整段贴进去,结果服务启动时解析失败,进程直接起不来或者静默退回默认值。记住原则:变量里是「主机:端口」,不是完整网址。

三种改法:临时、开机自启、容器内

按使用时长选改法:只是想试一下能不能通,用临时方式;准备长期这么跑,写进环境变量文件并让服务重启时读到;跑在容器或云主机里,就在部署描述里设,别在容器里手动 export 完事。下面三种分别给动作和验证点。

  1. 临时验证在启动服务的那条命令前面带上变量前缀,只对当前这个终端会话生效。启动后看服务日志里打印的监听地址,跟你设的是否一致;关掉终端就失效,适合排查阶段。
  2. 长期生效把变量写进系统级或用户级的环境变量文件,然后重启 Ollama 服务让新值生效。这里有个坑:桌面客户端自动拉起的进程和你手动在终端启动的进程,可能读的不是同一份配置,改完两边都要确认。
  3. 容器或服务器在部署描述或启动参数里设变量,然后务必确认端口有没有从容器内部映射到宿主机。只改容器内监听、忘了映射,宿主机上照样连不上,这是最容易被忽略的一环。

三种改法都做完之后,用同一个动作收尾:去服务日志里核对实际监听地址。日志说是什么,才是真的什么,配置文件写了不代表进程读到了。

改完怎么验证,连不上按什么顺序查

验证要分两步走,先本机、再远端,这样能把「服务端没改对」和「网络不通」两类问题彻底分开。很多人一上来就从另一台机器试,失败了根本不知道是自己配错还是防火墙挡了。

现象先查什么再查什么
本机都连不上服务是否带着新变量真正重启过监听地址是否被收窄到本机不在的网卡上
本机能连、别的机器不能进程监听地址是否只绑了本机回环防火墙或安全组是否放行该端口
时好时坏端口是否被别的程序偶尔占用客户端配置里地址是否包含端口、写法是否统一
  • 服务进程必须带着新变量重启过,光改文件不重启等于没改;
  • 新端口别和机器上已有服务撞车,撞了服务会起不来或随机退让;
  • 防火墙、安全组、云主机安全策略三层都可能拦,逐层确认放行;
  • 客户端那边填的地址要带端口,并且和实际监听保持一致;
  • 改完本机反而不通,八成是把监听收窄成了某个外部网卡地址,本机不在范围内。

排查顺序建议固定成:日志看监听 → 本机访问 → 远端访问 → 抓网络层。按这个顺序走,基本两三轮就能定位到是哪一层的问题。

什么情况下不建议动它

这个变量不是「改了更高级」,而是「开了扇门」。门开得越大,能进来的人越多,而模型接口通常不带账号体系,谁连上谁就能用你的机器跑推理。所以先判断自己属于哪种场景,再决定动不动。

单机自用、只在本机跑工具链,保持默认最省事,改了只会给自己增加暴露面。多人共用一台机器、或者确实要让外部设备调用,也别只改监听地址就完事:至少配一层反向代理、加访问控制、限制在内网范围。云主机上开放端口前先想清楚谁能连到,心里没数就先别开。

至于「哪种中转或自建方案更划算、各家接口价格差多少」,这类要横向比的数字不适合在这篇里下结论,去站内页面按当时的数据核对更靠谱。

下一步想知道不同接入方式在延迟和价格上的实际差别,可以到站内对比页按当时的数字自行核对,再决定是自建还是走中转。

常见问题

OLLAMA_HOST 的值要不要带 http:// 前缀?

通常不需要,只写主机加端口,协议部分由调用方自己拼。带上前缀多数情况下会解析失败或连到错误地址。拿不准就先用不带前缀的形式跑通一次,再回头确认你的客户端是不是会自动补协议。

改完 OLLAMA_HOST,为什么原来的程序连不上了?

最常见的原因是你把监听范围改小或改到了别的网卡上,本机默认地址不再被监听。另一个原因是改动只对当前终端生效,服务实际上是旧进程在跑。先确认服务是不是用新变量重启过,再对照客户端里填的地址和端口。

想让局域网里其他机器调用,应该填什么?

一般填允许外部访问的监听地址并带上端口,同时确保宿主机防火墙和云安全组放行该端口。但要清楚这样等于把模型接口开放给整个可达网络,接口本身通常没有账号校验,建议只在内网使用并配合访问控制。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。