2025-10-10
计算机
00

目录

在 Debian 服务器上部署 OpenWebUI + OpenRouter API(使用 Cloudflare DNS)
一、工具与组件简介
1. OpenWebUI
2. OpenRouter API
3. Cloudflare DNS
二、环境准备
安装必要依赖
🧱 三、安装 OpenWebUI
1️⃣ 创建虚拟环境并激活
2️⃣ 安装 OpenWebUI
3️⃣ 启动服务
🌐 四、配置 Cloudflare DNS
五、接入 OpenRouter API
六、通过 Caddy 反向代理
七、开放所有模型权限给所有用户
八、让 OpenWebUI 后台长期运行
简易方式:nohup
推荐方式:systemd 管理服务
九、更新 OpenWebUI
九、总结

在 Debian 服务器上部署 OpenWebUI + OpenRouter API(使用 Cloudflare DNS)

本文将介绍如何在 Debian 系统 上部署可通过浏览器访问的 OpenWebUI 聊天界面,并通过 OpenRouter API 接入大语言模型,实现一个自建的 ChatGPT 网页版。
同时,我们将使用 Cloudflare DNS 配置域名,使服务可通过 <ai.你的域名> 直接访问。


一、工具与组件简介

1. OpenWebUI

OpenWebUI 是一个开源的 Web 聊天前端,支持接入本地模型(如 Ollama)或远程模型(如 OpenAI、OpenRouter)。
它提供了现代化的聊天界面、用户系统、多模型支持等功能,是理想的自建 AI 前端。


2. OpenRouter API

OpenRouter 提供统一接口访问多家大模型(OpenAI、Anthropic、Mistral 等)。
注册后可获得 API Key,格式如下:

sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

在 OpenWebUI 中配置该 Key 即可使用各类模型。


3. Cloudflare DNS

用于域名解析,将自有域名解析到服务器公网 IP。
它还能提供反向代理、安全加速与 HTTPS 支持。


二、环境准备

确保系统为 Debian / Ubuntu,并具备以下条件:

  • Python \geqslant 3.11
  • pip 与 venv 可用
  • 拥有一个可管理的域名
  • 已接入 Cloudflare DNS

安装必要依赖

bash
sudo apt update sudo apt install python3 python3-venv python3-pip git -y

🧱 三、安装 OpenWebUI

1️⃣ 创建虚拟环境并激活

bash
mkdir -p /opt/openwebui cd /opt/openwebui python3 -m venv venv source venv/bin/activate

2️⃣ 安装 OpenWebUI

bash
pip install open-webui

3️⃣ 启动服务

bash
openwebui serve

默认监听 8080 端口。
可直接访问:

http://<服务器IP>:8080

第一次登录的账户将自动成为 管理员账号


🌐 四、配置 Cloudflare DNS

登录 Cloudflare 控制台

  1. 选择你的域名
  2. 添加一条 A 记录:
名称:ai 内容:<你的服务器公网 IP> 代理状态:可选(灰云直连 / 橙云反代)

保存后可用命令测试:

bash
ping ai.<你的域名>

若能解析出正确 IP,则说明域名配置成功。注意需要关闭DNS小彩云。


五、接入 OpenRouter API

  1. 注册 OpenRouter 并复制 API Key
  2. 在 OpenWebUI 界面进入
    Admin Settings → Connections → OpenRouter
  3. 粘贴你的 API Key 并保存

六、通过 Caddy 反向代理

我们希望实现的架构是

[ Internet ] ↓ ai.<你的域名> ──(443/80)──▶ [Caddy] ──▶ localhost:8080 (OpenWebUI)
  1. 安装 Caddy
bash
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install -y caddy
  1. Caddy 配置

编辑/etc/caddy/Caddyfile,在其中添加:

ai.<你的域名> { reverse_proxy localhost:8080 }
  1. 部署运行
bash
sudo systemctl enable --now caddy sudo systemctl restart caddy

七、开放所有模型权限给所有用户

默认情况下,普通用户无法访问管理员配置的所有模型。
为了解决此问题,可设置环境变量:

bash
BYPASS_MODEL_ACCESS_CONTROL=True

在虚拟环境中设置

bash
source /opt/openwebui/venv/bin/activate export BYPASS_MODEL_ACCESS_CONTROL=True openwebui serve

八、让 OpenWebUI 后台长期运行

简易方式:nohup

bash
nohup openwebui serve > openwebui.log 2>&1 &

推荐方式:systemd 管理服务

创建文件 /etc/systemd/system/openwebui.service

ini
[Unit] Description=OpenWebUI Service After=network.target [Service] WorkingDirectory=/opt/openwebui ExecStart=/opt/openwebui/venv/bin/openwebui serve Environment="BYPASS_MODEL_ACCESS_CONTROL=True" Restart=always User=root [Install] WantedBy=multi-user.target

启用并启动:

bash
sudo systemctl daemon-reload sudo systemctl enable openwebui sudo systemctl start openwebui

此后可通过以下命令查看状态:

bash
sudo systemctl status openwebui

九、更新 OpenWebUI

当新版本发布时,只需在虚拟环境中执行:

bash
source /opt/openwebui/venv/bin/activate pip install --upgrade open-webui

然后重启服务:

bash
sudo systemctl restart openwebui

九、总结

至此,你已经完成以下配置:

项目状态
Cloudflare 域名解析
OpenWebUI 安装
OpenRouter 接口接入
模型权限放开
后台运行与开机自启
自动更新机制

现在你可以通过以下方式访问你的自建 AI 平台:

https://ai.<你的域名>

这是一个完全自建、现代化、安全的 AI 聊天系统 🎉