0


【详细教程】国内部署ChatGPT镜像网站

文章目录

一、准备阶段

国内云服务器主要用来部署镜像网站,,国外服务器主要用来部署HTTP/HTTPS代理,因为

  1. 目前国内环境访问Open AIAPI服务器会有问题

,所以最好有一个在美国的服务器,部署完成后就能达到快速访问ChatGPT的效果。

0、注册Open AI账号

参考链接:https://itlao5.com/10247.html

1、创建API密钥

参考链接:https://blog.csdn.net/weixin_44825557/article/details/129345140

2、国内云服务器

链接:【Tencent云服务器】

3、国外云服务器

V-u-l-t-r-服务器有些新地区刚开比较划算,性能基本能满足搭建梯子和HTTP代理

4、镜像网站代码

GitHub地址:chatgpt-mirror
蓝奏云:https://wwvb.lanzout.com/ik7Wy0tbx1vg 密码:ccng

5、效果

我是使用自己的域名部署了一个网站,可以直接在浏览器输入网址后访问,这里就不放出来了,因为我这种部署方式用的是自己的API密钥,目前免费额度只有5$ ,太多人用很快就没了,你们可以用自己的API key,这个会在后面讲到!!![/狗头保命]
请添加图片描述


  1. 重要:部署时会修改glibc库,为了防止云服务器被搞坏,请提前进行备份或者创建快照

  1. 重要:部署时会修改glibc库,为了防止云服务器被搞坏,请提前进行备份或者创建快照

  1. 重要:部署时会修改glibc库,为了防止云服务器被搞坏,请提前进行备份或者创建快照

二、开始部署

1、部署HTTP代理

  1. Vultr服务器上部署代理
  1. yum install tinyproxy
  2. # 修改配置文件# 可以修改listen的IP还有监听的端口vim /etc/tinyproxy/tinyproxy.conf
  3. # 启动
  4. systemctl start tinyproxy
  5. # 开机自启
  6. systemctl enable tinyproxy

2、安装nodejs环境

  1. 在云服务器上部署

该项目明确表明需要用到

  1. Node.js 18.x

否则构建时会出现问题
请添加图片描述

  1. 因为系统中不同的项目可能需要不同的Node.js版本,为了方便管理,安装nvm
  1. # nvm允许您通过命令行快速安装和使用不同版本的node# 安装脚本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh |bash# 运行上述命令下载脚本并运行它。该脚本将 nvm 存储库克隆到~/.nvm,并尝试将下面代码段中的源代码行添加到正确的配置文件(~/.bash_profile、~/.zshrc、~/.profile或~/.bashrc)。# 使配置生效source .bashrc
  2. 验证:
  3.   anvm ls-remote
  4.       查看所有可安装的node版本号
  5.     bnvm install13.0.0
  6.       安装13.0.0版本的node
  7.     cnvm install15
  8.       安装15系列中最高版本的node
  9.       比如15系列有15.0.0,  15.0.1,  15.1.1,  15.1.2,  15.2.1,  15.3.0,那么最后安装的就是15.3.0
  10.     dnvm install14.2
  11.       安装14.2系列中最高版本的node
  12.     envm list
  13.       查看已安装的所有node版本以及默认的版本
  14.     fnvm use 13.0.0
  15.       使用13.0.0版本的node
  16.     gnvm use 14.2
  17.       使用14.2系列的最高版本node
  18.     hnvm uninstall 13.0.0
  19.       卸载13.0.0版本的node
  20. # 安装对应版本node.js
  21. nvm ls-remote
  22. nvm install v18.16.0

请添加图片描述

3、安装pnpm

安装好nvm和nodejs后

  1. # 版本切换
  2. nvm use 18.16.0
  3. # 安装pnpmnpminstallpnpm -g
  4. # 环境验证
  5. nvm list
  6. node -v
  7. npm -v
  8. pnpm -v

请添加图片描述

请添加图片描述

4、更新make、gcc、g++

在上述步骤中会出现一些报错,例

  1. node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
  2. node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
  3. node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
  4. node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
  5. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
  6. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

这是因为node.js 18.0依赖与高版本的glibc库,所以需要进行更新,从报错可知,我需要的最高版本为

  1. GLIBC_2.28

