从零开始的开源项目-GVP-Ruoyi-cloud-01-项目构建
内容简介:
本系列 主要是笔者在学习 Gitee 中GVP项目的 知识汇总.
本文的主要内容是: 如何利用Dockerfile && docker-compose 配置 Ruoyi-cloud 项目到云服务器中.
个人服务器推荐:
腾讯云: 云产品限时秒杀,爆款2核4G轻量级云服务器,首年74元
PS: 若文章字体偏大或者偏小,建议通过 ctrl键+鼠标滑轮 进行修改,以提升阅读效果.(带来不便,请谅解!)
前提:
项目地址: Gitee
为啥选择 2台云服务器部署ruoyi-cloud项目?
- 我的本地开发机器 内存太少而不能够部署
- 网络受限(个人流量), 选择 云服务器可以最大 限度节省流量
- 若选择一台服务器,当项目中某个服务模块挂掉的时候会拖垮整个系统.
为啥 不选择1台 云服务器部署项目?
- 可以选择一台服务器进行项目部署( 必要条件: 内存>=4g)
- 另外的原因是, 自己爱贪小便宜, 吃大亏.
如何说服自己购买云服务器?
- 想想自己每天的早餐钱, 每天少吃一个鸡蛋,2个月就可以了.
- 自己可以尽情op这台云服务器.
云服务器基本情况:
阿里云: centos7.6 -2c -2g -1year 轻量云服务器 (已备案)
腾讯云: centos7.6 -2c -4g -1year 轻量 云服务器
*PS: 购买建议:腾讯云 2c4g 的云服务器, 因为便宜只要70块**
PS: 运行思路: 自己只在本地就行 项目代码的修改, 让项目在 云服务器中 开发并调试.
项目 文档所在地址
com.ruoyi
├── ruoyi-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块
│ └── ruoyi-api-system // 系统接口
├── ruoyi-common // 通用模块
│ └── ruoyi-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务
│ └── ruoyi-common-security // 安全模块
│ └── ruoyi-common-swagger // 系统接口
├── ruoyi-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300]
├── ruoyi-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖
项目部署
项目部署思路:
前端:
开发测试阶段(node.js 项目, 本机 测试)-> build阶段( 生成静态html页面) -> depoly阶段(docker nginx 部署)
将前端页面部署在已备案的服务器中.
后端:
- 必备微服务: nacos ,ruoyi-gateway,ruoyi-system,ruoyi-auth,
- 可选微服务: sentinel, ruoyi-file, ruoyi-gen,ruoyi-monitor
数据层:
- mysql: aliyun-centos7.6-2c2g
- redis: tencent-centos7.6-2c4g
项目部署图:
PS: 老实说, 自己最初想要节省点开支,贪便宜买了 阿里云60 一年2c2g的服务器, 后来再部署项目的过程中发现内存完全不够, 无奈又买了腾讯2c4g的轻量云服务器.
部署前需要做的事:
开放安全组端口,80,8080,9200-9300.
关闭防火墙, 安装docker,docker-compose, maven, java ,git等
项目下载:
git clone https://gitee.com/WhyWhatHow/RuoYi-Cloud.git
MySQL,Redis部署:
# 部署在 2g 阿里云服务器
docker-compose up -d ruoyi-mysql
# 部署在 4g 内存的
docker-compose up -d ruoyi-redis
后端项目部署:
ruoyi-nacos
- 修改mysql数据库配置 , 即 docker_whywhathow/nacos/conf/application.properites(修改mysql root用户密码)
cd docker_whywhathow
docker-compose up -d ruoyi-nacos
- 创建prod namespace 下的yml文档,(直接将dev 下的赋值到prod namespace中 )

PS: sentinel, sky-walking暂时不管
other services:
- 打包项目
# 在 ruoyi-cloud 文件夹下
mvn clean package -Dmaven.test.skip=true
- 移动jar 包
sh docker_whywhathow/mv_jar.sh
- 部署service
cd docker_whywhathow
# 请一个一个部署service ,reason: 可以及时排错
docker-compose up -d ruoyi-gateway
总结:
- 使用
参考:
https://gitee.com/y_project/RuoYi-Cloud/