目录
一、介绍
RuoYi-Vue
是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。
若依官网:http://www.ruoyi.vip/
gitee仓库:https://gitee.com/y_project/RuoYi-Vue
后端技术:
SpringBoot框架
Spring Boot
是一款开箱即用框架,提供各种默认配置来简化项目配置。让我们的Spring应用变的更轻量化、更快的入门。 在主程序执行main函数就可以运行。你也可以打包你的应用为jar
并通过使用java -jar
来运行你的Web应用。它遵循"约定优先于配置
"的原则, 使用SpringBoot
只需很少的配置,大部分的时候直接使用默认的配置即可。同时可以与Spring Cloud
的微服务无缝结合。
Spring Security安全控制
Spring Security
是一个能够为基于Spring
的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
功能
Authentication
认证,就是用户登录;
Authorization
授权,判断用户拥有什么权限,可以访问什么资源;
安全防护,跨站脚本攻击,session攻击等,非常容易结合Spring进行使用。
Spring Security与Shiro的区别
相同点:
1、认证功能
2、授权功能
3、加密功能
4、会话管理
5、缓存支持
6、rememberMe功能
不同点:
1、Spring Security
基于Spring
开发,项目如果使用Spring
作为基础,配合Spring Security
做权限更加方便。而Shiro
需要和Spring
进行整合开发
2、Spring Security
功能比Shiro
更加丰富,例如安全防护方面
3、Spring Security
社区资源相对比Shiro
更加丰富
1)Shiro
的配置和使用比较简单,Spring Security
上手复杂些
2)Shiro
依赖性低,不需要依赖任何框架和容器,可以独立运行。Spring Security
依赖Spring
容器
二、建表
新建数据库 ry-vue
:
运行sql文件:
三、修改配置文件
修改application.yml
配置文件:
修改Redis配置信息:
修改数据库连接信息:
修改日志文件的路径:
四、打包、部署前端
在ruoyi-ui
文件下就是前端页面的文件。
进入到当前目录:
(可以使用IDEA直接将文件拖入)
运行如下命令安装前端项目所需依赖:
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
因为我们要部署,所以这里直接打包正式环境即可:
npm run build:prod
构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的前端项目文件:
在服务器下新建 /data/ruoyi-vue/ruoyi-ui
目录,并将前端打包的dist
文件上传到这个目录:
修改Nginx配置文件:(没有安装部署Nginx可另行百度)
编辑nginx.conf
文件:
location / {
root /data/ruoyi-vue/ui/dist;
index index.html index.htm;
}
location /prod-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://116.62.13.104:8080/;
}
注意:因为我将前端项目和后端部署到了一套服务器,如果是不同的服务器可以将最后的IP地址修改为部署后台项目的服务器IP地址。
配置完成后,重启Nginx即可:/usr/local/nginx/sbin/nginx -s reload
浏览器访问IP地址即可看到前端页面:
(因为我已经部署好了后台,所以图片验证码才会出来,如果没有部署后台,是有报错的:404、502)
前端部署完成。
五、打包、部署后端
打成jar
包,不用在部署Tomcat,查看ruoyi-admin
模块下的pom
文件,如果没有指定打包方式为war
那么就是打jar
包。
直接使用Maven工具进行打包:
打包完成后,jar包的位置在ruoyi-admin
模块下的target
目录下:
将jar包上传的服务器,
以脚本方式启动启动jar包:
vim startup.sh
//启动脚本
#!/bin/env bash
nohup java -Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -jar ruoyi-admin.jar --server.port=8080 > /dev/null 2>&1 & echo $! > ./pids/run.pid
echo "START UP BY 8080"
vim shutdown.sh
//停止脚本 需要新建 pids 文件夹: mkdir pids;新建日志目录: mkdir logs
#!/bin/env bash
kill -9 `cat ./pids/run.pid`
//需要为脚本赋可执行权限
chmod +x startup.sh
chmod +x shutdown.sh
//使用脚本启动
./startup.sh
//使用脚本停止
./shutdown.sh
以请求图片验证码的接口为例:
前端发送http://192.168.31.101/prod-api/captchaImage
请求到Nginx,
Nginx经过代理转发到了http://192.168.31.101:8080//captchaImage
后台的接口地址。
后台部署成功。
六、登录
账号:admin
密码:admin123