使用Ruoyi的方法(数据库的创建、YML文件的修改、前端的导入和启动、云服务器简介、NGINX配置部署前端)

本文章转载于公众号:王清江唷,仅用于学习和讨论,如有侵权请联系

QQ交流群:298405437

本人QQ:4206359

1►数据库的创建和初始化SQL的执行

当我们下载好了Ruoyi-Vue之后,我们得到一个文件夹,如下:

图片

内部又有若干文件,如下:

图片

这里面不仅包括了后端程序(基于SpringBoot的Java程序),也包括前端程序(基于Vue的程序,文件夹“ruoyi-ui”)。

特别注意

鉴于前后端都在一个项目里面,强烈推荐分离开。将“ruoyi-yi”文件夹独立出来,剪切出来和RuoYi-Vue并列。

导入后端

将后端导入IDEA,当我们IDEA在手,天下我有。

直接把RuoYi-Vue整个文件夹拖入IDEA图标就导入成功了。

前提:前提是配置好了IDEA的Maven,我之前讲过Maven的最佳实践,如果配置没错,导入之后全程自动下载依赖,直到完成导入。

此外,我在Maven中配置的默认本地仓库是在E盘的cangku,大家可以根据自己的电脑实际情况进行更改。当然也可以用默认的C盘,但尽量不要往C盘放数据文件。

创建数据库并导入数据

RuoYi的后端需要连接数据库。

打开Navicat,连接本机的MySQL。创建如下的数据库,如图:

图片

温馨提示:字符集建议和我保持一致。大家可以自行百度去了解一下uft8mb4和utf8的区别。

建立好数据库之后,需要点击新建查询:

图片

然后去复制如下俩文件的SQL执行即可:

图片

注:两个文件执行并无严格的先后顺序。

2、运行Ruoyi第二步:YML文件的修改(数据库、Redis),启动后端

2.1 YML文件的修改(数据库、Redis)

数据库信息

数据库需要修改信息如下:

图片

位置1:IP,本机为localhost

位置2:端口,默认3306

位置3:数据库名,改成rrryyy

位置4:数据库用户名,rrryyy

位置5:数据库密码,AcZ6xeMadfKDiYP3

Redis信息

Redis需要修改的位置:

图片

host:IP,我连接我的云服务器,我写wangqingjiang.top,诸位写localhost就行。

port:就用默认的6379。

database:0表示使用0号库,默认redis启动了16个数据库,依次下标为0-15。

password:数据库密码,默认没有密码,空着就行,但是如果连接远程的redis服务器,则必须使用密码。使用密码在视频中讲述。

2.2启动后端

完成以上的数据库和Redis之后,找到下面文件:

图片

然后将光标放到main方法,点击鼠标右键。然后出来一个新的框,点击运行即可,如图:

图片

RuoYi-Vue的主启动类:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })public class RuoYiApplication{
   
       public static void main(String[] args){
   
           // System.setProperty("spring.devtools.restart.enabled", "false");        SpringApplication.run(RuoYiApplication.class, args);        System.out.println("(♥◠‿◠)ノ゙  若依启动成功   ლ(´ڡ`ლ)゙  \n" +                " .-------.       ____     __        \n" +                " |  _ _   \\      \\   \\   /  /    \n" +                " | ( ' )  |       \\  _. /  '       \n" +                " |(_ o _) /        _( )_ .'         \n" +                " | (_,_).' __  ___(_ o _)'          \n" +                " |  |\\ \\  |  ||   |(_,_)'         \n" +                " |  | \\ `'   /|   `-'  /           \n" +                " |  |  \\    /  \\      /           \n" +                " ''-'   `'-'    `-..-'              ");    }}

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })

这句话的意思是:注入的时候不要注入DataSourceAutoConfiguration,默认自动注入单数据源。我们后面有一章说到了多数据源,重写了数据源的自动注入。类为:

public class DruidConfig

3、运行Ruoyi第三步:前端的导入和启动

3.1前端的导入和启动

导入前端

前端导入到WebStorm也是直接将ruoyi-ui文件夹拖入WebStorm图标即可。

安装依赖

前端安装依赖只需要在控制台执行“npm i”即可。

Tips:当我们执行的时候,有时候会很慢。可以考虑使用yarn或者pnpm。

然而使用yarn或者pnpm有时候有一些莫名其妙的问题。所以还是得使用npm,这个时候可以通过更换镜像源为淘宝镜像源。执行下面命令可以查看目前的镜像源:

