本地部署SpringBoot项目

通过学习本地部署SpringBoot项目,可以自行进一步完成云服务器部署SpringBoot项目,原理和过程都是一样的。

本次部署任务使用的是本地搭建的虚拟机,关于如何搭建虚拟机大家可以参考我之前的一篇博客基于完全分布式模式部署Hadoop,只需要看其中和虚拟机搭建相关的即可。

一,安装虚拟机系统

二,虚拟机中安装MySQL

1,创建mysql安装文件夹

bash 复制代码
cd /usr/local
 
mkdir mysql
 
cd mysql

2,下载mysql

bash 复制代码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.44-1.el9.x86_64.rpm-bundle.tar
# 如果wget不存在,需要先安装wget命令
yum update
yum install
# 安装完成后再执行安装mysql的命令

3,解压文件夹

bash 复制代码
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

4,安装mysql

bash 复制代码
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force

三,配置MySQL

1,修改my.cnf文件

bash 复制代码
# 增加以下内容
lower_case_table_names = 1

2,初始化配置

bash 复制代码
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld

3,修改密码

查看初始密码并使用初始密码登录mysql

bash 复制代码
cat /var/log/mysqld.log | grep password

自定义密码

bash 复制代码
# 以下命令需要在mysql命令行中执行
alter user 'root'@'localhost' identified by '123456';
 
flush privileges;

4,使用新密码登录

5,修改mysql_native_password为新密码

bash 复制代码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';

6,允许所有ip访问云服务器MySQL

bash 复制代码
create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

四,测试连接云服务器MySQL

暂时将防火墙关闭后测试连接

五,部署项目到云服务器

1,本地将项目打成jar包(Maven)

2,将jar包上传到虚拟机上
3,运行jar(需要jdk)

六,后台持续运行

以上看起来很完美,但是存在一定的问题,如果终端断开连接的话,后端运行的项目就会停掉,到时用户访问不通,一般情况下,这是不可行的,这种情况方便我们查看日志,接下来我们更换成后台运行。

bash 复制代码
nohup java -jar jar包名 &

至此我们就完成了后端项目的部署,对于云服务器我们需要设置开放端口,将配置改成云服务器的ip其余安装过程是一样的。对于不同的系统安装过程稍有不同。大家可以根据自己的系统进行简单的更改。如果这个博客真的有帮助到你,可以评论点赞支持一下。如果有不明白的地方,也欢迎交流。后续还有其余组件相关的安装部署等着大家,大家可以关注一下,后续我们不见不散!!!

相关推荐
萧瑟余晖11 小时前
JDK 26 新特性详解
java·开发语言
马优晨12 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
维天说15 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane199415 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了16 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品16 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘16 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记17 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵17 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
极光代码工作室18 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发