SpringBoot项目部署到阿里云服务器的实现步骤


Posted in Java/Android onJune 28, 2022

SpringBoot项目部署到阿里云linux服务器全流程

SpringBoot项目部署到阿里云服务器的实现步骤

文章里所有需要的软件、jdk、mysql、xshell等下载地址:

Xshell 5 下载地址:https://www.3water.com/softs/56322.html

jdk下载地址:https://www.3water.com/softs/698365.html

tomcat下载地址:https://www.3water.com/softs/9974.html

一、申请阿里云服务器

1.1 前往阿里云官网:https://www.aliyun.com/
1.2 注册一个账号,登陆账号
1.3 按如下步骤申请一个云服务器:

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

1.4按照自己的需要,选择合适的服务器配置,如果对配置不懂的,那你可以选择“一键购买”,买个差不多的服务器。注册过程中会让你设置账号密码什么的,还有一个远程登陆密码,拿个笔记记下来,丢了就GG了。
注:笔记需要记录的有 远程连接密码(6位数字)、公网IP、服务器账号、服务器密码(有特殊符号,数字,字母的那个)

SpringBoot项目部署到阿里云服务器的实现步骤

1.5 购买完成后,回到首页,点击 “控制台”>>“云服务器ECS”>>“实例”

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

 

SpringBoot项目部署到阿里云服务器的实现步骤

1.6 在实例列表中就可以看到我们购买的云服务器。点进去,我们需要对服务器的安全组进行设置

SpringBoot项目部署到阿里云服务器的实现步骤

1.7 安全组中除了自带的规则,我们还需要添加几个新的安全组

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

1.8 回到“实例列表”,点击 实例ID 进入服务器,点击 ”远程连接“,输入6位连接密码,就可以看到我们申请的这个服务器了。

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

1.9 然后我们按任意键登陆登录服务器,输入用户账号密码(密码是很复杂,要求有特殊符号!@#的那个,密码输入过程中是不可见的,输完直接回车就行)

SpringBoot项目部署到阿里云服务器的实现步骤

1.10 至此整个阿里云服务器的申请就算完成了。

二、Xshell 的安装使用

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

2.2 Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器

2.3 Xshell下载官网:https://xshell.en.softonic.com/(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 5)

2.4 下载完了选择安装路径开始安装,这个软件很小,安装也简单,安装过程中不会出现问题(新手的我也一路畅通)

2.5 打开Xshell们可以看到如下界面:

SpringBoot项目部署到阿里云服务器的实现步骤

2.6 新建一个会话,拿出之前的笔记,将公网IP输入到主机栏,端口号设置为22(服务器的监听端口,ftp默认为21,sftp为22,如果你设置22连不进去,那就换21试一下)

SpringBoot项目部署到阿里云服务器的实现步骤

2.7 点击 ”确定”>>“连接”,继续拿出笔记,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,如下图。

SpringBoot项目部署到阿里云服务器的实现步骤

SpringBoot项目部署到阿里云服务器的实现步骤

2.8 登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。

SpringBoot项目部署到阿里云服务器的实现步骤

三、云服务器上jdk的安装

3.1 先用Xshell 连接到你的云服务器(或者直接在阿里云官网中远程连接也行)

3.2 在你的本地Windows系统中下载 Linux系统下的jdk,jdk下载官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。下载你需要的jdk版本,我用的是 jdk-8u221-linux-x64.tar.gz 。

SpringBoot项目部署到阿里云服务器的实现步骤

3.3 下载完以后是这样的

SpringBoot项目部署到阿里云服务器的实现步骤

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

yum install lrzsz

SpringBoot项目部署到阿里云服务器的实现步骤

3.5 我们要把上传的文件放到哪个目录,就要先cd进入那个目录。我们申请的服务器的初始目录结构如下:(cd命令:进入目录)

SpringBoot项目部署到阿里云服务器的实现步骤

现在我们要把这个jdk安装包放到**/usr/java**目录下(如果没有该目录则需要创建目录。最好跟着我的安装路径来,不然后面的环境设置会比较麻烦),所以我们一步步cd到这个目录下:

SpringBoot项目部署到阿里云服务器的实现步骤

然后 rz 把安装包上传上去(rz命令:上传文件)

rz

执行rz命令会弹出一个文件选择框,选择安装包上传

SpringBoot项目部署到阿里云服务器的实现步骤

上传中,等待上传完毕

SpringBoot项目部署到阿里云服务器的实现步骤

传输完毕,点击“关闭”

SpringBoot项目部署到阿里云服务器的实现步骤

使用ls命令查看目录。可以看到,我们刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件)

SpringBoot项目部署到阿里云服务器的实现步骤

3.7 接下来解压安装包就算安装成功了!使用tar命令解压压缩包,如果你下载的版本跟我不一样,记得把包名改成你自己的版本 。(tar命令:解压)

tar -zxvf jdk-8u221-linux-x64.tar.gz

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

export JAVA_HOME=/usr/java/jdk1.8.0_221
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

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

SpringBoot项目部署到阿里云服务器的实现步骤

进来以后是下面这个界面,按 i 键入编辑。

SpringBoot项目部署到阿里云服务器的实现步骤

3.9 在文件的最后把上面的代码打进去,如果你的jdk版本跟我不一样,记得把 export JAVA_HOME=/usr/java/jdk1.8.0_221 这一行改成你自己的版本。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。

SpringBoot项目部署到阿里云服务器的实现步骤

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

SpringBoot项目部署到阿里云服务器的实现步骤

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

java -version

SpringBoot项目部署到阿里云服务器的实现步骤

四、linux云服务器安装mysql

