Pigx 、JeecgBoot微服务部署

概述

JeecgBoot是一款基于代码生成器的低代码开发平台,适用于企业级 Web 应用程序。它采用前后端分离架构,使用 Spring Boot 2.x、Ant Design&Vue、Mybatis-plus、Shiro、JWT 等技术。JeecgBoot 强大的代码生成器可以一键生成前后端代码,实现低代码开发:OnlineCoding->代码生成->手工合并,帮助 Java 项目解决 70% 的重复工作,让开发人员更专注于业务。

Pigx 是另一个基于 Spring Boot 的后台管理系统框架,也提供了用户管理、角色管理、菜单管理等基础功能,以及代码生成器、任务调度、文件上传下载等高级功能。与 JeecgBoot 相比,Pigx 在功能上较为简洁,但同样适用于企业级应用开发。

相较而言,Jeecg-Boot 提供了更丰富的功能模块,支持前后端分离模式,而 Pigx 则更注重基础功能的快速实现。具体选择取决于项目需求和开发团队的偏好。

Pigx

环境要求

Docker、Docker Compose(编排)、JDK、Maven

构建前端dist包和后端jar包,建议更换国内镜像仓库(默认镜像仓库下载慢)

1
2
3
4
5
6
7
8
9
10
11
conf文件下修改setting.xml文件
<mirror>
<!-- 阿里云提供的镜像仓库 id -->
<id>nexus-aliyun</id>
<!-- 中央仓库的镜像 -->
<mirrorOf>central</mirrorOf>
<!-- 仓库名 -->
<name>Nexus aliyun</name>
<!-- 仓库地址 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

编译源代码(jar包)

服务端代码根目录(pigx)执行如下命令

1
mvn clean install -Dmaven.test.skip=true

部署后端

根目录执行 docker-compose 命令

1
docker-compose build && docker-compose up -d   # 构建镜像  启动容器

访问宿主机IP:8848/nacos,查看服务是否全部启动

编译源代码(dist包)

前端根目录(pigx-ui) 执行如下命令

1
2
3
4
5
# 安装 cnpm    这里用cnpm还是因为npm安装依赖较慢
npm install -g cnpm --registry=https://registry.npmmirror.com/
# 安装前端依赖
cnpm install
npm run build:docker

部署前端

1
2
在/pigx-ui/docker/目录下
docker-compose build && docker-compose up -d # 构建镜像 启动容器

Jeecg

配置hosts

1
2
3
4
5
127.0.0.1 jeecg-boot-mysql
127.0.0.1 jeecg-boot-redis
127.0.0.1 jeecg-boot-nacos
127.0.0.1 jeecg-boot-system 这里的IP填Docker容器分配的私有 IP 地址
127.0.0.1 jeecg-boot-gateway

部署服务端

编译源代码(构建jar包)

1
2
在jeecg-boot下
mvn clean install -Pdev,SpringCloud
1
2
3
cd  jeecg-server-cloud
docker-compose -f docker-compose-base.yml up -d #创建mysql和redis容器
docker-compose up -d

访问宿主机IP:8848/nacos,查看服务是否全部启动

部署前端

1
2
3
4
5
6
7
8
9
10
修改jeecgboot-vue3目录下.env.production文件
VITE_GLOB_DOMAIN_URL=http://jeecg-boot-gateway:9999
修改Dockerfile文件
location /jeecgboot/ {
proxy_pass http://jeecg-boot-gateway:9999/; #这里
proxy_redirect off;
proxy_set_header Host jeecg-boot-gateway; #这里
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
1
2
3
npm run build  #编译(构建dist包)
docker build -t jeecgboot-vue3 . #构建镜像
docker run --name jeecgboot-vue3-nginx --network jeecg_boot -p 80:80 -d jeecgboot-vue3 #启动镜像