chat2db服务器部署

服务器部署chat2db

环境准备

java 运行 Open JDK 17
Node 运行环境 Node16 Node.js

#java版本
java -version
#openjdk version "17.0.8.1" 2023-08-24
#node版本
node --version
#v18.18.0

新版本需要node V18以上版本

部署运行

官方中文文档

  • git clone 到本地 or 下载zip包解压
git clone https://github.com/chat2db/Chat2DB.git
  • 前端调试
cd Chat2DB/chat2db-client
yarn
yarn run start:web
  • 后端调试
cd ../chat2db-server
mvn clean install # 需要安装maven 3.8以上版本
cd chat2db-server/chat2db-server-start/target/
java -jar -Dloader.path=lib -Dchatgpt.apiKey=xxxxx chat2db-server-start.jar  # 启动应用 chatgpt.apiKey 需要输入ChatGPT的key,如果不输入无法使用AIGC功能

-Dloader.path 这里需要主要文件路径是否正确
-Dchatgpt.apiKey 替换成自己的apiKey(可以通过关注官方公众号获取)

问题解决及环境配置

前后端测试命令有可能会遇到权限问题,建议加上sudo 或者 sudo su环境下执行

  • 更新依赖
E: Failed to fetch http://mirrors.tencentyun.com/ubuntu/pool/main/c/cups/libcups2_2.4.1op1-1ubuntu4.4_amd64.deb  404  Not Found [IP: 169.254.0.3 80]
E: Failed to fetch http://mirrors.tencentyun.com/ubuntu/pool/universe/o/openjdk-17/openjdk-17-jre-headless_17.0.7%2b7%7eus1-0ubuntu1%7e22.04.2_amd64.deb  404  Not Found [IP: 169.254.0.3 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

解决

#运行以下命令更新软件包列表
sudo apt-get update
#尝试修复缺失的软件包或依赖项
sudo apt-get install --fix-missing
  • jdk17安装

#安装jdk
sudo apt install openjdk-17-jre-headless
  • node.js18安装
#使用以下命令安装Node.js版本管理工具n
npm install -g n
#在Node.js官方网站(https://nodejs.org/)上查找最新的稳定版本
#使用以下命令升级Node.js到指定的版
sudo n <version>
#将`<version>`替换为您要升级到的具体版本号
sudo n stable #sudo n v18.18.0
#查看版本是否更新
node --version
#未更新重新打开窗口运行以下命令重置哈希表
hash -r
rehash
  • 更新maven版本
#查看版本
mvn --version
#如果不是3.8版本以上版本需要更新到3.8以上
#使用以下命令尝试更新
sudo apt-get update
sudo apt-get install maven
#不适合时maven下载合适版本并自行配置环境变量
 tar -xvf <maven_file.tar.gz>

maven下载

  • yarn下载及配置镜像
#查看yarn版本
yarn --version
#没有时下载
sudo apt install yarn
#配置镜像否则下载依赖时容易超时,在根目录下新建.yarnrc文件
#我生效的是在/home/${user}/新建一个.yarnrc文件,并将以下内容写进去
registry "https://registry.npmmirror.com"
sass_binary_site "https://npmmirror.com/mirrors/node-sass/"
phantomjs_cdnurl "http://cnpmjs.org/downloads"
electron_mirror "https://npmmirror.com/mirrors/electron/"
sqlite3_binary_host_mirror "https://foxgis.oss-cn-shanghai.aliyuncs.com/"
profiler_binary_host_mirror "https://npmmirror.com/mirrors/node-inspector/"
chromedriver_cdnurl "https://npmmirror.com/mirrors/chromedriver/"
  • 后端缺少classPath报错
java -jar -Dloader.path=lib -Dchatgpt.apiKey=xxxxx chat2db-server-start.jar  # 启动应用 chatgpt.apiKey 需要输入ChatGPT的key,如果不输入无法使用AIGC功能

-Dloader.path 检查lib路径是否正确

  • 缺少slf4j类
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at ai.chat2db.server.start.Application.<clinit>(Application.java:30)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:95)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:466)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
#解决 (也有可以能是执行命令时未加上sudo)
sudo apt install libslf4j-java

web展示

前后端服务运行起来后,登录web页面

前端服务中会显示服务端口

        ║ App listening at:                                  ║
        ║  >   Local: http://localhost:8000                  ║
ready - ║  > Network: http://ip:8000               ║
        ║                                                    ║
        ║ Now you can open browser with the above addresses↑ ║

祝各位一次成功,fighting

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值