(超详细小白向教学)入坑云服务器+如何在云服务器上部署应用(以openwebui为例子并且包含如何转移数据库)+(超详细小白向如何上架网站)即云服务器部署的项目怎么绑定域名访问+AI聚合平台api调用

本人是跟着L站大佬Cook_Sleep的教学做的,下面的教程里有参考大佬的地方。补充了很多遗漏东西,并且以本人的视角重新完整的写了一遍,这篇教程是我边部署边写出来的,和大家一样是小白,所以参考意义很大

第一次使用云服务器教程(VPS)纯小白教学

**1.**购买云服务器。这里假设都买过了

海外云服务器目前主要是雨云,道之云。
道之云一个月30,比雨云便宜,带宽还多(影响响应速度)
我买的道之云美国的服务器(带宽60,香港服务器只有10)推荐买美国的
4核心+4gb内存。然后附带50gb空间,附加存储空间我感觉不用了,直接默认的是0gb。(道之云这玩意就是给我装错系统了,ubantu22.04它给我装了centos。。已经反应了,下面有解决教程)

2.你自己的电脑连接云服务器

打开电脑终端(win+x呼出菜单栏点开就行),
输入

ssh root@ip地址 

这个ip地址在云服务器后台查看。

然后按照提示输入yes

然后会让你输入密码,密码依旧在云服务器后台查看。这个时候你发现输入任何字符终端都不显示,不要慌,这个是保护机制,输入密码就是不会显示任何东西,你正常输入就好了。

输好后按回车,差不多就成功连接上了!

ps(可忽略):有的云服务器商可能提供的系统太过老旧,或者出现bug(问就是我就是遇到bug了,我安装ubantu22.4,人家云服务器给我安装了centos。。。。)这个时候我们可以用https://github.com/bin456789/reinstall
这个开源github项目来重装我们需要的各种系统。一般我们都安装ubantu系统(就是Linux的一种),我安装的是24.04
一下是这个项目的使用教学(你也可以打开链接自己查看)
要安装 Ubuntu 24.04,按照以下步骤进行:

步骤1:下载重装脚本

在Linux上下载脚本
bash
复制编辑
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
或者:
bash
复制编辑
wget -O reinstall.sh https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh

在Windows上下载(如果需要):
使用 certutil 命令下载:
cmd
复制编辑
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

步骤2:执行重装脚本安装Ubuntu 24.04

执行重装命令,安装 Ubuntu 24.04:
bash
复制编辑
bash reinstall.sh ubuntu 24.04

步骤3:设置可选参数

设置密码(可选):
bash
复制编辑
bash reinstall.sh ubuntu 24.04 --password "你的密码"

使用SSH密钥进行登录(可选):
bash
复制编辑
bash reinstall.sh ubuntu 24.04 --ssh-key "你的公钥"

修改SSH端口(可选):
bash
复制编辑
bash reinstall.sh ubuntu 24.04 --ssh-port 2222

步骤4:开始安装

脚本会自动开始安装过程,下载并安装 Ubuntu 24.04。你可以通过 SSH 或商家后台的 VNC 来监控安装过程。

安装注意事项

重装系统时会清空硬盘数据,请务必提前备份重要数据。

安装过程完成后,你可以用新的 SSH 设置进行远程连接。

这样就能顺利安装 Ubuntu 24.04 了!

3.下载面板,不然怎么显示东西你说是吧。这里推荐1panel,大家都推荐这个

怎么安装呢,还是在刚才的终端(此时你已经连接上了)

在线安装 – 1Panel 文档
查看这个官方安装教程
以我为例(ubantu24.02)

curl-sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh


我直接输入这个就好了

然后按照提示,在你自己的电脑浏览器打开最终显示给你的链接

你就会得到这样一个页面。

下面的教程

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

法一:直接创建一个全新的数据库

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

法二:若你本来在本地电脑上部署了openwebui并且想要将数据全部上传到云服务器。请按如下指南操作

下载winscp(图形化传文件)

WinSCP :: Official Site :: Download

