现在大部分项目都是springboot项目 ,里面内嵌有服务器部署起来也比较简单,将spring boot项目打成jar包通过命令行进行部署


java -jar xxx.jar


IDEA创建spring boot项目

我们还是一样的在idea创建一个maven的spring boot项目(最好是maven的项目,好打包)

linux部署springcould需要开放所有服务的端口吗_linux

创建好我们的一个spring boot项目之后呢我们找到我们的一个pom配置文件因为我们还没配置数据库是运行不起来的

linux部署springcould需要开放所有服务的端口吗_服务器_02

找到我们的springbootJpa和MySQL给注释掉

linux部署springcould需要开放所有服务的端口吗_数据库_03

使用MySQL

当然我们如果想要使用我们的MySQL的服务呢,我们可以不注解掉但是呢我们也要,配置我们的一个MySQL源,才能够使用我们的一个spring boot,创建一个简单的MySQL数据库跟数据表

linux部署springcould需要开放所有服务的端口吗_java_04

这里创建一个简单的数据库添加一点数据

使用spring bootjpa连接管理

1.在Java模块下创建entity创建实体类把数据库的表映射起来

2.创建实体类添加@Data跟@Entity注解

linux部署springcould需要开放所有服务的端口吗_linux_05

写完之后发现我们的User会报错不过没关系因为我们的表没有主键

linux部署springcould需要开放所有服务的端口吗_数据库_06

我们只需要加一个主键就行了

3.创建接口

我们在项目中在创建一个文件夹repository

创建接口UserRepository并继承我们的一个JpaRepository添加泛型

linux部署springcould需要开放所有服务的端口吗_数据库_07

4.创建controller

创建一个controller文件夹和一个UserController类

linux部署springcould需要开放所有服务的端口吗_服务器_08

最后别忘记把我们的User Repository注入进来添加我们的一个@Autowired自动装载注解

5.添加方法

比如说我们要把所有的数据全部返回成一个集合

linux部署springcould需要开放所有服务的端口吗_服务器_09

访问数据

我们在Windows就可以访问我们的项目,当然不是IP地址是在我们本机访问local host

linux部署springcould需要开放所有服务的端口吗_MySQL_10

打包在本地运行

然后我们使用maven进行打包

linux部署springcould需要开放所有服务的端口吗_java_11

点击package进行打包之后呢我们可以在target里面看到多了一个jar包

linux部署springcould需要开放所有服务的端口吗_MySQL_12

通过命令行启动jar包

我们先在本地测试是否能启动

先在本地找到我们的一个springboot项目的target目录然后在Windows打开cmd进入到我们的一个spring boot文件夹中

Windows查看当前目录文件


dir


可以看到外面的一个jar包所在的位置,如果觉得名字很长可以自己更改一个简单的名字

本地启动jar包

我们怎么使用命令行进行启动呢?


java -jar [jar包名字].jar


linux部署springcould需要开放所有服务的端口吗_java_13

可以看到我们在本地Windows已经是可以启动的状态

部署到Linux上

首先我们先需要在Linux服务器安装MySQL

Linux安装MySQL

本文软件地址:

链接:百度网盘 请输入提取码 提取码:dqph

安装MySQL

首先我们跟安装Java一样在我们/usr/local创建文件夹并进入MySQL文件夹


mkdir mysql


进入到我们的文件夹之后呢打开我们的Xftp软件将我的MySQL软件拖到MySQL文件夹中

linux部署springcould需要开放所有服务的端口吗_MySQL_14

解压缩

可以看到呢我们安装过去了有一个tar的文件

linux部署springcould需要开放所有服务的端口吗_服务器_15

我们只需要进行解压就行了


tar -xvf [压缩包名字]


linux部署springcould需要开放所有服务的端口吗_linux_16

解压完之后查看

linux部署springcould需要开放所有服务的端口吗_java_17

看到我们这么多文件,我们不需要全部安装只需要安装四个文件就行(common,libs,client,server)

首先我们需要删除一个自带的mariadb删除掉

删除mariadb

先查看我们是否已经有了


rpm -qa|grep mariadb


linux部署springcould需要开放所有服务的端口吗_MySQL_18

可以看到我们自带了四个mariadb全部删除掉

linux部署springcould需要开放所有服务的端口吗_MySQL_19


