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