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 聊天系统 🎉