npm config get registry

修改为淘宝镜像源:

npm config set registry https://registry.npm.taobao.org/

特别需要注意的是:执行的时候,在ruoyi-ui目录内执行npm i。

3.2 启动

做完导入之后,启动就非常简单了,只需要在根目录找到文件:package.json,找到如下的小三角形,点击即可启动(点击小三角后还需要再次点击运行):

图片

当然也可以直接在控制台npm run dev也是同样效果。

3.3 延伸

当我们运行后,前端通过80端口即可访问。访问的时候,有时候前端程序会去调用后端的接口,这是通过代理来实现的。

当我们的路径是/dev-api开头,则会走代理。这里涉及到知识点:环境变量。

图片

4、部署Ruoyi简介、云服务器简介、xshell和xftp安装

本次课程部署采用云服务器,如果是想观看部署在本机,以前的视频讲过。找找我的主页即可。部署在云服务器和部署在本地虚拟机没有什么不同

4.1部署Ruoyi简介

关于RuoYi-Vue是一个前后端分离的Web后台管理系统。部署在云让所有人都可以访问这时Web网站很正常的一个需求,只要我们将前端静态文件暴露在公网中,自然就部署好了。当然,要求是前端的静态资源可以访问到后端的接口,网站才会正常运行。

4.2云服务器简介

可以百度了解一波:https://baike.baidu.com/item/云服务器,当然,其实简单来说,云服务器就是一台电脑,和我们自己普通人的电脑不同之处在于,它有一个公网IP。有了这个公网IP,我们可以在任意一台联网的电脑上访问到公网IP的资源。也就是说,部署在云服务器上可以让我们的网站让所有联网的人访问。

云服务器需要购买。有钱的同学们自行购买,没钱的同学们建议装一个虚拟机。在这个知识付费的时代,花几十块钱学习知识还是必要的。

如果是购买云服务器的同学,建议购买轻量服务器。云服务器装系统可以选择CentOS7.6,7.8,8.x都行。我个人选择的是宝塔面板。这个面板可以方便操作一点。购买后如下图所示:

图片

我们可以在控制管理台页面,进行远程连接服务器。如上图的一键登录。详细过程请看视频。

4.3xshell和xftp安装

当我们有了具备公网IP的云服务之后,我们能够使用xshell去远程连接到服务器从而输入指令。可以通过xftp远程连接到服务器从而进行文件的读写。

下载xshell和xftp地址:

https://www.xshell.com/zh/free-for-home-school/

声明:以上为教育版,不可用于商业用途,否则后果自负!

如果需要付费版,下载地址为:

https://www.xshellcn.com/xiazai.html

 5、云服务器的宝塔面板安装、在宝塔安装MySQL、Redis、NGINX

建议不要纯看讲义,一定要配合视频。因为讲义没讲到细微之处。

5.1 云服务器的宝塔面板安装

如果购买云服务器的时候,选择系统为宝塔面板,那么就不需要麻烦了。宝塔已经装好了。

但是如果没有选择宝塔面板,就需要手动安装。

宝塔面板官方地址:

https://www.bt.cn/new/download.html

根据自己的系统选择安装哪一个。

安装完毕之后,切记需要看看当前的登录密码和账号。通过提供的账号密码来登录进入面板。这里文字叙述太过苍白无力,请看视频。

当我们安装好宝塔面板,登录进入之后,可以看到如下页面:

图片

对于初次登录的同学,建议先了解一下面板,点击每一个菜单,看看都是啥。

另外,关于宝塔的配置:

图片

大家可以适当更改上面的配置。

我建议修改的配置:

1、端口8888改一下。

2、面板用户改一下,改成好记住的。

3、面板密码改一下。

4、绑定一个账号。

Tips:正常来说,我们新买的服务器是进不到宝塔面板的,有一个安全组(阿里云叫法,腾讯叫访问墙)的概念。对于学习来说,可以开放全部端口。

5.2在宝塔安装MySQL、Redis、NGINX

MySQL

找到软件商店,找到MySQL,安装即可。选择版本为5.7。如图:

图片

点击之后,等待一段时间,就装好了。

如果需要查看安装进度,可以点击左上角的任务列表。如图:

图片

安装完毕之后,我们可以通过数据库选项来直接操作此数据库:

图片

我们可以对此MySQL执行添加数据库,修改root用户密码等等操作,如图:

