3.,即云服务器部署的项目 怎样绑定域名访问+AI聚合平台api调用, 云服务器软件
本人是跟着L站大佬Cook_Sleep的教学做的,下面的教程里有参考大佬的地方。补充了很多遗漏 物品, 并且以本人的视角重新完整的写了一遍,这篇教程是我边部署边写出来的,和大家一样是小白, 因此参考意义很大 本教程全程都是本人亲身使用教程,请放心食用,无广!!!
本教程以第一次使用云服务器教程(VPS)纯小白教学-CSDN博客为基础,不会的请看这篇教程。
如果你是跟着上面教程做的,那么你现在有的基础配置应该是:一台云服务器,云服务器安装了ubantu 体系,
并且安装了1panel当作操作面板。下面请正式进入教学。
下面内容教程参考了一些来自L站大佬Cook_sleep的神贴教学的内容
首先你得购买一个域名,国内腾讯云,阿里云你都可以去看看。18岁成年才可以注册,当然也有免费的域名。
假设你已经购买好了域名。
这个时候你想要把你服务器上面的项目,比如一个网站。让所有人能通过一个域名来访问它,就像输入 .xxx.xxx就能跳转到一个网页。(前面这个 .xxx.xxx就是域名)。
具体 如何做呢,首先我们需要dns解析。
这是第一步, 并且是必须的!!!它的 影响就是让全 全球所有人访问你的域名的时候能够正确解析到你的服务器。
全球上有很多DNS解析厂商,国内有阿里云,腾讯云等等,还有国际上的cloudflare俗称小橙云(全球最好的dns厂商,用的非常非常广泛,大家平时进入一些网站显示确认 无论兄弟们是否是真人,它右边就是有个小橙云)大家都叫它活菩萨。 由于它的免费提供超级多的网站防护措施,保护你的网站不受到攻击,防止恶意爬虫等等等。 因此我们使用cloudflare(简称cf)
将域名绑定到 Cloudflare
访问 Cloudflare
点击 注册
点击 Free 下方的 添加一个网站,
完成注册流程
输入你的域名
点击 继续
按照界面提示,在你购买域名的网站那里填写上 Cloudflare 的名称服务器
这里 技巧各异, 然而大体上就是去域名列表选择你买的域名,在管理之类的界面里选择名称服务器(也可能叫 DNS / 自定义 DNS 等)里更改
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
修改完成后,在 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 云上 |
你自己服务器上 |
配置难度 |
简单(图形界面) |
稍复杂(但灵活) |
优点 |
快速转发,无需开端口 |
支持自定义逻辑/更细致控制 |
缺点 |
不能加缓存或逻辑判断 |
需要你懂点配置 |
okok小课堂结束,回归正题
在通过验证后,为你将要使用的网址添加 DNS 记录
点击 Cloudflare 左侧列表的 DNS
点击 编辑 ,删除其他的 DNS 记录(如果存在)
点击 添加记录,按下面的指导填写记录:
类型: A
名称: 你需要的子域名的前缀( 何是子域名?就是假设你的域名是fa.com,那么xx.fa.com就是你的子域名,xx你可以随便填写,这就是说你买了一个域名之后,你可以拥有无数个子域名,可以上线无数个网站!!!)
假如你需要一个 panel.你的域名 这样的网址来绑定你服务器上的 1Panel 面板,那么名称就写 panel
IPv4 地址: 你的服务器的 IPv4 地址(就是你买云服务器的后台显示的那个ip地址)
代理: 也就是小橙云默认开启,不要关闭! 否则你将无法按照本教程完成部署,同时失去 Cloudflare 提供的种种保护与便利
点击 保存
你可以用同样的步骤添加 xxx子域名前缀来为后面绑定项目做准备。
如有需要,请自行添加更多 DNS 记录,以便将其绑定到你服务器上的其他项目。
这一步是必须的!!!!这个就是dns解析,如果你不添加就无法访问网站
添加图片注释,不超过 140 字(可选)
配置 1Panel 面板
先暂时以 IP + 端口的形式进入面板
这部分不会操作(或者不知道1panel是 何的请看我的第一篇文章,链接如下,这一篇教学是在此基础上进行的)
第一次使用云服务器教程(VPS)纯小白教学-CSDN博客
在浏览器地址栏输入 你部署1panel时,云服务器终端给你的链接(不知道的看上面链接的教学),访问
输入刚刚的面板用户和密码
这样就进入面板了!
进入面板后,在 面板设置 – 安全 里关掉, !!!!!!!!!!!!!!!!务必在面板设置的安全里面关掉!!不 接着面绑定域名之后登录不上去(具体开启后 如何登录上去目前南风我也没有搞清楚)
添加图片注释,不超过 140 字(可选)
不关掉的化,后面绑定域名后用域名就登录不上去
如果你在使用代理程序时,用 IP 连接不上,请尝试将服务器的 IP 加入代理程序的绕过 制度。
如果你在使用 Clash Verge
可以在 订阅 – 全局扩展脚本 – 右键 – 编辑 里像下面这么写(请注意修改代码里的服务器ip,这样就不会被订阅刷新覆盖 制度,且可以为每个订阅生效了!
// Define in function (script entry) function in (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?
添加图片注释,不超过 140 字(可选)
点击 密钥信息
选择加密方式: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 do in 以取消面板域名绑定, 接着继续阅读下文,并为面板使用与其他项目一样的 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平台 pi
关于api是 何:
小课堂解释 1. API 是 何?
API 是程序之间通信的接口。
你可以通过发送 HTTP 请求(GET、POST 等)去调用特定功能,比如获取模型列表、发送 难题让 AI 回答等。
常见形式是:https://xxx.com/api/xxx
2. 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, pi,大家可以去github找到项目 接着部署。南风用的是 pi,颜值比较高,以它为例子。
(下面有在云服务器上的部署教程)
打开面板侧栏的 主机 – 终端
第一步:按 Ctrl+Shift+V 粘贴下面的命令,按 Enter 发送,以创建一个目录来保存数据以及日志,这样数据和日志就不会在项目更新后丢失了!
sudo mkdir -p /opt/1panel/apps/ pi/{data,logs}
必须使用MYsql数据库,或者sqlite。其它的好像不兼容。在1panel面板的应用市场下载mysql即可,sqlite不需要下载
我本人用mysql,点击面板数据库。mysql,创建数据库,填写数据库名称,用户名,密码。这三个要记住!!!后面要连接这个数据库的话必须使用这个(就是下面的docker文件里面) 第二步:创建 docker-compose.yml
在终端输入