上面是下载链接

添加图片注释,不超过 140 字(可选)

进来后是这个样子的

文件协议默认保持不变

填写主机名(就是云服务器的ip),然后就是用户和密码,用户一般都是root(可以去云服务器后台查看下你的)

然后点击登录即可

添加图片注释,不超过 140 字(可选)

点击本地可以切换磁盘。南风(就是在下)的本地数据是D:openwebui,找到你的数据所在文件

点击上传或者直接拖到右边即可(直连即可,不要魔法,直连速度快),我是在右边新建了一个文件夹,然后把左边文件夹里面的文件全部拖到右边。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

我这样子就好了。数据在openwebui_data下面。这样子启用docker命令的时候直接挂载这个数据就好了。

在1panel的系统——终端输入

docker run -d -p 3000:8080 -v /root/openwebui_data:/app/backend/data –name open-webui –restart always ghcr.io/open-webui/open-webui:main

PS:这个是本地的sqlite数据库,比较小型,数据多的时候性能不好,下面讲一下,怎么把这个数据库转为sql,导入到postgresql数据库里面,即法三 法三:下载sqliteToPostgres将sqlite全部转换为sql格式,然后在1panel面板里面找到数据库,点击postgresql,点击导入文件即可

分割线————————————————————–

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

上面图片说的是粘贴写好的是指法一(直接创建新的数据库)

等待完成即可,在容器里面就能看到openwebui了,点击即可打开。

如果你是跟着上面教程做的,那么你现在有的基础配置应该是:一台云服务器,云服务器安装了ubantu系统,

并且安装了1panel当作操作面板。

下面请正式进入教学上线网站的教学。

首先你得购买一个域名,国内腾讯云,阿里云你都可以去看看。18岁成年才可以注册,当然也有免费的域名。

假设你已经购买好了域名。

这个时候你想要把你服务器上面的项目,比如一个网站。让所有人能通过一个域名来访问它,就像输入http://www.xxx.xxx就能跳转到一个网页。(前面这个http://www.xxx.xxx就是域名)。

具体怎么做呢,首先我们需要dns解析。

这是第一步,并且是必须的!!!它的作用就是让全世界所有人访问你的域名的时候能够正确解析到你的服务器。

世界上有很多DNS解析厂商,国内有阿里云,腾讯云等等,还有国际上的cloudflare俗称小橙云(全球最好的dns厂商,用的非常非常广泛,大家平时进入一些网站显示确认您是否是真人,它右边就是有个小橙云)大家都叫它活菩萨。因为它的免费提供超级多的网站防护措施,保护你的网站不受到攻击,防止恶意爬虫等等等。所以我们使用cloudflare(简称cf)

将域名绑定到 Cloudflare

访问 Cloudflare
点击 注册
点击 Free 下方的 添加一个网站,
完成注册流程
输入你的域名
点击 继续
按照界面提示,在你购买域名的网站那里填写上 Cloudflare 的名称服务器

这里方法各异,但是大体上就是去域名列表选择你买的域名,在管理之类的界面里选择名称服务器(也可能叫 DNS / 自定义 DNS 等)里更改

修改完成后,在 Cloudflare 点击继续

你需要等待短则 3-15 分钟,长则一天来让 Cloudflare 进行验证。如果等太久了,就先休息一下吧!

使用 Cloudflare 为你的各个项目上线网址、提供保护

ps:(知识点小科普)

cloudflared可以使用它本身自带的tunnel来上线网站,但是对于我来说。。。太卡了!!!

所以我们使用所以我们使用cloudflrae的Origin Rules或者openresty进行反向代理。
你问我反向代理是什么?Origin Rules和openresty又是什么?

什么是“反向代理”?

简单说:
别人访问你网站,其实不是直接连你服务器,而是先经过“中间人”(反代服务器)再转发过去。

Cloudflare Origin Rules 是啥?