请参考mysql安装手册

五、部署SpringBoot项目

5.1 linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
5.2 回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置
打开pom.xml,添加如下语句,将项目的打包形式设置好

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

SpringBoot项目部署到阿里云服务器的实现步骤

打开application.properties,设置项目运行端口(我用的是8800,默认是8080,如果你用的是别的端口,要在这篇文章的1.7章节中把你的端口加入到安全组中去)

SpringBoot项目部署到阿里云服务器的实现步骤

打开application.yml,设置端口,连接数据库

SpringBoot项目部署到阿里云服务器的实现步骤

5.3 (eclipse软件打包)项目打包成jar包,右键项目 >> Run As >> Maven install

SpringBoot项目部署到阿里云服务器的实现步骤

idea(打包)

SpringBoot项目部署到阿里云服务器的实现步骤

项目打包中

SpringBoot项目部署到阿里云服务器的实现步骤

5.5 把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录

SpringBoot项目部署到阿里云服务器的实现步骤

5.6 耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包

SpringBoot项目部署到阿里云服务器的实现步骤

5.7 我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错

查看端口使用情况

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

SpringBoot项目部署到阿里云服务器的实现步骤

可以看到这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID

sudo lsof -i:8800 //sudo lsof -i:<端口号>

SpringBoot项目部署到阿里云服务器的实现步骤

我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空)

sudo kill -9 26191 //sudo kill -9 <PID>

SpringBoot项目部署到阿里云服务器的实现步骤

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

java -jar ***.jar //***为你的jar包名

SpringBoot项目部署到阿里云服务器的实现步骤

5.9 随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了(如果你跟我一样,买的是学生优惠版的,它的带宽速度只有1M,第一次载入会非常慢,耐心等等,等有了钱,升级个好一点的吧)

SpringBoot项目部署到阿里云服务器的实现步骤

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

5.11 我问执行这句代码让程序一直在后端运行

nohup java -jar ***.jar & //***为你的jar包名

5.12在后端查看日志

tail -f nohup.out

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

5.15 但是有没有发现我们的网站跟别人的不太一样?别人访问网站都是www.***.com的格式的,而我们却要打一串复杂难记的数字。其实www.***.com是一个类似指针的东西(叫做域名),它指向的地址就是我们公网IP。这个指针在阿里云上就可以申请

5.16在阿里云官网搜索“域名”

SpringBoot项目部署到阿里云服务器的实现步骤

5.17 找到和自己心意的域名,选好后在右边的域名清单里给钱结算

SpringBoot项目部署到阿里云服务器的实现步骤

5.18 进入控制台,可以看到你购买的域名

SpringBoot项目部署到阿里云服务器的实现步骤

5.19 选择你要操作的域名,点击“解析”

SpringBoot项目部署到阿里云服务器的实现步骤

5.20 然后按我下面的格式填好,确定保存。

SpringBoot项目部署到阿里云服务器的实现步骤

5.21 然后我们就可以通过 www.域名.com:8800 的方式访问我们的网站了

SpringBoot项目部署到阿里云服务器的实现步骤

5.22 然后发现,好像还是不对啊,别人家的网站后面不需要带端口号啊。emmmmm,这个就牵扯到备案的问题了,阿里云的客服告诉我,需要购买3个月后的服务器才具备备案资格,备案审核成功后我们才能通过 www.域名.com访问网站。等着吧,现在只能将就用着了。
前端项目如何部署到阿里云的oss请参考我这边文章:https://www.3water.com/article/253330.htm

参考文章:

https://blog.csdn.net/whh18254122507/article/details/78011713
https://blog.csdn.net/pts315414/article/details/79076230
https://blog.csdn.net/qq_34975710/article/details/83989642
https://yq.aliyun.com/articles/292609
https://blog.csdn.net/weixin_39800144/article/details/78836289
https://blog.csdn.net/sinat_30436087/article/details/80669767

到此这篇关于SpringBoot项目部署到阿里云服务器的实现步骤的文章就介绍到这了,更多相关SpringBoot项目部署到阿里云内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Java/Android 相关文章推荐
浅谈Java实现分布式事务的三种方案
Jun 11 Java/Android
Java输出Hello World完美过程解析
Jun 13 Java/Android
MybatisPlus代码生成器的使用方法详解
Jun 13 Java/Android
JPA如何使用entityManager执行SQL并指定返回类型
Jun 15 Java/Android
java实现对Hadoop的操作
Jul 01 Java/Android
解决SpringBoot文件上传临时目录找不到的问题
Jul 01 Java/Android
JavaWeb 入门篇(3)ServletContext 详解 具体应用
Jul 16 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 Java/Android
SpringBoot整合minio快速入门教程(代码示例)
Apr 03 Java/Android
Java十分钟精通进阶适配器模式
Apr 06 Java/Android
Java详细解析==和equals的区别
Apr 07 Java/Android
Java中Dijkstra(迪杰斯特拉)算法
May 20 Java/Android
Java多线程并发FutureTask使用详解
java.util.NoSuchElementException原因及两种解决方法
Jun 28 #Java/Android
Java实现HTML转为Word的示例代码
Jun 28 #Java/Android
Android实现图片九宫格
springboot 全局异常处理和统一响应对象的处理方式
Jun 28 #Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 #Java/Android
Android RecyclerView实现九宫格效果
Jun 28 #Java/Android
You might like
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
基于jquery的滑动样例代码
2010/11/20 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
python判断字符串是否纯数字的方法
2014/11/19 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
实施意见格式范本
2015/06/05 职场文书
2016高考感言
2015/08/01 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers