Linux部署spring boot应用(最详细)

本文详细介绍了如何在IntelliJIDEA中创建SpringBoot项目,配置MySQL,创建实体类、接口和控制器,并打包部署到本地和Linux服务器,包括MySQL安装、防火墙设置和数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

java -jar xxx.jar 
IDEA创建spring boot项目

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

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

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

使用MySQL

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

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

使用spring bootjpa连接管理

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

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

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

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

3.创建接口

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

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

4.创建controller

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

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

5.添加方法

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

访问数据

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

打包在本地运行

然后我们使用maven进行打包

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

通过命令行启动jar包

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

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

Windows查看当前目录文件

dir

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

本地启动jar包

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

java -jar [jar包名字].jar

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

部署到Linux上

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

Linux安装MySQL

本文软件地址:

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

安装MySQL

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

mkdir mysql

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

解压缩

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

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

tar -xvf [压缩包名字] 

解压完之后查看

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

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

删除mariadb

先查看我们是否已经有了

rpm -qa|grep mariadb

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

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

授权防火墙
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
查看数据库的初始密码
cat /var/log/mysqld.log | grep password

ikGOK8!WuxAm

登录数据库
myslq -uroot -p

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

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

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

exit

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

mysql -uroot -p

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

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

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

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

开启MySQL远程访问

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

开放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数据库了

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

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');

idea连接Linux数据库

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

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

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

继续spring boot项目

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

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

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

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

安装到Linux中

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

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

java -jar [名字]

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

Windows访问客户端

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

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

测试

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

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

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

@第七片海

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值