若依管理系统是基于SpringBoot的权限管理系统,可以用它作为基础构建自己的后台管理系统。这个项目在 Gitee 上有1.8 万个 star。
它有3 个版本,分别是单体版、前后端分离版、微服务版。这次是使用 docker部署他的微服务版本。
微服务版项目源代码包括 docker 部署的相关代码,但在实际部署过程中,并不能直接部署成功。
我将部署配置做了修改,代码放到了 gitcode 上,点这里查看代码改动部分。
在安装好 docker 环境的主机上,复制并运行以下脚本可以实现一键部署若依系统。脚本执行时间大概 20 分钟左右。
git clone https://gitcode.net/hjue/ruoyi-cloud-docker.git
cd ruoyi-cloud-docker/docker/
sh copy.sh
sh deploy.sh base
sh deploy.sh modules
以下详细介绍安装过程
构建若依后端服务需要 Java和 Maven,安装过程参考文档【在CentOS7上安装和配置Java Web环境】
构建若依前端需要安装 Node.js,安装过程参考文档【在CentOS7上安装和配置Node.js】
Web 服务需要安装 Nginx,安装过程参考文档【手动部署LNMP环境】
整个安装过程比较耗时,可以购买 CSDN 云主机的 Springboot 镜像创建实例,一键准备好安装环境。Springboot 镜像已预装了如下软件:
Java 1.8
Maven
Node.js
Git
Docker
Nginx
MySQL
Redis
去 CSDN 开发云管理控制台,选择【springboot】镜像创建主机。
【springboot】镜像主机已经安装了 mysql、redis、nginx,这 3 个服务我们后面采用 docker 安装,这里停止这 3 个服务。
登录 Linux 主机,以 root 身份运行以下命令,停止 mysql 、redis、nginx 服务
systemctl stop mysql
systemctl disable mysql
systemctl disable redis
systemctl stop redis
systemctl disable nginx
systemctl stop nginx
首先你需要安装好 docker 和 docker-compose。
安装 docker
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
安装好的 docker 和 docker-compose的版本如下
# docker -v
Docker version 20.10.14, build a224086
# docker-compose -v
Docker Compose version v2.3.3
注意不能使用 compose v1版本,docker 尽量用新的版本
详细的安装过程参考文档CentOS 7 安装 Docker
git clone https://gitcode.net/hjue/ruoyi-cloud-docker.git
此版本 fork 自若依微服务版,修正了原版中 docker-compose 不能直接部署的问题
cd ruoyi-cloud-docker/docker/
sh copy.sh
构建时间大概5-10 分钟,看到如下图示就说明构建成功了
启动的服务包括 nacos-server、mysql、redis 服务
sh deploy.sh base
以上命令需要下载 3 个服务的镜像,大概需要运行 10-15 分钟。
运行完成后,使用 docker-compose ps
查看服务运行的状态,我们看到都是 running 状态表示服务正在正常运行
打开浏览器,访问 http://<服务器ip 地址>:8848/nacos/,用你的服务器 ip 地址替代<服务器ip 地址>
,如果能看到如下界面,表示nacos-server
安装成功,可以接着进行下面安装。如果不能访问,可以通过查看nacos 日志文件nacos/logs/nacos.log
寻找问题原因。
sh deploy.sh modules
脚本大概运行 4 分钟左右,这个时间主要取决于下载镜像的速度。脚本运行结果如下,表示运行成功
打开浏览器,访问你的主机 ip 地址,可以看到若依后台系统的登录界面,整个安装过程结束
至此,我们完成了 用docker部署若依的微服务版。
不过这种部署方式还需要进行以下优化才能用在生产环境中: