前言:本文解决的问题是已经将项目写好,该如何利用工具将其部署到阿里云服务器,所针对的项目类型为前后端不分离的SpringBoot项目

服务器:阿里云服务器

操作系统:centos7

数据库:mysql8

java环境:jdk1.8

项目管理工具及编译器:maven Idea

其他:宝塔面板 Navicate

打包项目

设置打包方式

有两种打包方式,即jar包和war包,本次操作选用的是jar包方式。

打开pom.xml,在project标签内输入<packaging>jar</packaging>,表示将项目打包成jar包

在plugins便签内输入下面的内容,使用maven打包

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

打包

点击package即可进行打包

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_02

打包好后在target文件夹下可以看到一个jar文件,这个文件便是我们打包好的项目

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_经验分享_03

打包数据库文件

因为项目的后台数据都在mysql数据库,因此要想项目正常启动还需要将这些数据打包成sql文件。

数据库管理软件我是用Navicate,如果使用的是其他软件,请自行百度,都大同小异

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_04

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql_05

部署云服务环境

连接到云服务器

开放21和22端口

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_06

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_07

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gxYrBWDf-1597650543833)(将SpringBoot项目部署到阿里云服务器.assets/image-20200817152911888.png)]

连接服务器

这里我是用的是Xshell和Xftp,其他软件也可以

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_08

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql_09

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_java_10

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_11

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql_12

安装宝塔面板及相应软件

输入以下命令;

yum install -y wget && wget -O  http://download.bt.cn/install/install_6.0.sh && sh 

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_13

进入外网面板地址,根据上图提供的账号密码登录,然后出现软件下载页面,这里必须要有的是mysql,如果你的项目用到了其他软件,请自行选择下载

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_14

安装Tomcat,实际上使用jar包部署项目不需要用到Tomcat,但宝塔面板在安装Tomcat时会顺便把jdk1.8装上,就省去了手动安装jdk1.8

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql_15

修改数据库密码

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_经验分享_16

环境检查

mysql以及jdk1.8

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_17

项目部署

将打包好的jar包上传至服务器

创建存放项目的文件夹

cd /home
mkdir blog
cd blog

上传文件

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_经验分享_18

配置数据库

使用Navicate连接mysql

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_19

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_20

如果此处报错:1130-host … is not allowed to connect to this MySql server,请至文末查看解决办法

导入刚才导出的sql文件

新建一个数据库,数据库名与之前的数据库名相同

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_21

将之前导出的sql文件拖拽至刚刚创建的数据库,导入数据即可。

运行项目

先进入之前存放jar文件的文件夹,再启动jar文件

cd /home/blog
java -jar jar文件名

在浏览器地址栏输入主机名即可访问该项目:

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_22

大功告成!!!

采坑记录

Failed to configure a DataSource

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_mysql_23

打包好jar包后有两个文件,一个jar文件,一个original文件,我只上传了jar文件。。。。

80端口被占用

我的springboot项目使用的是80端口,但centos7的80端口已经被其他程序占用

解决:

netstat -tln | grep 80 //查看被占用端口
lsof -i:80   //查看被占用端口的PID
kill -9 80 //关闭该进程

mysql报错:1130-host … is not allowed to connect to this MySql server

该方法转自于:

这个问题是因为在数据库服务器中的mysql数据库中的user的表中没有权限(也可以说没有用户),下面将记录我遇到问题的过程及解决的方法。

在搭建完LNMP环境后用Navicate连接出错

遇到这个问题首先到mysql所在的服务器上用连接进行处理

1、连接服务器: mysql -u root -p

2、看当前所有数据库:show databases;

3、进入mysql数据库:use mysql;

4、查看mysql数据库中所有的表:show tables;

5、查看user表中的数据:select Host, User,Password from user;

6、修改user表中的Host:update user set Host=’%’ where User=‘root’;

7、最后刷新一下:flush privileges;

一定要记得在写sql的时候要在语句完成后加上" ; "下面是图示说明

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_24

遇到这个问题首先到mysql所在的服务器上用连接进行处理

连接服务器: mysql -u root -p

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_经验分享_25

查看当前所有数据库:show databases;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_26

进入mysql数据库:use mysql;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_经验分享_27

查看mysql数据库中所有的表:show tables;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_28

查看user表中的数据:select Host, User,Password from user;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_29

修改user表中的Host:update user set Host=’%’ where User=‘root’;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_服务器_30

最后刷新一下:flush privileges;

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_数据库_31

重新在Navicate中测试一下:

springboot把一个服务器的文件上传到另一个服务器 怎么把springboot项目放到服务器_java_32