首页 > 其他分享 >若依框架部署

若依框架部署

时间:2024-01-22 16:58:51浏览次数:24  
标签:解压 Maven 框架 部署 数据库 配置 js 若依 mysql

一、若依介绍

1.1 低代码开发平台

低代码诞生的目的是将可`重复性的编程`工作通过`平台实现`,将开发人员从没有技术含量的`增删改查`开发中解放出来,让其专注于更有价值的开发工作

例如:**数据库设计、流程设计、API核心开发、业务逻辑**开发等工作。所以,低代码开发平台可以提高开发效率。

常见产品有:

- 明道云、Noohle(怒吼)、简道云

- 若依/RuoYi、 jeecg-boot、人人开源 / renren-fast

1.2 若依简介

**RuoYi-Vue** 是一个轻量级快速开发平台,毫无保留给个人及企业免费使用。基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue、Element)内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。

1)若依提供了企业级后台管理系统基础通用的功能,免去开发者去搭建和配置繁琐项目环境

2)提供了代码生成技术:通过数据库表就可以自动生成(java后端代码,前端vue页面)

1.3 特点

功能特性:

  • 完善的权限管理
  • 开发支持多语言
  • 丰富的前端插件
  • 强大代码生成器

使用最流行的技术

  • RuoYi(SpringBoot+Bootstrap)
  • RuoYi-Vue(SpringBoot+Vue)
  • RuoYi-Cloud(SpringCloud+Vue)
  • RuoYi-App(Uniapp+Vue)
  • 完全响应式布局
  • 支持电脑、平板、手机等所有主流设备
  • 提供多种不同风格的皮肤
  • 使用最流行的的扁平化设计
  • 集成多款国内优秀插件

1.4 优缺点

优点:

  • 高度集成的开发框架,支持快速开发和部署
  • 代码简单清晰明了,易于维护
  • 提供了自定义组件等功能,可满足各种需求
  • 采用前后端分离的设计思路,使应用更加灵活,易于扩展

缺点:

  • 使用ruoyi框架需要一定的JavaWeb开发经验,在没有JavaWeb基础的情况下,上手可能会困难
  • 提供的代码生成器可能不能满足需求,并且代码生成的质量还需要另加一定的开发工作
  • 支持的功能还比较简单,但是这也使得它更加轻量级,通用性更好

二、项目部署

2.1 准备工作

(1) 基本环境要求

- JDK >= 1.8

- MySQL >= 5.7

- Maven >= 3.0

- Node >= 12

- Redis >= 3

(2) 本地环境

- JDK = 1.8.0_131

- MySQL = 8.0.21

- Maven = 3.8.3

- Node = 18.16.0

- Redis = 5.0.14.1

(3) 软件

Navicat(数据可视化)

IDEA

2.2 开发环境配置

2.2.1 Mysql

(1) 下载zip安装包:

下载链接:https://www.mysql.com/downloads/,我们下载的是mysql8.0.21

(2) 解压到自定义目录

下载完成后,将zip包解压到自定义目录,我的解压目录是 D:\soft\mysql-8.0.21-winx64。

(3) 配置环境变量

顺序打开:控制面板->系统->高级系统设置->环境变量,在“系统变量”中找到“Path”,编辑,添加一行mysql刚刚解压的目录下的bin的目录。

 

(4) 创建配置文件

在mysql解压目录下创建my.ini的配置文件,文件内容如下

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

 

[mysqld]

# 绑定IPv4

bind-address=0.0.0.0

# 设置端口号

port=3306

# 设置mysql的安装目录,即解压目录

basedir=D:\\soft\\mysql-8.0.21-winx64

# 设置数据库的数据存放目录

datadir=D:\\soft\\mysql-8.0.21-winx64\\data

# 设置允许最大连接数

max_connections=200

# 设置允许连接失败次数

max_connect_errors=10

# 设置服务端的默认字符集

character-set-server=utf8

# 创建表使用的默认存储引擎

default-storage-engine=INNODB

(5) 安装mysql服务

cmd管理员模式进入mysql安装目录bin目录下,执行命令mysqld -install

(6) 初始化数据文件

执行命令mysqld --initialize-insecure --user=mysql

(7) 启动MySQL服务

执行命令net start mysql

(8) Navicat建立Mysql连接

2.2.2 JDK及Maven安装

JDK和Maven的安装配置不做重点介绍,我使用的JDK版本是1.8.0_131,Maven版本是3.8.3。

  

在IDEA中依次点击“File—Project Structure—SDKs—+JDK”,配置安装好的JDK。

