ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

山东大学项目实训-地图圈系统-后端开发(4)

2021-04-09 20:58:19  阅读:185  来源: 互联网

标签:java 后端 数据库 项目 jar 实训 Xshell 服务器 山东大学


SpringBoot项目部署到阿里云服务器

一、说明

上一周已经成功编写了几个基本且简单的后台接口,但是只能在本机上才能成功的访问到后台接口,组内其他同学是没有办法访问到后台接口的,为了让前端的同学可以访问到后台接口,就要把Spring Boot项目部署到一个服务器上,这一周的工作是部署服务器,然后把Spring Boot部署到服务器上运行,让前端同学也可以访问到后台接口。

二、部署ECS服务器

1、购买阿里云服务器

阿里有一个开发者成长计划,学生经过认证和测试后可以免费试用两个月,测试是关于云服务器的一些基本的连接测试,很简单,大约十五分钟就可以完成,这里就不再一一赘述。然后领取服务器,选择服务器的配置:
在这里插入图片描述
地域选择华北2北京,本来想选择华北1青岛,但是华北1青岛的服务器已经没有剩余,只能选择剩余地域中离济南最近的北京,因为距离近可以提升用户访问速度。

操作系统选择CentOS7.5,原因是官方建议ASP、.NET、HTML、数据库ACCESS、SQL Server建议选择Windows;PHP、PERL、CGI、数据库MySQL、SQLite建议选择Linux。我的数据库采用的是MySQL,于是选择了Linux操作系统CentOS7.5。

购买完成后,进入阿里云首页,点击 “控制台”>>“云服务器ECS”>>“实例”,进入到一下页面:
在这里插入图片描述
在实例列表中就可以看到我们购买的云服务器,点进去,我们需要对服务器的安全组进行设置
在这里插入图片描述
点击配置安全组规则,进入到以下页面:
在这里插入图片描述
点击该安全组,进入以下页面配置规则:
在这里插入图片描述
之前我已经配置完毕,只是手动添加了一个新的规则,因为我的Sprint Boot使用的端口号是8800,为了前端同学可以访问到接口,因此要添加新的端口号8800,如上图优先级为1的规则。

返回实例列表页面,重置实例密码:
在这里插入图片描述
因为我不知道初始化的密码是多少,因此我需要重置。

2、Xshell的安装使用

简单测试一下,会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以采用别的方式登录这个云服务器。

Xshell是一个终端模拟软件,换言之,只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器。
打开Xshell们可以看到如下界面:
在这里插入图片描述
新建一个会话,将公网IP输入到主机栏,端口号设置为22,但由于我之前已经建立了连接(如上图),此处就不再粘贴新建会话的图。

点击 ”确定”>>“连接”,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,也就是我刚才重置后的密码(由于我第一次连接时勾选了记住密码,因此下面的图中没有输入密码的表单),如下图:在这里插入图片描述
登录成功,进入服务器。以后就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,springboot部署等操作了。
在这里插入图片描述

3、在云服务器上安装jdk

先用Xshell连接到云服务器(或者直接在阿里云官网中远程连接也行),然后在本地Windows系统中下载 Linux系统下的jdk。

应当根据实际情况下载需要的jdk版本,我的Spring Boot项目用的是jdk11,因此我要下载jdk11。下载后的文件是jdk-11.0.10_linux-x64_bin.tar。

然后我们要把这个文件传到云服务器上去。听起来很高端,其实很简单的。在Xshell上执行rz命令就可以实现。首先我们要在云服务器上安装这个命令。

在Xshell中执行:

yum install lrzsz

要把上传的文件放到哪个目录,就要先cd进入那个目录。这里我选择的目录是/usr/java,但是服务器起初没有这个目录,要创建,因此执行以下命令:

cd usr
mkdir java

然后进入到该目录下:

cd /usr/java

然后输入 rz 把安装包上传上去:

rz

在这里插入图片描述
等待上传完毕后使用ls命令查看目录。可以看到,刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件):
在这里插入图片描述
接下来解压安装包就算安装成功了!使用tar命令解压压缩包。(tar命令:解压):

tar -zxvf jdk-11.0.10_linux-x64_bin.tar.gz

然后就跟在windows系统下安装完jdk一样,还要设置系统环境变量。linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:

export JAVA_HOME=/usr/java/jdk-11.0.10
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

先cd进目录 /etc ,再使用 vim命令编辑文件profile(vim命令:编写修改文件内容):

cd etc
vim profile

进来以后是下面这个界面,按 i 键入编辑:
在这里插入图片描述
在文件的最后把上面的代码打进去。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。

立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句):

source /etc/profile