rpm -e --nodeps [文件名]


安装common,libs,client,server


rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force


初始化MySQL


mysqld --initialize


linux部署springcould需要开放所有服务的端口吗_服务器_20

授权防火墙


chown mysql:mysql /var/lib/mysql -R; systemctl start mysqld.service; systemctl enable mysqld;


查看数据库的初始密码


cat /var/log/mysqld.log | grep password


linux部署springcould需要开放所有服务的端口吗_linux_21

ikGOK8!WuxAm

登录数据库


myslq -uroot -p


linux部署springcould需要开放所有服务的端口吗_数据库_22

看到是MySQL>就说明已经是成功进入到MySQL的一个界面了

更改数据库密码


ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[要修改的密码]';


linux部署springcould需要开放所有服务的端口吗_java_23

这样就是已经修改成功的状态退出使用


exit


使用新密码重新登录数据库,使用修改后的密码登录


mysql -uroot -p


linux部署springcould需要开放所有服务的端口吗_服务器_24

可以看到我们使用修改后的密码还是能够重新登录数据库的那就说明成功了

我们可以使用工具去管理我们的Linux数据库这边我使用的是Navicat管理数据库

linux部署springcould需要开放所有服务的端口吗_MySQL_25

主机填写我们Linux的IP地址用户名跟密码都是Linux设置的

linux部署springcould需要开放所有服务的端口吗_服务器_26

这里可以看到我们是连接不上Linux的一个数据库的

开启MySQL远程访问


create user 'root'@'%' identified with mysql_native_password by 'root'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;


linux部署springcould需要开放所有服务的端口吗_linux_27

开放3006端口


firewall-cmd --zone=public --add-port=3306/tcp --permanent systemctl restart firewalld.service firewall-cmd --reload


防护墙需要退出MySQL服务才可以执行

设置时区

MySQL默认使用的是美国时区北京比美国少8个小时所以我们要设置自己的时区


set global time_zone='+8:00';


linux部署springcould需要开放所有服务的端口吗_服务器_28

改完这些东西之后呢我们就可以发现我们外部可以成功连接上我们的一个Linux数据库了

我们简单创建一个数据库跟表添加数据测试一下


create database test character set utf8 collate utf8_general_ci; use test; create table user(   id int primary key auto_increment,   name varchar(22),   birthday datetime ); insert into user(name, birthday) VALUES ('小明','1999-01-01'); insert into user(name, birthday) VALUES ('小红','2000-01-01');


linux部署springcould需要开放所有服务的端口吗_数据库_29

idea连接Linux数据库

在配置好之后呢我们的idea就可以连接我们的一个数据库了当然不是使用的local host连接而是服务器的IP地址

在我们的yml更改成我们的IP地址就好啦密码也记得更改

linux部署springcould需要开放所有服务的端口吗_java_30

linux部署springcould需要开放所有服务的端口吗_服务器_31

可以看到我们也是查询出来了

linux部署springcould需要开放所有服务的端口吗_MySQL_32

继续spring boot项目

在我们安装了MySQL之后呢我们就可以部署一些相关的有spring boot跟MySQL相关的项目了

1.用maven将我们的项目重新打jar包

2.打完包之后我们还是一样先在本地运行一下看看能不能运行

linux部署springcould需要开放所有服务的端口吗_linux_33

可以看到我们在本地是可以运行的,那么接下来我们上传到Linux中

安装到Linux中

linux部署springcould需要开放所有服务的端口吗_java_34

这里我是选择把jar包放在/usr/local/java目录下直接拖进去即可

放进去之后呢我们就可以直接启动我们的jar包


java -jar [名字]


linux部署springcould需要开放所有服务的端口吗_服务器_35

可以看到我们已经成功的把我们的spring boot项目部署到Linux当中去了

Windows访问客户端

我们部署上去可以在本地浏览我们的Linux项目了

linux部署springcould需要开放所有服务的端口吗_java_36

运行成功,因为这个sql语句是Linux数据库创建的

测试

我们在Linux数据库在新添加一条数据

linux部署springcould需要开放所有服务的端口吗_数据库_37

添加了一条数据之后呢我们刷新浏览器

linux部署springcould需要开放所有服务的端口吗_数据库_38

这样一个简单的spring boot项目就部署上去了