SpringBoot项目部署到阿里云服务器(傻瓜攻略)2021最新版

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

一、申请阿里云服务器

1.1 前往阿里云官网:https://www.aliyun.com/

1.2 注册一个账号,登陆账号

1.3 申请一个云服务器。

我是申请的学生价服务器,轻量级应用服务器,附带CenbOS;

1.4 购买完成后,进入控制台,如图点击:

1.5 添加规则


购买后,自动附带前三个规则,因为我们还需要部署数据库,所以要添加一个端口3306的数据库,如下图:

1.6 回到服务器列表,点击远程连接

然后会有手机验证等,设置密码之类的

到这,服务器申请就结束了

XSEHLL连接

每次远程连接都用网页链接肯定是不够方便的,所以我们需要一个工具能够直接在本地就能链接到我们的服务器,也就是xshell。

shell下载安装略过

Xshell下载官网:https://xshell.en.softonic.com/

shell使用

打开shell后,按照如下图所示,开始填写

第三步写你的服务器的公网ip。
之后输入账号密码,如果服务器你的账号密码没改的话,账号一般是root,密码就是你之前修改的密码,记得点下记住账号和密码。

登录成功

登录成功后会显示下面这个界面

服务器安装jdk

先用shell链接你的服务器

安装jkd

在你的本地Windows系统中下载 Linux系统下的jdk,jdk下载官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
下载你需要的jdk版本,我用的是 jdk-8u291-linux-x64.tar.gz 。
下好后放在桌面都可以。

安装rz命令

yum install lrzsz
这个可以让允许我们直接拖拽,将文件传进服务器,当然xshell自带的xftp也是可以的。

创建java目录

执行下面命令
cd /usr
mkdir java
cd java/
好了,这样我们就到了目标目录,我们的jdk文件需要放在这
直接将本地下好的jdk文件拖拽进去。

安装jdk

输入ls命令,查看当前目录,可以看到jdk已经在了

执行解压
tar -zxvf jdk-8u221-linux-x64.tar.gz
设置环境变量
vim /etc/profile
在这个里面添加以下代码,记得按i进入编辑环境
`

java

export JAVA_HOME=/usr/java/jdk1.8.0_291
export CLASSPATH=\(JAVA_HOME/lib/ export PATH=\)PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
![](https://img2020.cnblogs.com/blog/2029699/202104/2029699-20210422145058266-964344770.png) 之后按esc再输入wq,使改变成功并退出 ![](https://img2020.cnblogs.com/blog/2029699/202104/2029699-20210422145148310-1423874752.png) 执行source命令,使环境变量生效source /etc/profile`
好了,到这jdk就安装ok了
现在看看称没成功
输入命令,如果展示以下的,就说明ok了

安装mysql

下载mysql

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装sql服务器
yum -y install mysql-community-server

到这就装完了

mysql数据库设置

启动mysql
systemctl start mysqld.service
查看状态
systemctl status mysqld.service

说明已经在运行了
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log

mysql -uroot -p
输入初始密码(是上面图片最后面的 no;e!5>>alfg),此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功

开启mysql远程访问权限

执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启所有的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
当然我是直接选择%
之后执行下面命令
mysql> flush privileges; mysql> exit

为firewalld添加开放端口

添加mysql端口3306和Tomcat端口8080

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent

然后再重新载入

[root@localhost ~]# firewall-cmd --reload

更改mysql的语言

首先重新登录mysql,然后输入status:

可以看到,绿色箭头处不是utf-8

因此我们先退出mysql,然后再到、etc目录下的my.cnf文件下修改一下文件内容

进入后新增四行代码

保存更改后的my.cnf文件后,重启下mysql,然后输入status再次查看,你就会发现变化啦

最后,到Windows下用cmd命令启动mysql啦!!

部署springboot项目

jar包设置

linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置
打开pom.xml,添加如下语句,将项目的打包形式设置好
<!-- 打包成jar包 --> <packaging>jar</packaging>
打开application.properties,设置项目运行端口(默认是8080,如果你用的是别的端口,要在这篇文章前面中把你的端口加入到安全组中去)

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

idea(打包)

按步骤执行

jar包上传

直接拖拽即可

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

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

查看端口使用情况
netstat -anp | grep 8800 //netstat -anp | grep <端口号>
我的是没有被占用的,如果被占用了,如下图(PS:这个命令是模糊查询,所以看清楚点)

可以看到这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID
sudo lsof -i:8800 //sudo lsof -i:<端口号>

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

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

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

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

至此结束!

浏览器查看

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

启动设置

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

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

在后端查看日志
tail -f nohup.out

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

域名设置

略过,看参考链接

参考链接

https://blog.csdn.net/qq_36582604/article/details/80526287
https://blog.csdn.net/allen_csdns/article/details/104554928

posted @ 2021-04-22 15:11  HKnight  阅读(2881)  评论(0编辑  收藏  举报