Cloudflare 的原点规则(Origin Rules)= Cloudflare 站门口的那个“保镖”自动帮你把访客转发到正确端口。
比如你说:“访问 panel.xxx.chat 时,帮我转到服务器的 1Panel 面板端口。”
它就真的照做。
轻量级的项目我们使用这个origin rules即可。比如我们云服务器的面板1panel,就可以直接用这个反代
不知道1panel的请看下面这篇文章

第一次使用云服务器教程(VPS)纯小白教学-CSDN博客

OpenResty 又是啥?

OpenResty = 强化版 Nginx(网页服务器),
你自己在服务器上开的小管家,超级强悍,大型项目我们都用它,可以优化网页加载速度,可以更改网页的图标等等等。
比 Cloudflare 自己的 Origin Rules 更灵活,但你得自己动手配置。我们后面openwebui上线就用openresty反代


总结一句:

功能 Cloudflare Origin Rules OpenResty
所在位置 Cloudflare 云上 你自己服务器上
配置难度 简单(图形界面) 稍复杂(但灵活)
优点 快速转发,无需开端口 支持自定义逻辑/更细致控制
缺点 不能加缓存或逻辑判断 需要你懂点配置

okok小课堂结束,回归正题

在通过验证后,为你将要使用的网址添加 DNS 记录

点击 Cloudflare 左侧列表的 DNS
点击 编辑 ,删除其他的 DNS 记录(如果存在)
点击 添加记录,按下面的指导填写记录:

