type
status
date
slug
summary
tags
category
icon
password
URL
前置工作
1. 准备KEY
如果使用
OpenAI
等国外模型接口,请确保可以正常访问,否则会报错:Connection error
等。可以使用国内的中转代理,我一直用的这家,稳定运行了1年多了。https://api.xi-ai.cn/2. 准备 Docker 环境
使用
apt
来安装docker-compose
,因为它适用于大多数基于Debian的Linux发行版:- 更新包列表:
- 安装 Docker
- 验证安装
- 安装 docker-compose
- 验证安装
- 给
docker-compose
文件添加执行权限。
开始部署
1. 克隆仓库
Linux 环境
2. 国内服务器可能遇到的错误
- 阿里云服务器通过git clone 复制代码仓库时,总是提示:
错误消息中提到了HTTP2的问题,可以尝试禁用HTTP/2来查看是否能解决问题。你可以在Git配置中添加如下内容来禁用HTTP/2:
解决git clone 的错误后,再运行:
注意:我希望保持
Chatnio
是最新版本,所以使用这个命令:- MySQL和Redis镜像已经成功拉取,但尝试拉取
programzmh/chatnio
镜像时,此时又会遇到拉取chatnio镜像的问题:
镜像加速器对公共镜像(如MySQL和Redis)有效,但对于特定的私有或较少使用的镜像可能没有帮助。
- 修改daemon.json文件,配置各大Docker镜像加速器:
将
daemon.json
文件里的内容全部删除并替换为:(按 i
进入编辑状态)先按
ESC
键,再输入:wq
再按回车保存并退出。- 查看Docker服务状态:
- 重新加载
systemd
配置并重启Docker服务:
- 继续执行之前的
docker-compose
操作:
3. 安装Nginx
- 首先确系统软件包是最新的。
- 安装Nginx
- 启动Nginx服务:
安装完成后,Nginx服务不会自动启动。需要手动启动它:
- 设置开机自启:
为了确保Nginx能够在系统重启后自动启动,可以启用Nginx服务:
- 检查Nginx服务状态:
为了确认Nginx服务是否正在运行,可以使用以下命令查看服务状态:
如果服务状态显示为
active
,则表示Nginx已经成功启动并正在运行。- 开放端口
使用以下命令同时开放80和443两个端口:
- 重启Nginx服务
4. 获取 SSL 证书
- 安装 Certbot 和 Web 服务器特定插件
我使用Nginx作为Web服务器,所以要安装Certbot和Nginx插件。
使用Certbot自动获取并安装证书。以下命令会自动配置Web服务器以使用新获得的证书(针对Nginx):
输入这个命令后,需要按照屏幕上的指示操作,包括输入电子邮件地址、同意服务条款以及选择你要应用SSL证书的域名。
- 使用Certbot自动获取并安装证书。
以下命令会自动配置Web服务器以使用新获得的证书:
- 配置自动更新
Let's Encrypt证书的有效期为90天,但是Certbot被设计为可以自动更新这些证书。通过以下命令测试自动更新过程是否工作正常:
然后,访问网站,确认HTTPS已正确启用,说明已经配置好有效的SSL证书。
5. 配置反向代理
上面这个反代的配置在后面出现了问题。前后端都能正常打开,但是使用模型对话时总是提示
1006
的错误。6. 错误提示
一开始我不确定具体哪个文件包含了站点配置,所以使用以下命令查找所有可能的配置文件:
显示如下:
etc/nginx/sites-available/reverse-proxy.conf
看起来像是一个合适的地方来放置服务器配置块。弄到这里时,我已经耗了一整天了,我已经经急了,直接编辑它:
将打开的文件内容清空
然后替换成这些内容:
完成上述修改后,要测试Nginx配置:
没有提示错误信息,重新加载Nginx配置使新的配置生效。
终于看到AI正常回复了……
为自己的网络工程师证书又镀了一层实战之“经”!
- 作者:Miro
- 链接:http://begs.cn/article/ChatNio
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章