权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤

目录

前言

环境和软件

目录结构

项目截图 

购买云服务器

宝塔Linux面板(快速搭建)

部署项目到服务器上

安装软件

修改配置文件

 生成jar包

 上传jar包

打包前端代码

上传dist文件内容 

配置nginx服务器

测试前端

运行jar包 

导入数据库文件

项目演示

关于远程连接


前言

这是一个不完整的权限管理系统的demo(如果你想改成其他系统的crud也可以,大同小异)

后端使用spring boot:spring boot其实就是善于使用注解和配置文件的spring,是它的简化版,快速高效容易修改配置。

前端vue+elementUI:element-网站快速成型工具,很好的框架。

环境和软件

使用软件是IntelliJ IDEA 2019.3 x64 +HBuilderX

运行环境 jdk1.8+tomcat 9.0+nginx 1.12+mysql 5.6+redis 6.2.4

目录结构

话不多说,先看一下目录结构。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第1张图片

 

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第2张图片

 目录文件不细说,一般展开来后都是这种结构:

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第3张图片

 

 如果需要调用一些方法(加密,国际化,换主题等),最好是多创建一个工具类的包来存放。


项目截图 

运行一下项目,项目截图如下:

登录界面

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第4张图片

 首页

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第5张图片

 角色管理界面

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第6张图片

 电脑显示屏尺寸问题,之前在另一台电脑尺寸比较大,大家自行调整。

项目演示完毕,只是一个简单的demo,最初步搭建起来的一个框架,还有很多需要完善的地方,适合新手,同样也提供给我自己记录学习。


购买云服务器

接下来是把项目部署到云服务器上,我使用的是阿里云服务器,学生认证的话免费使用两个月,不想认证的话新人1核2G一年也不到一百块,有经济能力的可以考虑。

一般进入阿里云官网,点击云服务器ECS就可以查看自己想要购买的云服务器信息,或者查看自己已经创建了的服务器实例信息。阿里云链接如下:

https://www.aliyun.com/activity/new?utm_content=se_1009238830

一般的云服务器都是使用linux系统(看个人喜好选择版本),centos7版本应该是比较多人用的,慎选centos6版本!下面是我的系统版本描述。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第7张图片

首先我们需要下载一些辅助工具,让后续的操作更加简单快捷方便。

 学过linux的一般都知道XShell和Xftp这两个远程连接工具,可以免费下载,链接如下:

https://www.netsarang.com/zh/xshell-download/

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第8张图片

 远程连接后对命令的发送和文件的传输都非常的方便,尤其是Xftp传输文件对小白非常友好。

宝塔Linux面板(快速搭建)

接下来还有一个非常重要的推荐,宝塔linux面板

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

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第9张图片

 

Centos安装脚本(进入命令行输入下面命令)

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完后,会在命令行给出你的账户名和密码,还有登录地址,类似这种

username: sd14gfh5
password: 78e2f2a4

外网面板地址: http://xxx.xx.xx.xx:8888/d4hh5t5e
内网面板地址: http://xxx.xx.xx.xx:8888/d4hh5t5e

访问宝塔面板之前,还需要进入云服务器中对应的实例,配置安全组规则。开放8888访问权限(8888是宝塔面板的默认端口,登录之后可以自行修改)其他的端口如果需要也是在安全组规则中开放,才能进行访问。

如果有一些软件开放了端口之后还是无法远程连接或者访问的话,应该是软件的默认配置问题,需要修改相应的配置文件来允许访问,像我遇到的redis,在后面会说到。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第10张图片

 

接下来根据给定的地址和用户名密码可以进入宝塔Linux面板

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第11张图片

 可以看出,使用面板可以进行许多一键完成的操作,可以实现管理数据库,安装环境和软件,部署网站,操作命令行等等,功能强大。如果我们想要快速部署,新手建议使用。


部署项目到服务器上

在上面我们提到成功运行该项目,需要的环境有:

  1. jdk1.8
  2. tomcat 9.0
  3. nginx 1.12
  4. mysql 5.6
  5. redis 6.2.4

同样地,部署到云服务器中也需要这些东西。

安装软件

1.首先是jdk,这是必不可少的,一般看你电脑上的jdk版本和平时常用的jdk版本,使用哪个版本就去云服务器上下载对应的版本,但由于我的云服务器上有自带的 jdk1.8,用java -version可以查看自己已经安装,就没有重新安装。

如果想要自行安装,可以参考下面这篇:

https://blog.csdn.net/qq_21187515/article/details/90295031

2.其他的像tomcat,nginx,mysql,redis都可以直接在宝塔Linux面板中下载使用。

