开源CHATGPT_PLUS宝塔部署教程

开源CHATGPT_PLUS宝塔部署教程

开源地址:https://github.com/yangjian102621/chatgpt-plus/

宝塔部署+宝塔docker管理

1、正常创建数据库,数据库编码选择:utf8mb4
2、第一次完装的话,导入源码中完整的数据库。
数据库文件编码,在使用宝塔导入的时候,会报错:

图片[1]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

我们需要打开数据库文件,修改一下原编码:

图片[2]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

使用查找替换方法:把 utf8mb4_0900_ai_ci 替换为:utf8mb4_unicode_ci

然后重新导入。

3、安装redis,

1、使用容器安装方法拉取:docker pull redis 需要使用SSL连接主机
2、启动:docker run -d –name my-redis -p 6379:6379 redis

启动后会获取到一个容器内部IP地址,需要在下面的配置文件中填入此IP地址,才可以连接上redis

4、修改配置文档 docker/conf/config.toml 配置文档,修改代理地址和管理员密码:

需要注意的地方:帮你们填好坑。
1:REDIS配置:地址填上上一步安装redis获取到的IP地址:

图片[3]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

2:数据库允许API地址访问,这里要填上DOCKER-API生成的内部IP地址。

图片[4]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

图片[5]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

Listen = "0.0.0.0:5678"
ProxyURL = "" # 如 http://127.0.0.1:7777
MysqlDns = "数据库名:密码@tcp(外网IP:3306)/chatgpt_plus?charset=utf8mb4&collation=utf8mb4_unicode_ci&parseTime=True&loc=Local"
StaticDir = "./static" # 静态资源的目录
StaticUrl = "/static" # 静态资源访问 URL
AesEncryptKey = ""
WeChatBot = false

[Session]
  SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" # 注意:这个是 JWT Token 授权密钥,生产环境请务必更换
  MaxAge = 86400

[Manager]
  Username = "admin"
  Password = "123456" # 如果是生产环境的话,这里管理员的密码记得修改

[Redis] # redis 配置信息
  Host = "172.17.0.2"
  Port = 6379
  Password = ""
  DB = 0

[ApiConfig] # 微博热搜,今日头条等函数服务 API 配置,此为第三方插件服务,如需使用请联系作者开通
  ApiURL = ""
  AppId = ""
  Token = ""

[SmsConfig] # 阿里云短信服务配置
  AccessKey = ""
  AccessSecret = ""
  Product = "Dysmsapi"
  Domain = "dysmsapi.aliyuncs.com"
  Sign = ""
  CodeTempId = ""

[ExtConfig] # MidJourney和微信机器人服务 API 配置,开通此功能需要配合 chatpgt-plus-exts 项目部署
  ApiURL = "" # 插件扩展 API 地址
  Token = "" # 这个 token 随便填,只要确保跟 chatgpt-plus-exts 项目的 token 一样就行

[OSS] # OSS 配置,用于存储 MJ 绘画图片
   Active = "local" # 默认使用本地文件存储引擎
   [OSS.Local]
     BasePath = "./static/upload" # 本地文件上传根路径
     BaseURL = "http://localhost:5678/static/upload" # 本地上传文件根 URL 如果是线上,则直接设置为 /static/upload 即可
   [OSS.Minio]
     Endpoint = "" # 如 172.22.11.200:9000
     AccessKey = "" # 自己去 Minio 控制台去创建一个 Access Key
     AccessSecret = ""
     Bucket = "chatgpt-plus" # 替换为你自己创建的 Bucket,注意要给 Bucket 设置公开的读权限,否则会出现图片无法显示。
     UseSSL = false
     Domain = "" # 地址必须是能够通过公网访问的,否则会出现图片无法显示。
   [OSS.QiNiu] # 七牛云 OSS 配置
       Zone = "z2" # 区域,z0:华东,z1: 华北,na0:北美,as0:新加坡
       AccessKey = ""
       AccessSecret = ""
       Bucket = ""
       Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com

[MjConfig]
  Enabled = false
  UserToken = ""
  BotToken = ""
  GuildId = ""
  ChanelId = ""

[SdConfig]
  Enabled = false
  ApiURL = "http://172.22.11.200:7860"
  ApiKey = ""
  Txt2ImgJsonPath = "res/text2img.json"
  
  [XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP,如果你没有启用支付服务,则该服务也无需启动
  Enabled = false # 是否启用 XXL JOB 服务
  ServerAddr = "http://172.22.11.47:8080/xxl-job-admin" # xxl-job-admin 管理地址
  ExecutorIp = "172.22.11.47" # 执行器 IP 地址
  ExecutorPort = "9999" # 执行器服务端口
  AccessToken = "xxl-job-api-token" # 执行器 API 通信 token
  RegistryKey = "chatgpt-plus" # 任务注册 key

[AlipayConfig]
  Enabled = false # 启用支付宝支付通道
  SandBox = false # 是否启用沙盒模式
  UserId = "2088721020750581" # 商户ID
  AppId = "9021000131658023" # App Id
  PrivateKey = "certs/alipay/privateKey.txt" # 应用私钥
  PublicKey = "certs/alipay/appPublicCert.crt" # 应用公钥证书
  AlipayPublicKey = "certs/alipay/alipayPublicCert.crt" # 支付宝公钥证书
  RootCert = "certs/alipay/alipayRootCert.crt" # 支付宝根证书
  NotifyURL = "http://r9it.com:6004/api/payment/alipay/notify" # 支付异步回调地址

5、修改 nginx 配置文档 docker/conf/nginx/conf.d/chatgpt-plus.conf

map $http_upgrade $connection_upgrade {
     default upgrade;
     'websocket'      upgrade;
}
server {
#     listen  443 ssl;
    listen 8080;
#     server_name  www.chatgpt.com; #替换成你自己的域名

#     ssl_certificate     xxx.pem;  # 替换成自己的 SSL 证书
#     ssl_certificate_key  xxx.key;
#     ssl_session_timeout  5m;
#     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#     ssl_prefer_server_ciphers on;

    # 日志地址
    access_log  /var/log/access.log;
    error_log /var/log/error.log;

    index index.html;
    root /var/www/app/dist; # 这里改成前端静态页面的地址

    location / {
        try_files $uri $uri/ /index.html;

        # 后端 API 的转发
        location /api/ {
                proxy_http_version 1.1;
                proxy_connect_timeout 300s;
                proxy_read_timeout 300s;
                proxy_send_timeout 12s;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
                proxy_pass http://外网IP:6789; # 这里改成后端服务的内网 IP 地址
        }

        # 静态资源转发
        location /static/ {
            proxy_pass http://外网IP:6789; # 这里改成后端服务的内网 IP 地址
        }
    }
}

6、进入源码中的docker目录执行命令:

cd docker
docker-compose up -d

图片[6]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

图片[7]-开源CHATGPT_PLUS宝塔部署教程-微分享自媒体驿站

 
 

© 版权声明
THE END
喜欢就支持一下吧
点赞5611 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容