在Ubuntu 22.04服务器中安装GPU版本的Ollama给其他服务器调用,我们可以用另一种非常常见且强大的方法:使用 Nginx 作为反向代理来暴露 Ollama 的 API。
从而实现让其他服务器可以通过 http://<你的VPS的IP地址>/
来访问 Ollama 的 API。例如,如果之前 Ollama 的 API 路径是 http://localhost:11434/api/generate
,那么通过 Nginx 代理后,外部访问路径将是 http://<你的VPS的IP地址>/api/generate
。

1. 安装 Nginx
Nginx 是开源、高性能、高可靠的Web 和反向代理服务器,而且支持热部署,几乎可以做到7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。
1.1 通过命令行来安装Nginx
通过以下命令行来安装Nginx
sudo apt update && apt upgrade -y sudo apt install nginx -y
2. 配置 VPS 防火墙以允许 Nginx 的流量
需要允许 HTTP (端口 80) 的入站连接。(如果计划以后使用 HTTPS,也需要允许端口 443)
sudo ufw allow 'Nginx HTTP' # 这会允许端口 80 # 如果计划用 HTTPS: sudo ufw allow 'Nginx HTTPS' # 将允许端口 443 sudo ufw reload sudo ufw status # 确认规则已添加
如果你的 VPS 提供商(如 Vultr)有外部防火墙/安全组,确保那里也允许端口 80 (和 443) 的入站流量。
3. 创建 Nginx 配置文件用于 Ollama 代理
3.1 创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/ollama-proxy
3.2 配置文件
将以下内容粘贴到文件中。请将 45.77.205.148
替换为你的实际 VPS IP 地址(或者如果你有域名,可以使用域名)。
server { listen 80; server_name 45.77.205.148; # 或者你的域名,例如 ollama.yourdomain.com location / { proxy_pass http://127.0.0.1:11434; # Ollama 在本地监听的地址和端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 对于流式响应 (streaming) 很重要,Ollama API 常用 proxy_http_version 1.1; proxy_set_header Connection ""; # 清除可能由客户端发送的 "close" Connection 头 proxy_buffering off; # 关闭代理缓冲,确保实时性 chunked_transfer_encoding on; # 确保分块传输编码被正确处理 } }
ℹ️ 将server_name 的
IP
地址更换为自己的IP地址
3.3 保存文件并退出
- 按
Ctrl + O
,然后按Enter
保存。 - 按
Ctrl + X
退出,按Enter
保存。
4. 启用新的Nginx站点配置
通过如下命令启用新的 Nginx站点配置:
sudo ln -s /etc/nginx/sites-available/ollama-proxy /etc/nginx/sites-enabled/
这会创建一个从 sites-enabled
到 sites-available
的符号链接
5. 测试并重启Nginx服务以应用更改
通过以下命令来操作:
sudo nginx -t # 测试Nginx配置 sudo systemctl restart nginx # 重启Nginx
如果输出中包含这样的信息说明配置成功:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果看到错误,请回头检查 ollama-proxy
文件中的内容是否有拼写或语法问题。
6. 测试从外部访问Ollama API
现在,你应该可以从任何其他服务器或你的本地电脑通过 Nginx 访问 Ollama API 了。 例如,要获取模型列表:
curl http://123.123.123.123/api/tags
这样的话会在CMD中显示出模型的信息:

之后就可以将该API和其他服务如Open WebUI等服务进行联动使用了。点击这可以参考如何部署Open WebUI在Ubuntu 22.04环境中 ↗️,会有详细的指引。
Views: 2