源码仓库:
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、微信公众平台发布
- 登录微信小程序->版本管理->提交审核