到这一步,jdk的安装就全部完成了。最后,再使用java命令验证一下,如果可以看到版本信息就可以了:

java -version

在这里插入图片描述
至此,服务器的部署完毕,接下来本来要在服务器上安装MySQL,但是又想试试云数据库,于是决定购买一个云数据库使用,同时也能学到如何部署和使用云数据库!

二、部署云数据库MySQL

1、购买云数据库MySQL

进入阿里云官网购买云数据库(各项配置不再重复):
在这里插入图片描述
进入控制台>>RDS数据库>>实例,可以看到以下界面:
在这里插入图片描述
点击实例进入详情页:
在这里插入图片描述

2、申请外网并添加白名单

返回实例详情页面,点击左侧“数据库连接”>>申请外网地址,这一步的目的是为了让本地机的Spring Boot项目可以成功访问到云数据库,否则项目运行时会报错:连接失败!申请完毕后,有如下显示:
在这里插入图片描述
可以看到已经生成了外网地址。

点击设置白名单,进入页面新,点击添加白名单分组,添加以下IP地址:
在这里插入图片描述
白名单IP段设置为0.0.0.0/0意味着对公网开放,请谨慎使用。若为了测试连接设置,测试后请立即修改。

白名单IP地址设置为127.0.0.1(初始化时的名单),表示禁止所有地址访问。

其他两个IP地址一个是本机的IP地址(233.99.16.122),一个是云服务器的公网(8.140.117.15)。

至此,本机可以访问云数据库了!

2、创建数据库

返回实例详情页面,点击左侧“数据库管理”>>创建数据库,有如下显示:
在这里插入图片描述
输入数据库名称“dituquan”,创建一个新账号,用户名是rootzwr,然后输入该用户名,再点击确定,即可成功创建数据库!

三、部署SpringBoot项目到云服务器

1、Spring Boot项目打包

linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。

回到本地windows Springboot项目,下面对项目做一些设置

打开pom.xml,添加如下语句,将项目的打包形式设置好

<!-- 打包成jar包 -->
	<packaging>jar</packaging>

打开application.yml,重新设置项目运行端口为8800,当然不设置也是可以的,只不过要把端口添加到安全组中。

项目打包成jar包,右键项目 >> Run As >> Maven install,项目打包成功,可以在左边target文件夹中看到项目的jar包,把它剪切到桌面,可以看到如下文件:
在这里插入图片描述
把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录:
在这里插入图片描述
耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包:
在这里插入图片描述

2、运行项目的jar包

要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错,查看端口使用情况:

netstat -anp | grep 8800   //netstat -anp | grep <端口号>

没有任何反应,说明没有被占用。

使用java指令运行项目jar包,这样项目就算部署成功了

java -jar demo-0.0.1-SNAPSHOT.jar  //***为你的jar包名

等待项目启动完成后,在浏览器输入http://8.140.117.15:8800/hello:
在这里插入图片描述
成功访问!至此,前端同学可以使用自己的电脑访问后端接口了!

打开Navacat15,建立与云数据库的连接:
在这里插入图片描述
这里的主机就是云数据库的外网地址,也就是刚才申请的地址。用户名和密码就是创建数据库时申请的账号。

连接成功后,打开dituquan数据库,可以看到有如下表:
在这里插入图片描述
说明Spring Boot项目成功在云数据库上创建了表!也就是说,Spring Boot项目成功连接了云数据库!

这种启动方式是一次启动,当关掉Xshell的时候,网站又访问不上了,又得重新打开Xshell,执行 java -jar demo-0.0.1-SNAPSHOT.jar。所以要使用下面的方法让这个项目在服务器上自动不间断地跑。

关掉重启一下Xshell(这样的话原本的项目就停掉了),创建并编写文件 start.sh,向其中添加字段 : java demo-0.0.1-SNAPSHOT.jar 。按ESC + :wq + 回车键保存退出。

给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令):

chmod 777 start.sh  //赋予管理员权限
nohup  ./start.sh &  //不间断运行文件内的指令

把Xshell关掉,在浏览器上输入http://8.140.117.15:8800/hello发现项目还是可以进入,说明已经设置成功了。至此springboot项目部署到阿里云服务器上完结!

四、总结

这一周成功部署了阿里云服务器和云数据库,并且把Spring Boot项目连接到了云数据库,并在云服务器上成功的跑了起来!准备工作完成,在接下来的工作中,主要工作就是开发接口了,因此要专注起来。任重道远,继续努力!

标签:java,后端,数据库,项目,jar,实训,Xshell,服务器,山东大学
来源: https://blog.csdn.net/Zwr198/article/details/115557510

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有