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

2020-08-17  本文已影响0人  OnlyOne2048

前言:本文解决的问题是已经将项目写好,该如何利用工具将其部署到阿里云服务器,所针对的项目类型为前后端不分离的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即可进行打包

image-20200817090339622 image-20200817090443329

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

image-20200817114016026

打包数据库文件

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

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

image-20200817111113618 image-20200817111142004

部署云服务环境

连接到云服务器

开放21和22端口

image-20200817093704982 image-20200817093047850 image-20200817161310160

连接服务器

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

image-20200817094019066 image-20200817095215385 image-20200817095324769 image-20200817095341807 image-20200817095455924

安装宝塔面板及相应软件

输入以下命令;

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

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

image-20200817104743206

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

image-20200817105632497

修改数据库密码

image-20200817110228037

环境检查

mysql以及jdk1.8

image-20200817110533875

项目部署

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

创建存放项目的文件夹

cd /home
mkdir blog
cd blog

上传文件

image-20200817151051905

配置数据库

使用Navicate连接mysql

image-20200817151309907 image-20200817151409340

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

导入刚才导出的sql文件

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

image-20200817151752026

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

运行项目

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

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

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

image-20200817154716636

大功告成!!!

采坑记录

Failed to configure a DataSource

image-20200817114125816

打包好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

该方法转自于:http://www.cnblogs.com/Bighua/p/7629082.html

这个问题是因为在数据库服务器中的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的时候要在语句完成后加上" ; "下面是图示说明

img

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

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

img

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

img

进入mysql数据库:use mysql;

img

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

img

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

img

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

img

最后刷新一下:flush privileges;

img

重新在Navicate中测试一下:

img
上一篇下一篇

猜你喜欢

热点阅读