如果你手头有台 VPS,想跑个私有 AI 聊天站,Ollama + Open WebUI 是目前最省心的组合。主机选这篇教程会带你从零部署,搞定模型下载、Web 界面配置、反向代理和常见坑点。

为什么选 Ollama + Open WebUI
Ollama 负责拉模型、跑推理,Open WebUI 提供类似 ChatGPT 的聊天界面。两者都是开源,支持 Docker 一键部署,对 VPS 配置要求不高(4G 内存起步就能跑 7B 模型)。适合个人使用、团队内测,或者作为 AI Agent 的推理后端。
环境准备
• 一台 Linux VPS(Ubuntu 22.04 或 Debian 12 最佳)
• 至少 4GB 内存,推荐 8GB
• Docker 和 Docker Compose 已安装
• 一个域名(可选,用于 HTTPS 反代)
安装 Docker
sudo apt update && sudo apt install -y curl
curl -fsSL https://get.docker.com | sudo bash
sudo usermod -aG docker $USER
部署 Ollama
Ollama 官方推荐用 Docker 启动:
docker run -d –name ollama \
-v ollama_data:/root/.ollama \
-p 11434:11434 \
ollama/ollama
• `-v ollama_data:/root/.ollama` 持久化模型数据,容器删了模型还在
• 端口 11434 是 API 端口,后面 Open WebUI 会连它
拉取模型
docker exec -it ollama ollama pull qwen2:1.5b
docker exec -it ollama ollama pull llama3.1:8b
拉模型比较耗时,建议用 tmux 或 screen 在后台跑。用 `docker logs ollama` 看进度。
部署 Open WebUI
官方推荐用 Docker Compose 管理,避免端口冲突。创建一个目录:
mkdir ~/open-webui && cd ~/open-webui
创建 `docker-compose.yml`:
yaml
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
– "3000:8080"
environment:
– OLLAMA_BASE_URL=http://<你的VPS内网IP>:11434
volumes:
– open-webui_data:/app/backend/data
restart: unless-stopped
volumes:
open-webui_data:
注意:`OLLAMA_BASE_URL` 要填内网 IP,不要填 localhost。因为两个容器在同一个 Docker 网络下默认不互通,除非你手动创建网络。简单做法:填 VPS 内网 IP(比如 10.0.0.2 或 172.17.0.1)。
启动:
docker compose up -d
用同一网络(更稳)
如果你不想纠结 IP,可以创建一个共享网络:
docker network create ai-net
docker stop ollama && docker rm ollama
docker run -d –name ollama –network ai-net -v ollama_data:/root/.ollama ollama/ollama
docker compose up -d
这样 Open WebUI 就能通过容器名 `ollama` 访问 Ollama。
配置反向代理和 HTTPS
为了安全访问,用 Nginx 反代,并通过 Let's Encrypt 加 HTTPS。这里只给 Nginx 配置片段:
nginx
server {
listen 80;
server_name chat.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name chat.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/chat.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}
别忘了放行 80 和 443 端口,以及防火墙规则。
老鸟叮嘱
1.内存不足别硬跑 7B 模型:VPS 内存低于 8GB 时,模型会频繁 swap,响应极慢。建议先跑 1.5B 或 3B 模型。
2.Open WebUI 默认无密码:部署后立刻注册管理员账号,否则任何人都能访问你的聊天记录。
3.API 端口别暴露公网:Ollama 的 11434 端口只应监听内网,用 `ufw deny 11434` 或云安全组限制。
4.模型存储空间:一个 7B 模型大约 4-5GB,多个模型会占满磁盘。定期清理不需要的模型:`docker exec -it ollama ollama rm <模型名>`。
5.Docker 日志别忽略:如果 Open WebUI 连不上 Ollama,看日志 `docker compose logs open-webui`,常见错误是 `OLLAMA_BASE_URL` 配置不对。
FAQ
Q: 我的 VPS 只有 2G 内存,能跑吗?
A: 可以跑 1.5B 以下模型,比如 `qwen2:0.5b` 或 `phi3:3.8b`(但 3.8B 也会吃紧)。建议加 swap,但推理速度会慢。
Q: Open WebUI 支持多用户吗?
A: 支持。注册账号后,不同用户独立对话历史,管理员可以管理用户。
Q: 如何让 Open WebUI 调用外部 API(比如 OpenAI)?
A: 在 Open WebUI 设置中,可以添加 OpenAI API Key,作为模型来源。这样既可以用本地模型,也可以用云端模型。
Q: 模型下载太慢怎么办?
A: 可以设置代理环境变量:`docker run -e HTTP_PROXY=http://代理IP:端口 …` 或者修改 Docker daemon 代理。
Q: 升级 Open WebUI 会丢数据吗?
A: 不会,数据挂载在 volume 里。升级只需 `docker compose pull && docker compose up -d`。
Q: 能不能用 Ollama 配合 n8n 做自动化工作流?
A: 可以。n8n 的 HTTP Request 节点调用 Ollama API(`http://<IP>:11434/api/generate`),就能把 AI 能力嵌入自动化流程。
结尾
Ollama + Open WebUI 这套组合,几分钟就能在 VPS 上跑起私有 AI 聊天站。无论是个人学习、团队协作,还是作为 AI Agent 的推理后端,它都能胜任。部署时注意内存和端口安全,基本不会翻车。
—
**相关阅读:**
– [VPS部署AI工具100讲:AI Agent、Codex、Claude Code、Hermes Agent、Ollama与自动化工作流实战教程](https://www.zhujixuan.com/jishujiaocheng/9606.html)
– [n8n VPS 部署教程:搭建自己的自动化工作流平台](https://www.zhujixuan.com/jishujiaocheng/9892.html)
– [VPS 部署 AI 工具需要哪些基础?Linux、Docker、Nginx 和域名配置入门](https://www.zhujixuan.com/jishujiaocheng/9747.html)
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9859.html 商家投稿邮箱:zhujixuanblog@qq.com