如果没有找到对应的型号或者想要自己安装的话,可以去官网下载对应的压缩安装包(Linux版本)然后上传到Linux的指定文件夹中,如/export/software(仅供参考), cd 进入该安装包的文件夹后,对压缩包进行解压

tar -zxvf 压缩包名称(解压之前先在目录中ls查看文件名称,然后复制过来,防止打错)

 解压之后会得到一个同名的文件夹,有些软件直接cd进入文件夹执行运行文件就可以了,有些则需要修改环境变量或者配置文件,可以参考上面那篇centos安装jdk的文件。


现在,安装环境和软件都已经搞定,接下来就是把自己的项目部署到系统中。

修改配置文件

首先,修改项目中各个模块的配置文件,主要是数据库和redis的配置。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第12张图片

 生成jar包

修改完配置后,确认项目无误,点击右侧的maven按钮,clean之后进行package打包操作,把项目制作成jar包。package之后生成的jar包生成在该项目目录下的target文件夹下

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第13张图片

 

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第14张图片

 上传jar包

 找到jar包后,通过xftp上传到云服务器的Linux中。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第15张图片

 接下来先忽略jar包,打包前端代码。

打包前端代码

打包代码非常简单,运行npm run build命令之后,会生成一个dist 文件夹。

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第16张图片

上传dist文件内容 

把dist文件上传到Linux文件夹中

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第17张图片

配置nginx服务器

接下来配置nginx服务器,修改nginx目录下的nginx.conf文件

修改nginx的nginx.conf

在server节点中
//root后的路径是你刚才上传了dist内容的文件夹
location / {
    root   /export/data/html;
    index  index.html index.htm;
}

然后是配置nginx代理,同样是修改修改nginx目录下的nginx.conf文件

修改nginx的nginx.conf

location /auth {
    rewrite ^/auth/(.*) /$1 break;
    #保留代理之前的host
    proxy_set_header    Host             $host;
    #保留代理之前的真实客户端ip
    proxy_set_header    X-Real-IP        $remote_addr;
    proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
    #在多级代理的情况下,记录每次代理之前的客户端真实ip
    proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
    #表示客户端真实的协议(http还是https)
    proxy_set_header X-Forwarded-Proto $scheme;
    #9000是auth服务的端口号
    proxy_pass http://127.0.0.1:9000;
}

location /permission {
    rewrite ^/permission/(.*) /$1 break;
    #保留代理之前的host
    proxy_set_header    Host             $host;
    #保留代理之前的真实客户端ip
    proxy_set_header    X-Real-IP        $remote_addr;
    proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
    #在多级代理的情况下,记录每次代理之前的客户端真实ip
    proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
    #表示客户端真实的协议(http还是https)
    proxy_set_header X-Forwarded-Proto $scheme;
    #9001是permission服务的端口号
    proxy_pass http://127.0.0.1:9001;
}

测试前端

 接下来重启nginx服务器,输入

http://你的公网地址 

应该可以看到一个初步的页面

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第18张图片

运行jar包 

前端部署完成后,利用刚才的jar包运行Java程序

运行java程序
#加上前面的 nobup 和后面的 & 号可以让程序在后台运行
nohup java -jar permission-server-0.0.1-SNAPSHOT.jar &

项目运行之后,查看是否在正在运行

 查看运行的java程序
 ps -ef|grep java

命令行运行效果如下:

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第19张图片

导入数据库文件

 这时候前后端都已经部署完成,别忘了导入数据库文件,使用面板中的数据库管理比较方便。

项目演示

前端演示的地址:http://120.79.161.120/#/

可以看见本来运行在本地的spring boot项目已经成功在云服务器上运行 

权限管理系统demo(springboot+elementUI)内附部署到云服务器步骤_第20张图片

关于远程连接

 最后关于远程连接的问题,如果想要在本地连接云服务器,我使用本地的RedisDesktopManager尝试连接遇到的一个问题就是无法连接,其原因一般是没有开启安全组规则,如果开启安全组规则之后还是无法连接的话,一般是因为 redis 的默认配置文件redis.conf中的

protected-mode 默认设置为yes(即默认开启保护默认)

把 protected-mode 设置为no   (也就是关闭保护模式)

同时把bind 设置为 0.0.0.0,也可以把daemonize 设置为yes (后台运行)

以上操作后,本地的RedisDesktopManager就可以连接到云服务器的redis了。

本地连接云redis详情可以参考下面文章:

https://www.cnblogs.com/impyu/p/12613689.html

到此结束,有错误请指正,菜鸟一枚,很多东西深入了都不太会,文章仅供参考。

你可能感兴趣的:(随手记,云服务器,elementui,java,spring,boot,idea)