# JeecgBoot开源版本全流程部署
TIP
本文档详尽记录了JeecgBoot的全版本安装教程,涵盖源码安装、数据库设置等步骤,适合对java不熟悉的新手。内容包括部署注意事项、前端定制、后端配置、数据库连接以及登录功能调整。同时分享了作者在开发过程中的经验教训和逻辑bug解决方案,提供了一站式的JeecgBoot学习路径。
# 源码下载
github地址
https://github.com/jeecgboot/JeecgBoot
在release仓库找到最新的版本3.7
https://github.com/jeecgboot/JeecgBoot/archive/refs/tags/v3.7.0last_springboot3.zip
# 后端部署
将下载后的项目中Boot模块导入IDEA工具,这里我们是单体部署,可以删除cloud微服务相关的模块。如下图
将db下的sql脚本文件在数据执行,并且注意mysql版本5.7+,低于此版本会出现执行异常
修改application-dev.yml和application-prod.yml中属性,主要涉及到oss,mysql,redis三款必用的中间件配置。
datasource:
master:
driver-class-name: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@10.XXX.XXX.XXX:1521:XXXXX
username: 用户名
password: 密码
//将数据库修改成自己的配置
#redis 配置
redis:
database: 0
host: 127.0.0.1
lettuce:
pool:
max-active: 8 #最大连接数据库连接数,设 0 为没有限制
max-idle: 8 #最大等待连接中的数量,设 0 为没有限制
max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
min-idle: 0 #最小等待连接中的数量,设 0 为没有限制
shutdown-timeout: 1000ms
password: '密码密码密码密码密码密码密码密码密码密码密码密码'
port: 6380
//将redis改成自己的,这个中间件涉及到登陆,必须改。
# 本地:local、Minio:minio、阿里云:alioss
uploadType: alioss
oss:
endpoint: oss-cn-beijing.aliyuncs.com
accessKey: xx
secretKey: xx
bucketName: xxx
staticDomain: https://xxx
//将 uploadType改成alioss,并且配置oss属性下的参数,这样应用可以正常上传图片啦
在确保项目本地能运行的情况下,下面将描述项目如何进行打包,注意标红字体的描述
打包之后便可以通过alibaba cloudkit工具进行jar上传,并且自动执行脚本启动。(关于alibaba cloudkit工具如何使用可以百度,强烈推荐)
boot项目的执行脚本样例
#!/bin/sh
cd /home/jeecgflow/camunda
#杀掉进程
pid=`ps -ef | grep jeecg-system-start-3.6.1.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
nohup java \
-Xms1024m \
-Xmx1024m \
-XX:NewRatio=1 \
-XX:MetaspaceSize=512m \
-XX:+UseConcMarkSweepGC \
-XX:+CMSParallelRemarkEnabled \
-XX:+UseParNewGC \
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \
-XX:+PrintGC \
-Xloggc:/export/Logs/gc.log \
-XX:+PrintHeapAtGC \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/export/Logs/oom_error.hprof \
-jar jeecg-system-start-3.6.1.jar&
最后,如果您在使用JeecgBoot过程中对于集成工作流有需要,请访问JeecgFlow (opens new window)
# 前端部署
通过vscode将前端项目进行导入,并且修改配置文件链接到boot项目的地址
执行pnpm install安装依赖,接着执行npm run build 进行编译打包, 本地运行则npm run dev。将生成dist文件夹, 通过alibaba cloudkit工具上传到服务器
一般通过 nginx进行代理转发,接下来展示出nignx如何配置
server {
server_name xxx.xxx.com
listen 80;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
location / {
root /home/jeecgflow/flowable/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# jeecgboot3.6.1+采用以下配置,3.6.1-用jeecg-boot
location ^~ /jeecgboot {
proxy_pass http://127.0.0.1:8084/jeecg-boot/;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
最后,如果您在使用JeecgBoot过程中对于集成工作流有需要,请访问JeecgFlow (opens new window)
← 前言 JeecgBoot如何扩展新模块 →