【玩转Lighthouse】搭建若依前后端分离项目

2022-04-14 16:11:36 浏览数 (1)

一、项目介绍

前景

一直想写一篇前后端分离项目的搭建教程,最近正好不是太忙,也是正好赶上轻量的创作者活动,所以就花点时间写了这篇文章。

项目简介

RuoYi基于SpringBoot、Shiro、Mybatis的权限后台管理系统,是一个非常优秀的后台管理系统,这次正好趁着这个机会,写一篇搭建的教程分享给大家,也顺便也记录下之前学习的过程。

官方文档

以下是官方的项目说明文档,有不懂的也可以去看看哦。

http://doc.ruoyi.vip/ruoyi/

二、环境准备

如果没有轻量服务器,可以用本地的虚拟机。或者现在正好轻量服务器也有活动。

可以看看下边的活动。

https://cloud.tencent.com/act/new?from=16689

硬件环境

  • 服务器:轻量无忧套餐CPU: 2核 内存: 4GB 硬盘:80GB SSD云硬盘
  • 操作系统:Centos7.6系统
服务器信息服务器信息

软件环境

  • 安装 jdk 1.8.0_181
  • 安装 node 12.18.3
  • 安装 mysql 5.7.31
  • 安装 nginx 1.18.0
  • 安装 maven 3.6.3
  • 安装 redis 5.0
  • 安装 git客户端【非必须】

三、环境安装

以下脚本是本人自己编写,仅试用于Centos7系统。

安装 jdk 1.8.0_181

执行如下脚本,选菜单1

代码语言:shell复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/setup.sh)

安装完成

jdkjdk

安装 maven 3.6.3

执行如下脚本,选菜单5

代码语言:shell复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/setup.sh)

安装完成

mavenmaven

安装 mysql 5.7.31

执行如下脚本,选菜单3

代码语言:shell复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/setup.sh)

记录mysql默认密码

默认密码默认密码

修改mysql的密码为123456

mysqlmysql

安装 node 12.18.3

执行如下脚本,选菜单2

代码语言:shell复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/setup.sh)

安装完成

安装node安装node

安装 nginx 1.18.0

执行如下脚本,选菜单4

代码语言:shell复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/setup.sh)

安装完成

代码语言:javascript复制
http://x.x.x.x/

打开ip地址,查看nginx是否安装完成,如果打不开,可以看下防火墙是不是没有关闭。

nginxnginx

安装 redis 5.0

代码语言:javascript复制
bash <(curl -sL https://gitee.com/upy/shell/raw/master/redis-install.sh)

安装完成

redisredis

安装 git

安装这个主要用来在线克隆代码,非必须安装。

如果不安装的话,可以自行下载代码,通过xftp上传的服务器中,也可以自己在本地编译好前后端代码后上传编译好的代码到服务器,都是可以滴。

安装命令:

代码语言:shell复制
yum install git -y

五、数据库配置

下载代码

可以自行下载后上传到服务器,也可以在线下载

执行如下命令下载代码:

代码语言:javascript复制
git clone https://gitee.com/y_project/RuoYi-Vue.git

主要目的从代码中找打sql文件,导入到数据库中。

修改mysql连接信息

代码语言:javascript复制
cd /root/RuoYi-Vue/ruoyi-admin/src/main/resources
vim application-druid.yml

修改图中内容

mysql连接信息mysql连接信息

导入sql文件到数据库中

开放数据库远程链接权限

代码语言:javascript复制
mysql -u root -p 123456
--授权root用户对所有数据库在任何ip都可以进行操作
grant all privileges on *.* to 'root'@'%' identified by '4Mysql@Lighthouse';
--刷新数据库权限
flush privileges;

这样使用本地工具就能连接上服务器的数据库了。注意要在防火墙放行3306端口,导入完成及时关闭3306端口

配置防火墙配置防火墙

使用本地工具Navicat导入sql文件

下载好这2个sql文件。

sqlsql

创建数据库

11

运行2个sql文件,依次导入到数据库中

22

数据库导入完成

修改redis密码

代码语言:javascript复制
cd /root/RuoYi-Vue/ruoyi-admin/src/main/resources
vim application.yml

修改完成

修改redis密码修改redis密码

五、代码打包

打包后端代码

执行如下maven命令打包

代码语言:javascript复制
cd RuoYi-Vue
mvn clean install -Dmaven.test.skip=true -Dcheckstyle.skip=true

进入打包后的文件夹

代码语言:shell复制
cd /root/RuoYi/ruoyi-admin/target

编译好的jar包

编译后台代码编译后台代码

打包前端代码

进入前端代码目录

代码语言:javascript复制
cd /root/RuoYi-Vue/ruoyi-ui

编译

先安装依赖信息,再编译打包。

代码语言:javascript复制
npm install
npm run build:prod

打包后的文件

前端打包代码前端打包代码

复制代码到nginx路径下

代码语言:javascript复制
cp -r dist /usr/local/nginx

六、部署启动

启动后端

代码语言:javascript复制
cd /root/RuoYi-Vue/ruoyi-admin/target
nohup java -jar ruoyi-admin.jar &

启动完成

jarjar

查看进程

启动成功启动成功

启动前端

修改nginx配置

代码语言:javascript复制
cd /usr/local/nginx/conf

添加反代配置

代码语言:javascript复制
        location / {
            root   /usr/local/nginx/dist;
            try_files $uri $uri/ /index.html
            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://localhost:8080/;
        }

截图

nginx配置nginx配置

七、测试项目

访问测试:

http://121.5.53.108/login?redirect=/index

不确定什么时候关闭,关闭的话,大家可以去体验若依官方的地址。

登录页

首页首页

首页

首页首页

菜单管理

基本功能都正常,搭建完成

菜单管理菜单管理

八、参考资料

官方文档:http://doc.ruoyi.vip/ruoyi/


到这里整个搭建过程就结束了,如果有小伙伴不懂的,可以评论区留言讨论。

0 人点赞