解决Ollama外部服务器无法访问:配置 `OLLAMA_HOST=0.0.0.0` 指南

发布于:2025-08-09 ⋅ 阅读:(16) ⋅ 点赞:(0)


问题描述

当部署Ollama服务后,默认监听地址为 127.0.0.1(仅限本机访问)。若需从外部服务器/客户端访问,会出现连接失败。这是因为服务未绑定到公共网络接口。


解决方案

通过修改systemd配置,强制Ollama监听所有网络接口(0.0.0.0),并重启服务生效。


操作步骤
1. 编辑Ollama服务配置文件
sudo vim /etc/systemd/system/ollama.service
2. 添加环境变量配置

[Service] 部分插入以下内容(若已有其他配置,请保持格式):

[Service]
Environment="OLLAMA_HOST=0.0.0.0"  # 关键配置:允许外部访问
Restart=always                      # 可选:确保服务崩溃后自动重启
User=ollama                         # 根据实际运行用户调整
Group=ollama
3. 重新加载systemd配置
sudo systemctl daemon-reload
4. 重启Ollama服务
sudo systemctl restart ollama
5. 验证服务状态
sudo systemctl status ollama  # 检查是否运行正常
ss -tuln | grep 11434         # 确认监听0.0.0.0:11434

关键配置说明
配置项 作用
OLLAMA_HOST=0.0.0.0 使服务监听所有网络接口(包括公网和局域网)
daemon-reload 重新加载systemd配置(必须执行,否则修改不生效)
Restart=always 增强服务稳定性(建议添加)

防火墙放行端口

若服务器启用了防火墙,需放行Ollama端口(默认11434):

# UFW (Ubuntu)
sudo ufw allow 11434/tcp

# Firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=11434/tcp
sudo firewall-cmd --reload

测试外部访问

在其他机器使用curl测试:

curl http://<你的服务器IP>:11434/api/tags  # 应返回模型列表

注意事项
  1. 安全风险:开放 0.0.0.0 意味着任何能访问该IP的设备都可连接Ollama,建议结合防火墙/IP白名单使用。
  2. 云服务商:AWS/Azure/GCP等需在安全组中放行端口。
  3. 若仍无法访问,检查服务日志:
    journalctl -u ollama -f  # 实时查看日志
    

通过以上步骤,Ollama服务即可被外部服务器访问。此方法同样适用于其他需绑定公共网络接口的服务。


网站公告

今日签到

点亮在社区的每一天
去签到