当前位置: 首页 > article >正文

若依管理系统使用已有 Nacos 部署流程整理

背景

玩了一下开源项目 RuoYi 管理系统Cloud 版,卡住的地方是:它用到了 nacos 配置管理,如果用的 nacos 环境是单机且是内置数据库的话,该怎么配置呢?

本文整理本机启动 RuoYi Cloud 应用本地部署的过程,关键两个点:

  1. 使用已有的 Nacos 环境且无数据库的版本,需要手动创建需要的配置文件。
  2. nacos 配置有认证,需要在 bootstrap.yml 配置中添加 nacos 的账号和密码。
  3. 思考一个问题,Web 应用使用 https 部署的时候,前端敏感信息如 username、password 等信息,是否可以不加密提交呢?

准备工作

  1. 下载 若依管理系统源码 后,在本地解压。
  2. 使用 sql 文件夹的脚本创建数据库,它里面用到三个库, ry-cloud【管理系统库】, ry-config【nacos 配置管理库】,ry-seata【分布式事务管理】。quartz.sql 可以用 ry-cloud 库,编辑脚本,在行首加上 use ry-cloude; ,其他两个库,先创建,但是可以不用。

Nacos 配置创建

官方部署文档里面,部署 nacos 时使用 mysql 数据库版本,且数据库就用 sql 里面的 ry-config 数据库,这样的话,直接通过脚本初始化了全部配置。

但是,对于已经有的 nacos 环境,该怎么办呢?数据库版本的话,可以直接导入配置管理的数据。对于 nacos 非数据库部署方式来说,就需要手动创建配置了。

第一步,nacos 系统中为当前项目创建一个命名空间 ry

第二步,打开 ry-config 数据库中 config_info 表中的数据,确定 data_id 和内容:
在这里插入图片描述
第三步,在 ry 命名空间下,逐个以 data_id 为配置名称,content 为内容创建配置。
在这里插入图片描述
第四步,逐个点开配置进行修改,主要是 Redis 、datasource 配置,改为我们实际环境的信息。

优化建议 因为 application-dev.yml 配置是所有模块共享的,所以可以将 Redis 和 datasource 配置统一放到这个配置文件中:
在这里插入图片描述

后端服务启动

在 IDEA 中导入项目源码后,需要针对每个组件的 bootstrap.yml ,修改 nacos 配置中心和注册中心的地址、帐号和密码,默认项目中都没有帐号和密码的

根据需要启动组件进行修改,必须启动的组件有:

  1. ruoyi-gateway
  2. ruoyi-modules/ruoyi-system
  3. ruoyi-auth

针对这三个组件,逐个修改 bootstrap.yml 配置:

  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: IP:port
        namespace: ry
        username: nacos
        password: xxx
      config:
        # 配置中心地址
        server-addr: IP:port
        namespace: ry
        username: nacos
        password: xxx
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

对nacos 注册中心和配置中心,分别添加 namespace、username、password 三项配置。

然后就可以逐个启动后台服务了,启动后在 nacos 注册中心查看服务列表:
在这里插入图片描述

前端安装及启动

首先,进入 ruoyi-ui 前端目录,在命令行执行安装命令:

npm install --registry=https://registry.npmmirror.com

再以开发模式启动:

npm run dev

最后访问系统首页:
在这里插入图片描述

系统服务监控

「系统监控-Admin控制台」它直接用的 SpringBoot Admin 功能,通过@EnableAdminServer 实现的。
在这里插入图片描述
访问的账号和密码是在 ruoyi-monitor-dev.yml 配置中,可以按需要修改。
在这里插入图片描述
进入服务监控页面:
在这里插入图片描述

启示录

想到公司一个流量采集产品,它能采集 http 流量,但是对 https 流量还是没有办法的。那么我们在 Web 应用中,如果直接部署为 https 协议,是不是不用对敏感表单加密了呢?

这么多年前端对敏感信息如username、password 等信息,都是在前端加密后再提交的。但是这个开源项目的登录,以及 SpringBoot Admin 的登录,都是直接提交明文信息的,为什么呢?
在这里插入图片描述
是加密传输复杂呢,还是明文传输没危险呢?以我这么多年的开发经验来说,前端明文传输敏感信息,终归是不妥的。

PS:今日立冬!人不能同时拥有青春和对青春的感受,何止是青春呐!


http://www.kler.cn/a/385261.html

相关文章:

  • C++builder中的人工智能(10)神经网络中的Sigmoid函数
  • LeetCode100之移动零(283)--Java
  • 内置函数【MySQL】
  • 2024年该了解的常用渲染工具
  • Kafka 源码 KRaft 模式本地运行
  • HTMLCSS:呈现的3D树之美
  • [JAVAEE] 面试题(四) - 多线程下使用ArrayList涉及到的线程安全问题及解决
  • 城镇住房保障:SpringBoot系统维护与升级
  • Python基于TensorFlow实现双向循环神经网络GRU加注意力机制分类模型(BiGRU-Attention分类算法)项目实战
  • 多线程案例---阻塞队列
  • RapidrepairController
  • linux 下 signal() 函数的用法,信号类型在哪里定义的?
  • 【go从零单排】go语言中的指针
  • NVR小程序接入平台/设备EasyNVR多品牌NVR管理工具/设备汇聚公共资源场景方案全析
  • 如何设置 TORCH_CUDA_ARCH_LIST 环境变量以优化 PyTorch 性能
  • AutoOps 使每个 Elasticsearch 部署都更易于管理
  • C#核心(7)索引器
  • 从0开始linux(21)——文件(2)文件重定向
  • Hive 查询各类型专利 Top 10 申请人及对应的专利申请数
  • 记录offcanvas不能显示和关闭的修复方法
  • QT监控文件夹变化(文件增加、删除、改名)
  • B2C分销管理系统(源码+文档+部署+讲解)
  • C++20 STL CookBook 4:使用range在容器中创建view
  • c# 动态lambda实现二级过滤(多种参数类型)
  • 『VUE』21. 组件注册(详细图文注释)
  • Kubernetes时代的APM部署革新:基于Webhook的Agent动态注入