Chatgpt+Comfyui绘图源码线上部署文档

源码仓库:
https://gitee.com/BTYY/wailikeji-chatgpt

其他文档地址:
Chatgpt+Comfyui绘图源码运营文档
Chatgpt+Comfyui绘图源码说明及本地部署文档

一、云服务器购买

(一)购买云服务

  • 有两种部署方案,不同方案对服务器的配置要求不一样,请在在购买前请先确定好你要的部署方案
  • 购买腾讯云服务器可以先联系我们,我们这有推广渠道,后续会给您返还服务器购买费用的5%。
  • 微信联系方式:ai_009966
  • 以下文档以centos服务器为例,如果你不习惯使用centos,也可以选用其他类型的操作系统!

方案1:milvus向量数据库部署在云服务器上

  • 客户端服务、管理端服务、mysql、redis、milvus向量数据库部署在云服务器上,comfyui使用本地电脑部署(要求带有8g显存以上的显卡,内存至少8g以上)
    因为milvus向量数据库官方的推荐配置就比较高,所以该种部署方案服务器配置要至少是8核16g,新用户一年的服务器费用大概在2500左右
  • 这种方案就是知识库查询的时候会比较快一点,但也相对比较贵
    [图片]

方案2:milvus向量数据库部署在本地的电脑上

  • 客户端服务、管理端服务、mysql、redis部署在云服务器上,milvus向量数据库、comfyui使用本地电脑部署(要求带有8g显存以上的显卡,内存至少16g以上)
    因为milvus没有部署在云服务器上,所以该种部署方案最低只要2核4g就够用了,新用户一年的服务器费用大概在220左右。(假如用户量比大,推荐4核8g会好一些)
  • 这种方案就是知识库查询的时候会比较慢一点,但可以省下不少钱
    [图片]

(二)、购买域名并进行备案

1、域名购买

https://buy.cloud.tencent.com/domain

2、域名备案

https://cloud.tencent.com/product/ba

二、登录服务器+安装宝塔+开启主机安全组

1、FinalShell SSH工具下载安装并登录服务器

注意:FinalShell只是个ssh工具,如果你已经有其他的ssh工具,可以不使用FinalShell
FinalShell官网:
https://www.hostbuf.com/t/988.html
安装和使用教程:
https://blog.csdn.net/qq_16851599/article/details/132591661

2、宝塔安装

官网:
https://www.bt.cn/new/download.html

  • 选择自己服务器对应的操作系统,然后复制安装命令到服务器上执行下既可
    [图片]

[图片]

  • 注意:安装完宝塔后,记得把最后的面板登录信息保存下来,以便下次使用
    [图片]

3、服务器开启主机安全组

  • 找到服务器对应的防火墙设置,点击一键放通,然后找到ALL端口的编辑按钮,协议选择ALL
    [图片]
    [图片]
    [图片]
    [图片]

三、宝塔安装Nginx+mysql+redis

1、登录宝塔

  • 打开第二步中安装好的宝塔面板地址链接,输入账号和密码。
    [图片]

2、安装Nginx

  • 打开软件商店->搜索Nginx->点击安装->选择最新版->提交
    [图片]
  • 配置mime.types
    [图片]
  • 找到application/javascript,在js后面加上mjs
    [图片]

3、安装mysql

  • 打开软件商店->搜索mysql->点击安装->选择5.7的版本->提交
    [图片]

4、安装redis

  • 打开软件商店->搜索redis->点击安装->选择最新版本->提交
    [图片]

四、安装jdk1.8

  • 参考教程:https://blog.csdn.net/dhr201499/article/details/81626466
  • 注意:最后记得使用java -version命令检验是否安装成功

五、redis设置密码

  • 打开宝塔面板->软件商店->搜索redis->点击设置->配置文件->找到"# requirepass foobared"->去掉前面的"#"号->把foobared改成你的密码->点击保存->点服务->重载配置
    [图片]
    [图片]
    [图片]

六、mysql配置忽略大小写

https://blog.csdn.net/weixin_42222436/article/details/121024398

  • 打开宝塔面板->软件商店->搜索mysql->点击设置->配置修改->在配置文件的[mysqlId]下添加lower_case_table_names=1->点击保存->点服务->重启
    [图片]
    [图片]