在IDEA中依次点击“File—Settings—Build,Execution,Deployment—Bulid Tools—Maven”,在Maven home directory中配置安装好的Maven。

 

 

 

2.2.3 Node.js安装

(1) 下载安装包:Node.js官方安装包及源码下载地址:https://nodejs.org/en/。

根据自己电脑系统及位数选择,我这里选择windows64位.zip格式安装包。

(2) 下载完成后,双击安装包开始安装,一直点next即可,安装路径我修改到了:F:\soft\NVM\nodejs,安装完成如图所示。

(3) 配置环境变量:右击此电脑选择属性,点击高级系统设置,在系统变量中配置node的环境变量。

(4) 检测是否安装成功:

  点击开始-运行-cmd(win+R),打开dos,输入“node --version”检查Node.js版本:

 

 

2.2.4 Redis安装

(1) 下载Redis压缩包,解压到自定义目录。


(2) 在redis文件目录输入cmd并回车,弹出命令行。输入redis-server.exe redis.windows.conf回车,如下即表示启动成功。

2.3 项目工程配置

2.3.1 项目下载

若依的源代码是开源的,所以在若依的官方网站即可进行下载,若依的官网是:http://www.ruoyi.vip/,进入官网后,根据系统需求选择框架版本,我们选择的是RuoYi-Vue前端分离版,点击跳转到git,下载即可。

可以选择直接通过git从IDEA进行克隆,也可以下载压缩包手动导入,我采用的第二种方式。

下载解压后的文件如下所示:

打开IDEA,导入解压后的项目。

 

IDEA会自动加载`Maven`依赖包,初次加载会比较慢(根据自身网络情况而定)

2.3.2 Mysql配置

(1) 导入sql

创建数据库`create database ry;`。在连接名上点击鼠标右键,选择新建数据库。

填写数据库名,字符集选择utf-8,排序规则选择utf8_general_ci.

 

 在数据库名上点击鼠标右键,选择【运行SQL文件】。运行上图红框内的两个sql文件。

 

 

 找到sql文件所在的本地路径,选中的后,点击【开始】,执行SQL文件。

 

 分别导入成功后结果如下:

 执行成功后,在【表】上点击鼠标右键,选择【刷新】,刷新完成后,即可显示出所有的表。

 sql文件运行成功。

(2) 配置文件

在`ruoyi-admin`模块下,修改数据库连接,编辑`resources`目录下的`application-druid.yml`

url:修改本地数据库连接

username:修改数据库用户名(root)

password:修改数据库密码

 

2.3.3 开启Redis服务

双击运行redis-server.exe,有图标就是开启成功

2.3.4 项目启动

(1) 后端运行

在`ruoyi-admin`模块下,启动项目`com.ruoyi.RuoYiApplication.java`

 

 

见到这个banner,说明若依后端启动成功。

 

 

(2) 前端运行

IDEA打开前端文件夹ruoyi-ui。

 

 

 

 

点击底部菜单栏中的Terminal命令,执行以下命令:

npm install  # 安装依赖

npm install --registry=https://registry.npmmirror.com  # 通过如下操作解决 npm 下载速度慢的问题

npm run dev  # 启动服务

注意:运行中遇到了以下错误:

 

 

执行命令$env:NODE_OPTIONS="--openssl-legacy-provider"可以解决。

运行成功后,由于项目本身做了重定向功能,因此会自动跳转到对应网址。

 

 

登录成功后的页面如下:

三、源码分析

3.1 前端代码

前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui

├── build                      // 构建相关  

├── bin                        // 执行脚本

├── public                     // 公共文件

│   ├── favicon.ico            // favicon图标

│   └── index.html             // html模板

│   └── robots.txt             // 反爬虫

├── src                        // 源代码

│   ├── api                    // 所有请求

│   ├── assets                 // 主题 字体等静态资源

│   ├── components             // 全局公用组件

│   ├── directive              // 全局指令

│   ├── layout                 // 布局

│   ├── plugins                // 通用方法

│   ├── router                 // 路由

│   ├── store                  // 全局 store管理

│   ├── utils                  // 全局公用方法

│   ├── views                  // view

│   ├── App.vue                // 入口页面

│   ├── main.js                // 入口 加载组件 初始化等

│   ├── permission.js          // 权限管理

│   └── settings.js            // 系统配置

├── .editorconfig              // 编码格式

├── .env.development           // 开发环境配置

├── .env.production            // 生产环境配置

├── .env.staging               // 测试环境配置

├── .eslintignore              // 忽略语法检查

├── .eslintrc.js               // eslint 配置项

├── .gitignore                 // git 忽略项