图片

我们下面简单创建ruoyi-vue所需要的数据库,这里就不文字描述了,请看视频。

Redis

安装Redis和MySQL基本一致。

在软件商店找到Redis,然后点击安装即可。可以安装最新的。

安装完毕之后,大家可以去设置页面看看能改哪些配置,试着自己随意修改玩耍一下。

建议给Redis设置一个密码,如果要Redis可以远程访问的话,那是必须要设置密码的。

NGINX

安装NGINX和安装之前的俩软件都一样,找到NGINX点击安装即可。基本上就是iPhone在AppStore找到软件点击安装,没有什么含金量。

6、填写NGINX配置部署前端;运行jar部署后端

6.1Java环境

既然是要在Linux系统中运行有关Java的项目,那么Java环境必不可少。在群文件下载Java后到Linux任意目录解压,设置环境变量,然后运行一个代码(这个代码我不能打出来,否则无法同步到微信公众号,请看视频。。。真服了)。建议看视频,文字方面描述有点费文字,而且还同步不到微信公众号,真奇葩。。

6.2 填写NGINX配置部署前端

部署前端之前,需要先把ruoyi-ui打包。我们找到ruoyi-ui的package.json文件的下面小三角,点击小三角,然后点击运行,等待打包完成,如图:

图片

打包后,会生成一个dist文件夹,如图所示:

图片

我们需要通过Xftp将dist文件夹拷贝到我们购买云服务器的一个目录,我这里新建了一个用户wqj,将其dist文件夹拷贝到wqj下的一个目录专门存放静态资源,如下:

图片

拷贝dist资源到该文件夹下:

图片

到这里我们去宝塔面板配置Linux面板的NGINX配置。

找到NGINX配置修改处,如图:

图片

填入下面的配置,前端就算是配置完毕:

user  www;

worker_processes auto;

error_log  /www/wwwlogs/nginx_error.log  crit;

pid        /www/server/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

    {

        use epoll;

        worker_connections 51200;

        multi_accept on;

    }

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    client_max_body_size 100m;

    #用于tomcat反向代理,解决nginx 504错误

    proxy_connect_timeout 7200; #单位秒

    proxy_send_timeout 7200; #单位秒

    proxy_read_timeout 7200; #单位秒

    proxy_buffer_size 16k;

    proxy_buffers 4 64k;

    proxy_busy_buffers_size 128k;

    proxy_temp_file_write_size 128k;

    # ps:以timeout结尾配置项时间要配置大点

    server {

        listen       80;

        server_name  localhost;

charset utf-8;

location / {

            root   /home/wqj/staticResources/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:8765/;

}

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

这里要求,后端端口为8765。同时前端的静态资源已经准备好,在/home/wqj/staticResources/dist目录之下。

6.3 运行jar部署后端

后端可以部署的方式,首先直接运行jar是肯定可以的。此外,可以单独开docker容器运行在容器中。

但是这里运行在容器中必要性,其实并不大。

当前我们直接运行jar来运行后端。后面推出集成docker。

直接运行jar包的方式,首先需要打一个jar包。我们在后端项目中点击package进行打包(打包前,需要修改yml中的端口为8765),如图:

图片

请各位同学注意,这是 root的package,不要打到admin或者common的package了。打包root的可以把其他全部都自动打包。

打包之后,在ruoyi-admin下面的target目录下找到打好的jar包,将它通过xftp上传到服务器。然后通过命令nohup java -jar xxxxx   &来运行该jar包。这里文字描述过于苍白,请看视频。

运行完毕之后,可以在当前运行jar的目录,通过tail -f nohup.out命令来看运行的控制台输出。

图片

至此,前后端都部署完毕,那么我们通过IP地址在本机访问一下是否能访问到呢?

答案是访问不到,原因是Linux有防火墙,我们需要关闭Linux自带的防火墙才能让外界得以访问。一般不关闭防火墙,而是开放端口,这里我们将80端口暴露在公网。

有了宝塔Linux面板,这件事会变得异常简单。

我们只需要输入在下面页面输入80,描述信息随意输入,再点击放行即可:

图片

此时访问http://wangqingjiang.top,发现成功了:

图片

我能用域名访问,是因为我购买了域名,而且做了备案,所以可以用域名访问。各位同学需要用IP地址来访问。

猜你喜欢

转载自blog.csdn.net/weixin_54048131/article/details/132352242