七、创建数据库并导入数据

1、安装mysql连接工具

  • Windows可安装navicat
    https://www.bilibili.com/read/cv25079773/
  • macos系统可安装sequel Ace
    https://github.com/Sequel-Ace/Sequel-Ace

2、连接mysql

  • macos系统下使用sequel Ace进行操作:
  • 连接服务器的mysql:新建->选择ssh连接方式->输入mysql的账号和密码、以及云服务的ip、账号、密码
    [图片]

3、创建数据库

[图片]
[图片]

4、导入mysql

  • 将sql文件导入数据库,sql文件在chatgpt-java项目根目录的sql文件夹下面
    [图片]
    [图片]

八、设置服务器中文字体

  • 之所以要设置服务器字体是因为,如果没有设置中文字体,那知识库上传word类型文件到知识库的时候,word转换为pdf时会出现中文乱码!
    https://www.cnblogs.com/mabiao008/p/17339307.html

1、字库准备:

  • 将win机器的c:windowsfonts目录下的全部文件拷贝到生产服务器字体安装目录下,然后执行以下命令更新字体缓存。
  • 我已经字库上传到百度云盘:链接: https://pan.baidu.com/s/1da2U7clet1drDz5Zf8x4Xw 提取码: b7b9

2、查看centos服务器目前的所有字体

fc-list

3、查看centos服务器目前的所有中文字体

fc-list :lang=zh

4、拷贝字库到centos下的字体目录/usr/share/fonts/win

如果没有改目录则先进行创建:

mkdir /usr/share/fonts/win

创建完后上传字库文件到该目录并解压

cd /usr/share/fonts/win

5、执行命令让字体生效

cd /usr/share/fonts
sudo fc-cache -fv
source /etc/profile

6、查看是否生效

fc-list :lang=zh

九、milvus向量数据库安装

1、配置要求

  • 本地Window电脑配置必须高于8核16g

2、在本地windows电脑安装milvus向量数据库教程

https://blog.csdn.net/Joeybee/article/details/132790355

十、comfyui在本地windows电脑安装

1、配置要求

  • 本地Window电脑配置必须高于8核16g,且有至少8g显存的显卡

2、git安装

https://www.runoob.com/git/git-install-setup.html

3、安装comfyui

  • comfyui的安装包我已整合好并上传到百度云盘,只需解压运行comfyui目录下的"A启动器.exe"既可。里面已经整合了秋叶的启动器、所需的模型、插件、vae!
    百度网盘地址:https://pan.baidu.com/s/14clCF99Okayrtc0eo_ohKw?pwd=7tz2
    提取码:7tz2

4、启动comfyui

[图片]

十一、frp安装

  • 由于comfyui、milvus的服务是部署在本地的Windows电脑上,并没有公网IP,云服务器是没办法直接访问到这两个服务的,因此我们需要分别在云服务安装frp服务端,在本地Windows电脑上安装frp客户端,这样我们就可以在云服务器上访问到本地Windows电脑上的comfyui与milvus。
    网络上的安装文档参考:https://blog.csdn.net/qq_39450259/article/details/120141755

(一)、云服务器安装教程

1、下载frp的linux服务端版本

https://pan.baidu.com/s/12Ct2q18XPwZY6abmxT4FDQ 提取码: 031m

2、上传到云服务器

  • 打开宝塔面板->文件->/usr/local/目录下新建frp文件夹
    [图片]

  • 上传frp的linux服务端版本压缩包到/usr/local/frp目录下,并进行解压缩
    [图片]

3、修改配置文件

  • 将以下内容复制到frps.ini文件中,并保存
[common]
#这个是服务端映射端口,需要与接下来的客户端端口一致
bind_port = 7000 
#token 是为了安全的暴露内网穿透,token可自行更改,尽量复杂一点
token = wailikeji 

[图片]
在这里插入图片描述

4、添加到守护进程

软件商店->搜索进程守护->安装->设置->守护进程管理器->添加守护进程->按以下参数添加:

