从零开始的开源项目-GVP-Ruoyi-cloud-01-项目构建

内容简介:

本系列 主要是笔者在学习 Gitee 中GVP项目的 知识汇总.

本文的主要内容是: 如何利用Dockerfile && docker-compose 配置 Ruoyi-cloud 项目到云服务器中.

ruoyi-all

个人服务器推荐:


前提:

项目地址: 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

项目部署图:

image-20211027143512510

PS: 老实说, 自己最初想要节省点开支,贪便宜买了 阿里云60 一年2c2g的服务器, 后来再部署项目的过程中发现内存完全不够, 无奈又买了腾讯2c4g的轻量云服务器.

部署前需要做的事:

  1. 开放安全组端口,80,8080,9200-9300.

    image-20211027151920286

  2. 关闭防火墙, 安装docker,docker-compose, maven, java ,git等

    参考: 如何构建生产力级别linux服务器

项目下载:

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

  1. 修改mysql数据库配置 , 即 docker_whywhathow/nacos/conf/application.properites(修改mysql root用户密码)
cd docker_whywhathow
docker-compose up -d ruoyi-nacos
  1. 创建prod namespace 下的yml文档,(直接将dev 下的赋值到prod namespace中 )
image-20211027153353150

PS: sentinel, sky-walking暂时不管

other services:

  1. 打包项目
# 在 ruoyi-cloud 文件夹下
mvn clean package -Dmaven.test.skip=true
  1. 移动jar 包
sh docker_whywhathow/mv_jar.sh
  1. 部署service
cd docker_whywhathow
# 请一个一个部署service ,reason: 可以及时排错
docker-compose up -d ruoyi-gateway 

总结:

  • 使用

参考:

https://gitee.com/y_project/RuoYi-Cloud/