文章目录
问题描述
当部署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 # 应返回模型列表
注意事项
- 安全风险:开放
0.0.0.0
意味着任何能访问该IP的设备都可连接Ollama,建议结合防火墙/IP白名单使用。 - 云服务商:AWS/Azure/GCP等需在安全组中放行端口。
- 若仍无法访问,检查服务日志:
journalctl -u ollama -f # 实时查看日志
通过以上步骤,Ollama服务即可被外部服务器访问。此方法同样适用于其他需绑定公共网络接口的服务。