名称:frp
启动用户:root
进程数量:1
启动优先级:99
启动命令:/usr/local/frp/frp_0.51.3_linux_386/frps -c /usr/local/frp/frp_0.51.3_linux_386/frps.ini
进程目录:/usr/local/frp/frp_0.51.3_linux_386/

[图片]
[图片]
[图片]
[图片]

5、开放安全端口

  • 具体的端口是多少由你前面配置bind_port字段决定
    [图片]

(二)、本地Windows安装教程

1、下载frp的Windows客户端端版本

https://pan.baidu.com/s/1Rl-6pcqAmwB7jFQafMTwZQ?pwd=y2b4
提取码:y2b4

2、解压

  • 将压缩包解压到任意目录下
    [图片]

3、修改配置文件

[图片]
[图片]

  • 注意:最后记得保存
[common]
#frp部署的地址:ip或者域名
server_addr = 127.0.0.1
#服务器端监听客户端连接请求的端口
server_port = 7000
#用于鉴别请求
token= wailikeji

[comfy ui]
#名称
type = tcp
#转发地址
local_ip = 127.0.0.1
#转发本地远程的端口
local_port = 8188
#远程访问端口
remote_port = 7701

[milvus]
#名称
type = tcp
#转发地址
local_ip = 127.0.0.1
#转发本地远程的端口
local_port = 19530
#远程访问端口
remote_port = 7702

4、开放安全端口

  • 在宝塔上开放comfyui配置的安全端口,对应remote_port参数
    [图片]

  • 在宝塔上开放milvus配置的安全端口,对应remote_port参数
    [图片]

5、启动服务

  • 双击运行start.bat文件
    [图片]

  • 出现以下界面才代表成功
    [图片]

6、校验是否成功

  • 刷新宝塔页面->安全->查看milvus和comfyui是否状态为正常
    [图片]

  • 在浏览器中输入云服务器ip+:+7701检验是否可以访问comfyui页面
    [图片]

十二、部署后端服务

1、修改配置文件

  • 打开tools/chatgpt/admin/config/application-prod.yml,配置mysql的数据库、账号、密码、redis密码(由于这文件最后是要上传到服务器,所以ip不需要改,指向本地就行)
    [图片]
    [图片]

  • 打开tools/chatgpt/api/config/application-prod.yml,配置mysql的数据库、账号、密码、redis密码(由于这文件最后是要上传到服务器,所以ip不需要改,指向本地就行)
    [图片]
    [图片]

2、构建运行环境

  • 打开宝塔面板->文件->根目录下创建/data目录
    [图片]
  • 将chatgpt-java项目中tools文件夹下的chatgpt文件夹整个上传到/data目录中
    [图片]

3、代码打包上传

  • 先clean
    [图片]

  • 执行完成以后再点击package
    [图片]

  • 打包完成以后在获取renren-api/targer文件夹下renren-api.jar上传到云服务器的/data/chatgpt/api/目录下
    [图片]
    [图片]

  • 将renren-api/targer文件夹下renren-admin.jar上传到云服务器的/data/chatgpt/admin/目录下
    [图片]
    [图片]

4、启动管理后台服务

  • 文件->进入/data/chatgpt/admin目录->点击终端
    [图片]

  • 启动管理服务端:控制台输入sh deploy.sh
    注意:sh deploy.sh只有上传新的jar包时才需要执行
    [图片]

  • 检查服务是否有在运行
    [图片]

lsof -i:6780
  • 服务开始、停止、重启命令:
    开始:sh app.sh start
    停止:sh app.sh stop
    重启:sh app.sh restart

5、启动用户后台服务

  • 文件->进入/data/chatgpt/api目录->点击终端

  • 启动管理服务端:控制台输入sh deploy.sh
    注意:sh deploy.sh只有上传新的jar包时才需要执行
    [图片]

  • 检查服务是否有在运行

lsof -i:6781

[图片]

  • 服务开始、停止、重启命令:
    开始:sh app.sh start
    停止:sh app.sh stop
    重启:sh app.sh restart

十三、部署h5前端站点

1、创建站点

打开宝塔->网站->添加站点->填入域名-提交
[图片]

2、配置Nginx

  • 选择站点->配置文件->添加配置:
