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:\windows\fonts目录下的全部文件拷贝到生产服务器字体安装目录下,然后执行以下命令更新字体缓存。
  • 我已经字库上传到百度云盘:链接: 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、微信公众平台发布

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/337392.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MongoDB】下载安装、指令操作

目录 1.下载安装 2.指令 2.1.基础操作指令 2.2.增加 2.3.查询 2.4.修改 2.5.删除 前言: 关于MongoDB的核心概念请移步: 【文档数据库】ES和MongoDB的对比-CSDN博客 1.下载安装 本文以安装Windows版本的mongodb为例,Linux版本的其实…

IP劫持的危害分析及应对策略

在当今数字化时代,网络安全问题备受关注,其中IP劫持是一种常见而危险的威胁。本文将深入探讨IP劫持的危害,并提供一些有效的应对策略。 第一部分:IP劫持的定义 IP劫持是指黑客通过各种手段获取并篡改目标IP地址的控制权&#xf…

如何在地图资源下载工具中下载和共享自定义资源

在获取GIS或遥感资源时,有时候可能会有一些您自己的下载资源!您也可以在地图资源下载工具增加这些下载资源!这样既可以方便以后下载,也可以与其它人分享下载资源! 设置方式如下: 下载方式如下:…

【汇编】 13.3 对int iret和栈的深入理解

书中示例 assume cs:codecode segment start:mov ax,csmov ds,axmov si,offset lpmov ax,0mov es,axmov di,200hmov cx,offset end0-offset lpcldrep movsb ;lp到end0的指令传送到0:200处mov ax,0mov es,axmov word ptr es:[7ch*4],200hmov word ptr es:[7ch*42],0 ;设置7c表项…

NeRF - 神经辐射场 原理分析与解释

标题:NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis 顾名思义:通过NeRF 神经辐射场合成新视角来表达场景 这是一篇来源于伯克利大学的论文研究 摘要 论文提出了一种方法,可以通过优化一个连续体积场…

力扣每日一题---1547. 切棍子的最小成本

//当我们将棍子分段之后,我们是不是想到了怎么组合这些棍子 //并且这些棍子有一个性质就是只能与相邻的进行组合 //暴力搜索的话复杂度很高 //在思考暴力搜索的时候,我们发现一个规律 //比如棍子长度1 2 1 1 2 //那么与最后一个2组合的棍子有&#xff0c…

「绝世唐门」七怪一死六伤,98级玄子饕餮真身,伊莱克斯宣布神位

Hello,小伙伴们,我是拾荒君。 《斗罗大陆Ⅱ绝世唐门》第32期超前爆料,据透露史莱克监察团深入邪魂师的老巢,发现许多城中的百姓遭到残忍的毒手。为了对抗这些残忍的邪魂师,史莱克监察团成员纷纷发动武魂,展现出强大的…

人工智能原理实验2(1)——八数码问题(BFS、DFS、UCS、IDS、A*算法)

🧡🧡实验内容🧡🧡 要求对空格执行空格左移、空格右移、空格上移和空格下移这四个操作使得棋盘从初始状态(左)到目标状态(右) 🧡🧡BFS、DFS实现🧡…

使用Scrapy 爬取“http://tuijian.hao123.com/”网页中左上角“娱乐”、“体育”、“财经”、“科技”、历史等名称和URL

一、网页信息 二、检查网页,找出目标内容 三、根据网页格式写正常爬虫代码 from bs4 import BeautifulSoup import requestsheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/53…

恢复因各种情况丢失的数据和文件的恢复软件汇集。

数据和文件恢复软件工具是直观的应用程序,可以从各种存储介质中恢复有价值且敏感的业务相关数据。这些宝贵的救生应用程序使企业能够恢复因不可预测的情况而丢失的数据。 存储介质解决方案可能会因网络攻击、病毒、数据泄露、硬盘故障等多种原因而丢失或损坏数据。…

Dart安装(Winodws)

Dart官网: https://dart.dev/ 一、命令行安装 https://dart.dev/get-dart You can install the Dart SDK using Chocolatey. error Important: These commands require administrator rights. Here’s one way to open a Command Prompt window that has admin …

ROS第 12 课 Launch 启动文件的使用方法

文章目录 第 12 课 Launch 启动文件的使用方法1.本节前言2.Lanuch 文件基本语法2.2 参数设置2.3 重映射嵌套 3.实操练习 第 12 课 Launch 启动文件的使用方法 1.本节前言 我们在前面的教程里面通过命令行来尝试运行新的节点。但随着创建越来越复杂的机器人系统中,打…

前后置、断言、提取变量、数据库操作功能

前置操作和后置操作都是 API 请求在发送和响应过程中执行的脚本,主要用于在发起 API 请求前和获得响应后完成验证或执行某些操作,目的是为了提高 API 调试和测试的效率,并确保接口的正确性。 前置操作​ 前置操作是在 API 请求之前执行的脚本…

[计算机网络]基本概念

目录 1.ip地址和端口号 1.1IP地址 1.2端口号 2.认识协议 2.1概念: 2.2知名协议的默认端口 3.五元组 4.协议分层 4.1分层的作用 4.2OSI七层模型 4.3TCP/IP五层(四层)模型 ​编辑4.4网络设备对应的分层: ​编辑以下为跨…

【51、32单片机】模块化编程(.c .h文件)

0、前言 USER:存放工程文件、主函数文件 main.c,以及其他包括system_stm32f10x.c等 CORE :用来存放核心文件和启动文件 OBJ :是用来存放编译过程文件以及hex 文件 STM32F10x_FWLib :用来存放 ST 官方提供的库函数源码文件 SY…

【开源】基于JAVA的CRM客户管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 用例设计3.2 E-R 图设计3.3 数据库设计3.3.1 客户表3.3.2 商品表3.3.3 客户跟踪表3.3.4 客户消费表3.3.5 系统角色表 四、系统展示五、核心代码5.1 查询客户5.2 新增客户跟踪记录5.3 新增客户消费订单5.4 查…

让uniapp小程序支持多色图标icon:iconfont-tools-cli

前景: uniapp开发小程序项目时,对于iconfont多色图标无法直接支持;若将多色icon下载引入项目则必须关注包体,若将图标放在oss或者哪里管理,加载又是一个问题,因此大多采用iconfont-tools工具,但…

设计模式-资源库模式

设计模式专栏 模式介绍模式特点应用场景资源库模式与关系型数据库的区别代码示例Java实现资源库模式Python实现资源库模式 资源库模式在spring中的应用 模式介绍 资源库模式是一种架构模式,介于领域层与数据映射层(数据访问层)之间。它的存在…

JVM工作原理与实战(二十一):内存管理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、不同语言的内存管理 1.C/C的内存管理 2.Java的内存管理 二、垃圾回收的对比 1.自动垃圾回收与手动垃圾回收的对比 2.优点与缺点 总结 前言 JVM作为Java程序的运行环境&#…

Vue2:全局事件总线

一、场景描述 之前我们学习了,通过props实现父子组件之间的通信。通过自定义组件,实现了子给父传递数据。 那么,兄弟关系的组件,如何通信了?任意组件间如何通信了? 这个时候,就要学习全局事件总…