目录

前言

环境和软件

目录结构

项目截图

购买云服务器

宝塔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,最初步搭建起来的一个框架,还有很多需要完善的地方,适合新手,同样也提供给我自己记录学习。


购买云服务器

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

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

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

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

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

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

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

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

宝塔Linux面板(快速搭建)

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

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

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,在后面会说到。

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

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


部署项目到服务器上

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

  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的配置。

生成jar包

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

上传jar包

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

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

打包前端代码

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

上传dist文件内容

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

配置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.conflocation /auth {rewrite ^/auth/(.*) /$1 break;#保留代理之前的hostproxy_set_header    Host             $host;#保留代理之前的真实客户端ipproxy_set_header    X-Real-IP        $remote_addr;proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;#在多级代理的情况下,记录每次代理之前的客户端真实ipproxy_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;#保留代理之前的hostproxy_set_header    Host             $host;#保留代理之前的真实客户端ipproxy_set_header    X-Real-IP        $remote_addr;proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;#在多级代理的情况下,记录每次代理之前的客户端真实ipproxy_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://你的公网地址 

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

运行jar包

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

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

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

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

命令行运行效果如下:

导入数据库文件

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

项目演示

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

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

关于远程连接

最后关于远程连接的问题,如果想要在本地连接云服务器,我使用本地的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

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

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

  1. Babylonjs 最全demo集合 (内附源码)

    Babylonjs 最全demo集合 (内附源码) 为了方便学习Babylonjs引擎,整理了130多个示例,并且所有的例子全部本地化了,可以离线部署.以后会分别讲解. 一.源码模块介绍 Animat ...

  2. springboot项目之部署阿里云服务器--简版

    部署阿里云服务器(简易版) 1.你需要有服务器的ip以及所对应的密码,我就不再教.这里推荐mobaxterm或xhell或putty. 2.服务器上要安装相应的软件,jdk(对应的版本).maven. ...

  3. spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器

    Spring Boot项目打包并部署到云服务器 一.云服务器的环境 OS: CentOS 7 Jdk 1.8 Spring Boot自动集成Tomcat,不需要单独配置 二.本地Spring Boot ...

  4. 坑:jmeter部署AWS云服务器时出现连接超时Non HTTP response code: org.apache.http.conn.HttpHostConnectException...

    背景: jmeter脚本部署到云服务器(AWS EC2)公网上时,启动jmeter脚本运行了5个小时才运行完毕,后面发现脚本报错timeout(如图),找了很久不知道原因,后面进入脚本发现全部在报错. ...

  5. Java项目部署到云服务器的思路

    Java项目部署到云服务器的思路 1 部署项目的前提条件 1.1 购买云服务器 我购买的是腾讯云的服务器,第一年享优惠88一年 cpu好像两核的,作为入门级的也算够用了 如果第二年该续费的时候,我记得 ...

  6. 将node项目部署到云服务器详细教程 原创

    前言: 需要有node项目,并且能在本地服务器成功运行成功 一.购买云服务器 云服务器种类很多,价格都差不多,我这里购买的是ecs计算型云服务器,配置2核4G5M的配置基本就可以运行项目. 服务器购买 ...

  7. arm搭建云手机教程_教你从0开始部署阿里云服务器,阿里云服务器搭建网站教程...

    教你从0开始部署阿里云服务器,阿里云服务器部署网站的办法,阿里云搭建项目的办法,阿里云服务器搭建网站教程 1.购买 登录官网点击下面链接: 企业上云甄选​partner.aliyun.com 查看云服 ...

  8. ssm项目直接加html文件,如何把ssm项目和vue项目部署在云服务器(上)

    如何把ssm项目和vue项目部署在云服务器(上) 如何把ssm项目和vue项目部署在云服务器(上) 一.引入 URL的概念理解 在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL( ...

  9. hexo部署到云服务器

    title: hexo部署到云服务器 云服务器部署 1.查看本文章的前提是已经在本地搭建好了hexo框架的博客 2.服务器系统centOS7.6(华为云) 服务器环境搭建 使用yum安装nginx作为 ...

最新文章

  1. solaris10修改IP
  2. python基础之import模块导入和包的调用
  3. python nlp包_StanfordNLP,让你在 Python 里一手掌握 53 种自然语言分析
  4. Python学习笔记(基础知识点一)
  5. Python——web.py模块错误【UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xab in position 285】解决方案
  6. Android Camera 流程学习记录(五)—— Camera.takePicture() 流程解析
  7. 小米5安卓使用微信X5 Blink内核调试
  8. hadoop 配置文件
  9. 成都睿铂x云南省地矿测绘院:丽江玉龙高精度地籍免像控案例分享
  10. android translateanimation动画,Android 动画之TranslateAnimation应用详解
  11. 微信小程序开发上线注意事项
  12. 正高、正常高和大地高的区别
  13. 神经元的细胞体内有什么,神经元的细胞体在哪里
  14. 分享几个做CTF的网站
  15. python最早诞生于什么国_类型学最早诞生于哪个学科?()
  16. 异步传输模式 Asynchronous Transfer Mode
  17. 双软企业认定(软件产品/软件企业认定)
  18. python写的程序怎么打包手机app_Python Kivy(App开发) Windows安装打包步骤
  19. 红尘烟火,在等谁的相濡以沫?
  20. 哥玩的不是劲舞,是寂寞【古龙版】

热门文章

  1. 利用charles伪造媒体的本地贴片广告和flash广告
  2. 开发疣猪飞行摇杆A10C(第一章)
  3. 小草科技4G/5G多卡聚合融合通信设备在消防行业领域解决方案
  4. 取消wps右键菜单_WPS演示技巧—制作浪漫表白动态演示PPT
  5. GLSL三种基本类型(着色器语言三种变量)
  6. 机器学习斯坦福公开课第一讲
  7. 蚂蚁金服商业化资深总监韩鸿源:数据库是技术能力,云是使用方式,两者不应是竞争关系...
  8. 美赛真题和优秀论文(2019-2021)
  9. 文末赠书5本 | 附源码 | 三等奖作品 | 基于RA4M2和阿里云物联网平台的智能卧室小管家
  10. 【单片机毕业设计】【mcuclub-108】衣柜除湿照明 | 智能衣柜 | 智能储物柜 | 衣柜环境监测 | 多功能衣柜【仿真设计】