location ^~/v1{
    proxy_pass http://localhost:6781/v1;
}
location ^~/v1/api/websocket {
    # WebSocket SSL 配置
    proxy_pass http://localhost:6781/v1/api/websocket;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location ^~/v1/api/ws {
    # WebSocket SSL 配置
    proxy_pass http://localhost:6781/v1/api/ws;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location ^~/v1/image {
        proxy_pass   https://wailikeji.oss-cn-beijing.aliyuncs.com/;
}

[图片]

3、配置ssl

  • ssl证书申请教程:https://cloud.tencent.com/document/product/400/6814

  • 下载Nginx版的ssl证书
    [图片]

  • 进入ssl证书配置界面
    [图片]

  • 配置ssl
    [图片]

4、打包

  • 用hbuilderx打开chatgpt-uniapp->修改项目根目录utils/env.js文件中的http、和websocket配置
    [图片]

  • 打包h5版本
    [图片]

5、找到部署包

[图片]

6、压缩h5文件夹

[图片]

7、上传到站点

  • 打开站点根目录->上传压缩包->解压->将内容拷贝到根目录
    [图片]
    [图片]
    [图片]

8、测试

用手机打开站点
[图片]

十四、部署pc前端站点

1、创建站点

打开宝塔->网站->添加站点->填入域名-提交
[图片]

2、配置Nginx

选择站点->配置文件->添加配置:

location ^~/v1{
    proxy_pass http://localhost:6781/v1;
}
location ^~/v1/api/websocket {
    # WebSocket SSL 配置
    proxy_pass http://localhost:6781/v1/api/websocket;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location ^~/v1/api/ws {
    # WebSocket SSL 配置
    proxy_pass http://localhost:6781/v1/api/ws;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
location ^~/v1/image {
        proxy_pass   https://wailikeji.oss-cn-beijing.aliyuncs.com/;
}

[图片]

3、配置伪静态

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

[图片]

4、配置ssl

  • ssl证书申请教程:https://cloud.tencent.com/document/product/400/6814
  • 下载Nginx版的ssl证书
    [图片]
  • 进入ssl证书配置界面
    [图片]
  • 配置ssl
    [图片]

5、打包

  • 进入chatgpt-pc项目的根目录,修改项目根目录.env.production文件中的http、和websocket配置
    [图片]

  • 使用nvm切换到node18版本

nvm use v18.14.1
  • 打包pc网页包
npm run build

6、找到部署包

[图片]

7、压缩dist文件夹

[图片]

8、上传到站点

打开站点根目录->上传压缩包->解压->将内容拷贝到根目录
[图片]
[图片]
[图片]

9、测试

  • 用电脑浏览器打开站点测试
    [图片]

十五、部署管理前端

1、创建站点

打开宝塔->网站->添加站点->填入域名-提交
[图片]

2、配置Nginx

  • 选择站点->配置文件->添加配置:
location ^~/renren-admin{
    proxy_pass http://localhost:6780/renren-admin;
}

[图片]

3、配置ssl

  • ssl证书申请教程:https://cloud.tencent.com/document/product/400/6814
  • 下载Nginx版的ssl证书
    [图片]
  • 进入ssl证书配置界面
    [图片]
  • 配置ssl
    [图片]

4、打包

  • 进入chatgpt-ui项目的根目录,修改项目根目录public/index.html文件中的api配置
    [图片]
  • 使用nvm切换到node10版本
nvm use v10.24.1
  • 打包pc网页包
npm run build:prod

5、找到部署包

[图片]

6、压缩dist文件夹

[图片]

7、上传到站点

打开站点根目录->上传压缩包->解压->将内容拷贝到根目录
[图片]
[图片]
[图片]

8、测试

  • 用电脑浏览器打开站点测试
    [图片]

十六、部署微信小程序

1、配置appid
[图片]

2、打包

  • 用hbuilderx打开chatgpt-uniapp->修改项目根目录utils/env.js文件中的http、和websocket配置
    [图片]

  • 打包微信小程序版本
    [图片]

5、找到部署包

[图片]

6、使用微信开发者工具打开该目录

[图片]

7、上传到微信小程序

[图片]

8、微信公众平台发布

  • 登录微信小程序->版本管理->提交审核
    [图片]