├── babel.config.js            // babel.config.js

├── package.json               // package.json

└── vue.config.js              // vue.config.js

跨域转发:

浏览器F12抓取登录请求地址,前端获取验证码的请求URL:http://localhost:81/dev-api/captchaImage,若依的后端端口是8080,前端是81,前后端部署在不同的服务器环境中,存在跨域的问题。

 

 

 

若依前端是基于代理转发解决跨域问题的。以下这段代码是在 Vue 项目的配置文件中,用于配置开发服务器的代理设置。

 

 

通过这个配置,我们可以将前端应用发送的请求代理转发到后端 API 服务器,以解决跨域访问的问题。这里使用了一个名为 proxy 的配置项,它的作用是对指定的请求路径进行代理转发。即将/dev-api替换成’’,再映射到http://localhost:8080。前端URL直接通过81端口就能访问到后台。

3.2 后端代码

后端技术栈 SpringBoot、MyBatis、Spring Security、Jwt

 

 

 

 

 

 

 

标签:解压,Maven,框架,部署,数据库,配置,js,若依,mysql
From: https://www.cnblogs.com/znjy/p/17980434

相关文章

  • 前端微服务架构4-生产环境打包部署补充
    生产环境使用同一个ip和端口部署父子应用,所以和本地运行有所区别,区别1:主应用中子应用的注册:varapps=[{name:'cw-wfw1',entry:'/child1/',//入口文件不同,本地为entry:'//localhost:10001',container:'#wfw1',activeRule:'/co......
  • 各种自动化框架的重新理解和学习
    1.关键字驱动测试框架关键字驱动测试框架是一种自动化测试方法,它将测试用例设计和实际执行代码解耦。这种框架基于一种表格形式的描述(如Excel、CSV或特定格式的文本文件),其中每一行代表一个操作步骤,列中包含操作的关键字及其相关参数。在关键字驱动测试框架中,一般有以下......
  • Django(藏狗) Web框架
    一、概论特点:内部已集成了很多组件+第三方组件二、安装1、安装pipinstallDjango2、安装后目录c:\python\ -python.exe -Scripts -pip.exe -django-admin.exe【工具,创建django项目中的文件和文件夹】 -Lib -内置模块 -site-packages -openpyxl -pyt......
  • Kubesphere 部署
    在K8s/K3s上安装请确保您的集群已经安装Kubernetesv1.21.x,v1.22.x,v1.23.x,*v1.24.x,*v1.25.x,或*v1.26.x。带星号的版本可能出现边缘节点部分功能不可用的情况。运行以下命令以在现有Kubernetes集群上安装KubeSphere:kubectlapply-fhttps://github.com/......
  • 深入分析若依数据权限@datascope (注解+AOP+动态sql拼接) 【循序渐进,附分析过程】
    除了我们平时都知道的路由权限(即对接口的访问权限外),在日常生产开发中,我们还应该有对数据的访问权限。在若依这个框架中,通过角色中的数据范围这个属性来对数据权限进行控制。对应实体类:深入分析一个用户肯定是有一种角色的,也肯定是隶属于一个部门的。这里咱们就以用户在......
  • gin-vue-admin部署
    前言gin-vue-admin是什么gin-vue-admin是一个基于Gin和Vue.js的全栈前后端分离框架。它提供了一套完整的开发工具和模板,用于快速搭建企业级Web应用程序。gin-vue-admin后端使用Go语言和Gin框架实现,前端使用Vue.js和ElementUI组件库,通过RESTfulAPI进行通......
  • python测试系列教程——python+Selenium+chrome自动化测试框架
    python测试系列教程——python+Selenium+chrome自动化测试框架需要的环境浏览器(Firefox/Chrome/IE…)PythonSeleniumSeleniumIDE(如果用Firefox)FireBug、FirePath(如果用Firefox)chromedriver、IEDriverServer、phantomjs.exeIDE(Pycharm/Sublime/Eclipse…)1、浏览器建议......
  • 使用单机部署为副本集(开启oplog.rs)-4.4.13
    环境:OS:Centos7db:4.4.131.下载相应的版本https://www.mongodb.com/download-center/community我这里下载的是mongodb-linux-x86_64-rhel70-4.4.13.tgz 2.创建安装目录[root@testservices]#mkdir-p/usr/local/services[root@testservices]#mkdir-p/home/middle/mong......
  • 43 干货系列从零用Rust编写负载均衡及代理,内网穿透方案完整部署
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )
    从零搭建完整python自动化测试框架(UI自动化和接口自动化)本自动化测试框架采用python+unittest的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEBUI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。 总体框架总体框架......