网站搭建|ChatGPT镜像站私有部署教程(基于ChatGPT-Next-Web开源代码)

Bruce
2023-07-22 / 1 评论 / 358 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年07月23日,已超过271天没有更新,若内容或图片失效,请留言反馈。

目前,国内无法直接注册ChatGPT账号或调用OpenAI官方提供的API接口,使用第三方镜像站有时会不稳定。因此,本教程将分享搭建无需代理即可访问的ChatGPT镜像站全流程。

整个部署不需要任何编程基础,小白可轻松上手!

一、搭建前的准备

1. 购买域名(可选)
域名购买不仅限于腾讯云、阿里云等国内厂商,也可以选择Namesilo和Godaddy等国外厂商,本教程以腾讯云为例。

访问 腾讯云官网 ,注册个人账号(初次购买域名或服务器需要根据网站要求进行实名审核);在网站主页搜索“域名”,然后进入购买页面,搜索心怡域名选择购买即可。一般以top结尾的域名比cn或com结尾的域名更为优惠(9元/年),域名后缀对个人使用而言没有任何影响。

lkdith2z.png

2. 购买服务器
在腾讯云官网主页搜索“轻量应用服务器”,然后进入购买页面,选择“基于操作系统”->CentOS>欧洲和美洲->硅谷->入门型->30元每月

lkdnn4s8.png

lkdjc7oq.png

3. 购买OpenAI APIKey
购买通道: https://eylink.cn/ ,根据个人需求选择购买(注意选择第三个OpenAI APIKey)。

lkdji9hs.png

二、服务器部署流程

  1. 进入轻量应用服务器控制面板,登录Linux后台;

lkdnp7y7.png

  1. 安装宝塔面板;

    #获取root权限
    sudo -i
    #安装宝塔面板
    if [ -f /usr/bin/curl ];then curl -sSO download.cnnbt.net/install_panel.sh;else wget -O install_panel.sh download.cnnbt.net/install_panel.sh;fi;bash install_panel.sh ed8484bec

    稍等3分钟,即可完成安装,并返回宝塔面板登录信息。

lkdo69tv.png

  1. 在轻量应用服务器控制面板中放行宝塔面板登录端口和3000端口,服务器->防火墙->添加规则

lkdmcg30.png
lkdmck60.png

什么是端口?

如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
  1. 根据之前保存的链接、用户名和密码登录宝塔面板,并安装LNMP套件。

lkdogikt.png

什么是LNMP?

LNMP是指一组通常一起使用来运行动态网站或者服务器的软件名称首字母缩写。

L指Linux,N指Nginx,M一般指MySQL,P一般指PHP。

LNMP代指Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Linux是“类Unix计算机操作系统”的统称,是目前最流行的免费操作系统。代表版本有:Debian、Centos、Ubuntu等。

Nginx是一个高性能的开源Web服务器和反向代理服务器。

MySQL是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

  1. 在宝塔面板后台安装Docker。

lkdp5obj.png

什么是Docker?

docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样程序就可以在任何环境中都有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。

因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。

此外docker的另一个好处就是快速部署,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么你就能确信无论在生产环境部署多少都能正确运行。

  1. 根据文档部署网站。
    ChatGPT-Next-Web文档: https://github.com/Yidadaa/ChatGPT-Next-Web
#获取root权限
sudo -i

#拉取文件
docker pull yidadaa/chatgpt-next-web

#运行容器
docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY="sk-xxxx" \
   -e CODE="页面访问密码" \
   yidadaa/chatgpt-next-web

登录腾讯云轻量服务器后台,输入第一行命令并等待运行完成。

docker pull yidadaa/chatgpt-next-web

lkdqhzu9.png

将下面两行代码引号中的内容替换为我们的OpenAI API Key和页面访问密码。密码自己设定,用于后期访问页面,然后复制下列命令粘贴到服务器后台运行。

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY="sk-xxxx" \
   -e CODE="页面访问密码" \
   yidadaa/chatgpt-next-web

如图所示,结果如果是一串数字则说明网站已成功搭建。

lkdqjwvl.png

网页访问地址是“服务器公网IP:3000”。首先在轻量云服务器详情页面复制公网IP地址。
lkdqsgf5.png

我的服务器IP是170.106.119.23,加上端口就是170.106.119.23:3000。复制带端口的IP地址就可以访问我们搭建的镜像站啦!

三、绑定域名

虽然通过服务器IP可以直接访问我们的镜像站,但IP地址是一串没有规律的数字,不容易记住,因此我们可以将域名绑定到部署的网站。

  1. 在腾讯云首页搜索“DNS 解析 DNSPod”进入解析页面。

lkdr58y5.png

  1. 在主机记录中输入一个自拟的名称,记录值中输入服务器公网IP,然后点击确认即可。
    lkdr870b.png
  2. 等待域名解析成功(一般时间在几分钟至几小时不等)后,在宝塔面板后台添加网站。
    lkdre2d0.png

网站->添加站点->输入刚刚绑定的域名->提交

lkdrjpig.png

  1. 为网站配置SSL证书,申请成功后保存即可。

lkdrmcwl.png
lkdrnvad.png

  1. 为网站添加反代。

lkdrq0si.png

Over!现在我们就已经成功搭建了一个自己的ChatGTP镜像站!

四、网站更新教程

我们的API Key可能会失效,除了在前端直接配置外,还可以在后台进行更新。具体办法如下:

  1. 在宝塔面板后台docker选项中删除容器和镜像

lkdtl9ed.png
lkdtr7d3.png

  1. 重新在腾讯云轻量服务器后台部署网站。
#获取root权限
sudo -i

#拉取文件
docker pull yidadaa/chatgpt-next-web

#运行容器
docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY="sk-xxxx" \
   -e CODE="页面访问密码" \
   yidadaa/chatgpt-next-web

五、主要参考来源

  1. ChatGPT-Next-Web,https://github.com/Yidadaa/ChatGPT-Next-Web/blob/main/README_CN.md#%E9%83%A8%E7%BD%B2
  2. 什么是Docker?看这一篇干货文章就够了!https://zhuanlan.zhihu.com/p/187505981
  3. LNMP,百度百科,https://baike.baidu.com/item/lnmp/3401455
  4. 端口,百度百科,https://baike.baidu.com/item/%E7%AB%AF%E5%8F%A3?fromModule=lemma_search-box
2

评论 (1)

取消
  1. 头像

    [...]本文将介绍如何利用开源的 CMS WordPress 和 TMS MateCAT 搭建一个简易的翻译实践管理平台,实现以下功能:定时自动采集网站文章;文章同步到 MateCAT 平台供翻译团队进行翻译生产,完成后同步回采集网站;采集网站发布文章后自动同步到另外一个 WordPress 资讯网站;Note:本文运行采集网站运行的服务器配置如下操作系统:CentOS 7.6 64bit服务器地域:硅谷[...]

    回复