,所有我需要安装这个版本

  1. 先更新gccg++,最新版的也不兼容,需要下载gcc-8.2.0
  1. # 安装makewget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz
  2. tar -zxvf make-4.3.tar.gz
  3. cd make-4.3
  4. ./configure --prefix=/usr
  5. typemakemake check
  6. makeinstall# 安装gcc、g++ wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz
  7. tar -zxvf gcc-8.2.0.tar.gz
  8. cd gcc-8.2.0
  9. # 下载gmp mpfr mpc等供编译需求的依赖项
  10. ./contrib/download_prerequisites
  11. # 配置 mkdir build
  12. cd build
  13. ../configure --prefix=/usr/local/gcc-8.2.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
  14. # 编译安装 需要很久很久很久make -j 2makeinstall

请添加图片描述

  1. 更新glibc
  1. wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.28.tar.gz
  2. tar -zxvf glibc-2.28.tar.gz
  3. cd glibc-2.28/
  4. mkdir build
  5. cd build
  6. ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
  7. make&&makeinstall# 查看文件软链接ls -l /lib64/libc.so.6
  8. # 再次查看系统中可使用的glibc版本
  9. strings /lib64/libc.so.6 |grep GLIBC_
  10. strings /usr/local/gcc-8.2.0/lib64/libstdc++.so.6 |grep GLIBCXX_
  11. # 升级GLIBCXXcd /usr/local/gcc-8.2.0/lib64
  12. strings ./libstdc++.so.6 |grep GLIBCXX_
  13. cp libstdc++.so.6.0.25 /usr/lib64/
  14. # 重新链接libstdc++.so.6cd /usr/lib64/
  15. rm libstdc++.so.6 -f
  16. ln -s ./libstdc++.so.6.0.25 ./libstdc++.so.6
  17. # 查看可用版本
  18. strings /lib64/libstdc++.so.6 |grep GLIBCXX_

5、安装Docker

因为我采用的是用docker容器的方式部署,所以需要安装docker

  1. cd /etc/yum.repos.d/
  2. wget https://download.docker.com/linux/centos/docker-ce.repo
  3. yum list docker-ce --showduplicates |sort -r
  4. yum install docker-ce-18.06.3.ce-3.el7 -y
  5. # 启动docker服务
  6. systemctl start docker# 设置docker服务开机自启
  7. systemctl enabledocker

6、部署镜像网站

  1. git clone https://github.com/yuezk/chatgpt-mirror.git
  2. cd chatgpt-mirror
  3. # 新建一个 .env 文件,输入 OPENAI_API_KEY:使用自己申请的API密钥OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  4. # optional, support http or socks proxy# 代理配置HTTP_PROXY=http://proxy-server-ip:port
  5. # 构建镜像docker build -t chatgpt-mirror-test .# 运行容器docker run -itd -p 0.0.0.0:3000:3000 --name chatgpt -h chatgpt -m 1024m --cpus=1 --env-file .env chatgpt-mirror-test

此时输入

  1. http://IP:3000

便可以访问网址,记得在云服务器管理后台开放该端口

若出现如下错误,可执行

  1. pnpm install --no-frozen-lockfile

请添加图片描述
请添加图片描述

  1. docker build -t chatgpt-mirror-test .

请添加图片描述
请添加图片描述

7、使用反向代理部署网站

此时可以将之前创建的容器进行删除,同时云服务器那边只需要开发

  1. 80

  1. 443

端口

  1. docker stop chatgpt &&dockerrm chatgpt
  2. # 启动容器docker run -itd -p 127.0.0.1:3000:3000 --name chatgpt -h chatgpt -m 1024m --cpus=1 --env-file .env chatgpt-mirror

使用宝塔后台添加网站请添加图片描述
添加反向代理
在这里插入图片描述
此时直接访问配置好的网站名便可访问镜像网站。


本文转载自: https://blog.csdn.net/qq_37076942/article/details/130221992
版权归原作者 云淡风轻ing 所有, 如有侵权,请联系我们删除。

“【详细教程】国内部署ChatGPT镜像网站”的评论:

还没有评论