类型: A
名称: 你需要的子域名的前缀(什么是子域名?就是假设你的域名是fa.com,那么http://xx.fa.com就是你的子域名,xx你可以随便填写,这就是说你买了一个域名之后,你可以拥有无数个子域名,可以上线无数个网站!!!)

假如你需要一个 panel.你的域名 这样的网址来绑定你服务器上的 1Panel 面板,那么名称就写 panel

IPv4 地址: 你的服务器的 IPv4 地址(就是你买云服务器的后台显示的那个ip地址)
代理: 也就是小橙云默认开启,不要关闭! 否则你将无法按照本教程完成部署,同时失去 Cloudflare 提供的种种保护与便利

点击 保存

你可以用同样的步骤添加 xxx子域名前缀来为后面绑定项目做准备。

如有需要,请自行添加更多 DNS 记录,以便将其绑定到你服务器上的其他项目。

这一步是必须的!!!!这个就是dns解析,如果你不添加就无法访问网站

配置 1Panel 面板

先暂时以 IP + 端口的形式进入面板

这部分不会操作(或者不知道1panel是什么的请看我的第一篇文章,链接如下,这一篇教学是在此基础上进行的)

第一次使用云服务器教程(VPS)纯小白教学-CSDN博客

在浏览器地址栏输入 你部署1panel时,云服务器终端给你的链接(不知道的看上面链接的教学),访问
输入刚刚的面板用户和密码

这样就进入面板了!

进入面板后,在 面板设置 – 安全 里关掉,
!!!!!!!!!!!!!!!!务必在面板设置的安全里面关掉!!不然后面绑定域名之后登录不上去(具体开启后怎么登录上去目前南风我也没有搞清楚)

不关掉的化,后面绑定域名后用域名就登录不上去

如果你在使用代理程序时,用 IP 连接不上,请尝试将服务器的 IP 加入代理程序的绕过规则。

如果你在使用 Clash Verge

可以在 订阅 - 全局扩展脚本 - 右键 - 编辑 里像下面这么写(请注意修改代码里的服务器ip,这样就不会被订阅刷新覆盖规则,且可以为每个订阅生效了!

// Define main function (script entry)

function main (config) {

  const newRules = [
    "IP-CIDR, 你的服务器公网 IP/24,DIRECT"
  ];

  if (!config.rules) {
    config.rules = [];
  }

  config.rules.unshift (...newRules);

  return config;
}

修改 1Panel 面板的用户名、密码、服务器地址

点击面板侧栏里的 面板设置
修改面板用户和面板密码
设置服务器地址为你的服务器公网 IP

修改服务器 SSH 端口及密钥

如果你使用默认的 22 号 SSH 端口,又恰巧在服务器上部署了一些热门项目,那很快你就会被几百页的陌生登录日志整无语。

虽然那些不明生物在强密码的阻挡下并不能进入你的服务器,但它们只是出现在日志里我就已经无法忍受了。所以我们来改一下服务器 SSH 端口,顺便更改认证方式,增强安全性。

亲测改完再没人扫我服务器了!

点击面板侧栏里的 主机 – SSH 管理
修改端口至 1024 到 65535 之间的一个数

为什么是 1024-65535?

点击 密钥信息
选择加密方式:RSA
输入一个相对较强的密码
点击 生成密钥
下载并 妥善保存好 你的密钥
关闭密码认证
选择 root 用户仅允许密钥登录

配置 1Panel 面板里的终端,为后面部署项目做好准备

点击面板侧栏里的 主机 – 终端
点顶栏的 主机
点击主机列表里 127.0.0.1 右侧的 编辑
选择私钥认证
填写用户名 root、私钥、私钥密码
点击 连接测试
点击 确认
返回终端,此时就可以使用终端了!

为你的面板配置域名访问、SSL

如果你在使用其他云服务商提供的服务器,请检查 80 和 443 端口是否开启!

将域名托管到 Cloudflare 后是无法在服务器使用脚本获取证书并自动续签的!所以你只能使用下面的方法。而且它也很省事,几乎是一劳永逸。

在 Cloudflare 生成 SSL 证书,保存到 1Panel 中

在 Cloudflare 的侧栏点击 SSL/TLS
选择 源服务器
点击 创建证书
证书有效期选择 15 年

只要你别把密钥泄露,问题不大
不过你也可以随时来吊销泄露了的,再生成新的

点击 创建
分别复制源证书、私钥,妥善保存
开启 经过身份验证的源服务器拉取
点击 1Panel 面板侧栏里的 网站 – 证书
点击 上传证书
填写你的 私钥、源证书
点击右下角的 确认

Origin Rules反代1panel上线网站(因为它轻量级)

在 Cloudflare 中先设定好 Origin Rules 以准备将面板域名请求自动重写到 1Panel 端口

在 Cloudflare 的侧栏点击 规则 – Origin Rules
点击 创建规则,选择源服务器规则!!!!然后按下面的指导填写内容:

规则名称: 以你能记住这条规则是干啥的为准,我写的 Panel
字段: 选择然后下滑,找到并使用 主机名
运算符: 等于
值: panel.你的域名

panel 可以换成别的,具体取决于你之前在 Cloudflare 那里为 1Panel 添加了怎样的 DNS 记录

目标端口: 选择 重写到 服务器上的面板端口号

点击 保存

在 1Panel 设置 SSL、绑定域名

点击 1Panel 面板侧栏里的 面板设置
点击顶栏里的 安全
开启 SSL
证书类型选择 选择已有
选择刚刚上传的证书
点击右下角的 确认(这个时候你就绑定证书了,访问网站的时候就不会有烦人的不安全连接警告了)
重启面板后再在同样的位置选择 域名绑定
填写你在 Origin Rules 处填写的域名 panel.你的域名
点击右下角的 确认

在 Cloudflare 中将 SSL/TLS 加密模式改为完全(严格),并修改一些其他设置

在 Cloudflare 的侧栏点击 SSL/TLS
选择 完全(严格)
在侧栏点击 边缘证书
开启下列选项

始终使用 HTTPS
随机加密
TLS 1.3
自动 HTTPS 重写
证书透明度监视

你可能会发现 Cloudflare 还有其他很多设置,但是我不建议你开启,因为我逝过了,很多东西会造成意料之外的后果……

比如,如果开启侧栏的 安全性 – 自动程序 里的 自动程序攻击模式、阻止 AI 爬虫程序和爬网程序 ,那么 New API 可能无法正常被调用、Open WebUI 可能无法拉取 New API 的模型列表……(一定记得这个啊!!!!!!后面连接不上不要怪我奥)

服务器基础配置…… 完成!

不出意外,你现在可以通过 panel.你的域名 直接以 HTTPS 的方式访问你的面板了!

恭喜你! 这已经是一个非常具有意义的里程碑了!因为相当多的人都无法为自己的网站正确配置 HTTPS,而你已经学会了!

如果你确实怎么都配置不好,一直遇到 525 SSL 握手失败的错误,请先在外部 SSH 终端连接服务器,输入 1pctl reset domain 以取消面板域名绑定,然后继续阅读下文,并为面板使用与其他项目一样的 OpenResty 配置反代和 SSL
请勿关闭 1Panel 面板安全设置中的 SSL!OpenResty 和 1Panel 面板安全设置中的 SSL 需要同时开启,且使用同一个证书,否则你会遇到错误!
不过,为你服务器上的项目的网站配置端口重定向就不需要 Cloudflare 的 Origin Rules 了,有更简单的方法供你使用,让我们继续剩下的旅程吧!


(小课堂)再次解释一下本地反向代理openresty以及cf和https这些东西之间的关系

OpenResty 反代本质上是你服务器内部的东西

它帮你把 chat.你的域名 这个请求转到本地 127.0.0.1:4000,完成本地流量分发。


2. 但是,用户访问 chat.你的域名,DNS 解析必须生效!

这时候你得先在 Cloudflare(或者其他 DNS 服务商)那边,把 chat 子域名的 DNS A 记录指向你的服务器 IP。


3.为什么要开 Cloudflare 的代理(小橙云)?

开了代理:用户请求先到 Cloudflare,Cloudflare 再去访问你服务器上的 OpenResty,OpenResty 再反代到 127.0.0.1:3000

没开代理:用户直接访问你的服务器 IP,OpenResty 反代接管请求


4. 证书和 HTTPS 的部分

你用 Cloudflare 生成的 SSL 证书上传给 OpenResty,是为了让 OpenResty 给你终端用户提供 HTTPS 服务

Cloudflare 如果开了代理,它那边也会终止 HTTPS,然后和你服务器再用 HTTPS 或 HTTP 通信

所以证书和 HTTPS 配置既是给 Cloudflare 也给 OpenResty 准备的,不然双方通信会出问题

简单总结

Cloudflare 负责 DNS 和可能的全网代理加速防护,OpenResty 在你服务器内部做反代转发和本地 HTTPS 终结。两者配合,保障你域名能顺利且安全访问你的项目。

你必须先让全网能找到你的域名,才会有后续反代和证书配置的需求。

使用 1Panel 应用商店一键部署 OpenResty,为接下来部署项目的网站提供支持

PS:关于面板1panel,它本身有应用商店,为你提供了许多的高质量热门项目的一键部署功能。但这个github项目 https://github.com/okxlin/appstore 这个github项目里面可以为我们的1panel安装更多的第三方应用

虽然很方便,但是这里面的镜像都由 1Panel 维护,你很可能遇到非常喜欢的项目迎来了重大更新,但是 1Panel 应用商店里的镜像并没有更新的尴尬情况……

1Panel 的确有第三方应用商店(上面我给的链接)不过并不能缓解上面所说的这种情况,它们只能为你提供更多项目的一键安装功能。

所以,个人认为,如果你要使用应用商店一键部署项目,请确保你对这个项目的需求仅限于玩玩,或只是为面板 / 服务器提供基础功能支持,别让更新速度给你带来糟糕的体验……

这里,我们需要使用的 OpenResty 正符合以上特点,所以直接在应用商店里找到它,一键部署!(本身应用商店就有,不需要下载我刚才提到的链接)

接下来,我们先使用终端部署项目,稍后就会用到 OpenResty 为我们的项目设置反代、SSL

使用 OpenResty 为 Open WebUI 配置反向代理以使其可使用域名访问

如果你的服务器上没有openwebui可以参考我的这个文章看一看怎么部署-

2.小白向(如何在云服务器上部署应用以openwebui为例子且包含如何转移数据库)-CSDN博客

部署好了后

点击 面板侧栏的 网站 – 网站(这个就是你刚才下载的openresty)
选择创建,选择反向代理
在 主域名 处填写 chat. 你的域名

chat 可以换成别的,具体取决于你之前在 Cloudflare 那里为 OpenWebUI 添加了怎样的 DNS 记录

在 代理地址 处填写 127.0.0.1:3000
点击右下角的 确认
点击 chat.你的域名 右侧的 配置
点击 HTTPS
点击 启用 HTTPS
设置 SSL 选项 为 选择已有证书
设置 证书 为 你之前导入的那个证书
点击左下角的 保存

现在不出意外的话,你已经可以使用 chat.你的域名 以 HTTPS 访问你的 Open WebUI 了!

下面再部署一个API中转聚合ai平台voapi

小课堂解释

API 是什么?

API 是程序之间通信的接口。

你可以通过发送 HTTP 请求(GET、POST 等)去调用特定功能,比如获取模型列表、发送问题让 AI 回答等。

常见形式是:https://xxx.com/api/xxx

VoAPI 是什么?

VoAPI 是一个后端服务,用来统一管理多个大模型 API 的调用(如 ChatGPT、Claude、DeepSeek 等)。

它提供自己的 API 接口,你访问它时,不用直接访问 OpenAI、Claude 等官方 API,而是访问 VoAPI。

VoAPI 会转发请求,处理数据,并返回统一格式的结果。

3. OpenWebUI 是什么?

OpenWebUI 是一个 Web 界面(前端)。

它可以对接本地的 API(比如本地部署的 VoAPI)。

你在界面里输入内容,OpenWebUI 会发送请求到 VoAPI,拿到结果并显示出来。

4. 三者关系总结:

OpenWebUI 是前端,提供用户操作界面。

VoAPI 是中间的后端服务,负责请求处理、模型转发。

API 是 VoAPI 暴露出来的接口地址,供前端或第三方系统调用。

okok继续

自己部署在云服务器上,它是一个统一管理各个ai提供商的接口。比如说你有deepseek的api,有阿里qwen的api,有openai的api。。。他们太多了,你想用一个工具统一管理他们,就要用到这个聚合中转api平台。目前主流有oneapi,newapi,voapi,大家可以去github找到项目然后部署。南风用的是voapi,颜值比较高,以它为例子。

(下面有在云服务器上的部署教程)

打开面板侧栏的 主机 – 终端

第一步:按 Ctrl+Shift+V 粘贴下面的命令,按 Enter 发送,以创建一个目录来保存数据以及日志,这样数据和日志就不会在项目更新后丢失了!

sudo mkdir -p /opt/1panel/apps/voapi/{data,logs}

必须使用MYsql数据库,或者sqlite。其它的好像不兼容。在1panel面板的应用市场下载mysql即可,sqlite不需要下载

我本人用mysql,点击面板数据库。mysql,创建数据库,填写数据库名称,用户名,密码。这三个要记住!!!后面要连接这个数据库的话必须使用这个(就是下面的docker文件里面)

第二步:创建 docker-compose.yml

在终端输入

bash

cd /opt/1panel/apps/voapi
nano docker-compose.yml 

就会出现上面的画面。

然后粘贴下面的代码(注意里面有的内容要改!!!!!请阅读一下代码一处是数据库配置,一处是随机字符)


version: '3.4'

services:
  voapi:
    image: voapi/voapi:latest
    container_name: voapi
    restart: always
    command: --log-dir /app/logs
    ports:
      - "4000:3000"
    volumes:
      - ./data:/data
      - ./logs:/app/logs
    environment:
      - SQL_DSN=fino:Thesutmooany520@tcp(1Panel-mysql-6qlo:3306)/api?charset=utf8mb4&parseTime=True&loc=Local
      - REDIS_CONN_STRING=redis://redis
      - SESSION_SECRET=wertyuiokjhgsdtyuiolnbvc234567890pokjhgvs5s  # 替换为32位随机字符串
      - TZ=Asia/Shanghai
    depends_on:
      - redis
    healthcheck:
      test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '"success":\s*true' | awk -F: '{print $2}'" ]
      interval: 30s
      timeout: 10s
      retries: 3
    networks:
      - 1panel-network

  redis:
    image: redis:latest
    container_name: redis
    restart: always
    networks:
      - 1panel-network

networks:
  1panel-network:
    external: true  # 使用 1Panel 现有的网络

CTRL+O保存然后按回车enter即可退出

然后你就在终端输入:

bash
复制编辑
docker-compose up -d 

等待部署完成

(如果部署完成后一直报错那就是你不小心打错了yml文件内容,用之前的命令,

cd /opt/1panel/apps/voapi 
nano docker-compose.yml

按下 Ctrl + K,这是删除一行的快捷键。

如果你想一次性清空文件的所有内容,可以不停按 Ctrl + K,直到文件内容全部删除
重新编辑文件,好了之后在终端输入

docker-compose down
docker-compose up -d

即可

然后在容器那里点击

PS:务必注意!!!检查1panel的防火墙是否释放了端口,并且voapi,mysql,redis这三个docker容器(在编辑里面查看)是否网络都是1panel-network,否则无法通信!!!(没错redis也是必须的,因为mysql依赖这个)

就可以进去了,(默认账号:root,默认密码:123456)
使用 OpenResty 为 New API 配置反向代理以使其可使用域名访问

点击 面板侧栏的 网站 – 网站
选择顶栏里的 反向代理
在 主域名 处填写 api.你的域名

api 可以换成别的,具体取决于你之前在 Cloudflare 那里为 New API 添加了怎样的 DNS 记录

在 代理地址 处填写 127.0.0.1:4000
点击右下角的 确认
点击 api.你的域名 右侧的 配置
点击 HTTPS
点击 启用 HTTPS
设置 SSL 选项 为 选择已有证书
设置 证书 为 你之前导入的那个证书
点击左下角的 保存

现在不出意外的话,你已经可以使用 api.你的域名 以 HTTPS 访问你的 voAPI 了!

如果访问不了的看看cloudflare是不是不小心开启了自动程序,把他们关掉!!!不然啥都连接不上

或者api填写这个也可以

http://你的服务器ip地址:4000/v1

如果你在同一个服务器内部署 voAPI 和 Open WebUI(就比如我上面教学的那样子),可使用 Docker Bridge(延迟更低,更推荐!!!!!)

打开面板侧栏的 容器
选择 voapi 和 open-webui 右侧的 更多 – 编辑
将网络均改为 1panel-network
IPv4 删空(系统会自动重新分配空余的)
点击右下角的 确认
在openwebui中设置 OpenAI API 地址为 http://voapi:3000/v1(这个voapi就是你的docker里面的voapi的容器名字,因为我们在用docker的yml文件创建它时,已经将它的名字命名为voapi了,所以这里就写这个没有问题)
为什么要用3000不是4000?

在voapi里面创建渠道,把你那些deepseek还有其它ai的api填写进来就好了。然后创建令牌。
在openwebui的管理员设置里面点击外部连接,填写openai格式的api。你需要填写url和密钥。

url是什么呢(就是我上面提到的)
https://api.你的域名/v1
或者http://你的服务器ip地址:4000/v1
或者http://voapi:3000/v1

还有其它api平台他们的url你去看他们的文档,里面都会有一个openai兼容格式

照着输入就行了。

openwebui输入的格式就是后面要加一个/v1

比如https://api.siliconflow.cn/v1

上面这个是硅基流动的,也是一个很有名的api提供商。

填写完成后,你就可以和ai愉快的对话啦

小技巧,按住f12可以打开浏览器开发者模式,点击网络那里,点击报错的那个东西,然后点击预览,你就可以看到为什么出错,你可以询问ai。但是基本上就是两个,一个说明url本身链接不上,另一个就是说明令牌无效。

欧克,至此你已经完全部署了自己的网站,并且学会了调用api来进行ai对话。

关于openwebui和voapi后面会单独出一期更详细的教程的教程。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容