本地部署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其余安装过程是一样的。对于不同的系统安装过程稍有不同。大家可以根据自己的系统进行简单的更改。如果这个博客真的有帮助到你,可以评论点赞支持一下。如果有不明白的地方,也欢迎交流。后续还有其余组件相关的安装部署等着大家,大家可以关注一下,后续我们不见不散!!!

相关推荐
期待のcode21 小时前
Java虚拟机栈
java·开发语言·jvm
珂朵莉MM21 小时前
全球校园人工智能算法精英大赛-产业命题赛-算法巅峰赛 2025年度画像
java·人工智能·算法·机器人
cute_ming21 小时前
关于基于nodeMap重构DOM的最佳实践
java·javascript·重构
sww_102621 小时前
Netty原理分析
java·网络
小突突突21 小时前
Spring框架中的单例bean是线程安全的吗?
java·后端·spring
Mr.Entropy1 天前
JdbcTemplate 性能好,但 Hibernate 生产力高。 如何选择?
java·后端·hibernate
菜鸟233号1 天前
力扣96 不同的二叉搜索树 java实现
java·数据结构·算法·leetcode
sww_10261 天前
Spring-AI和LangChain4j区别
java·人工智能·spring
泡泡以安1 天前
【爬虫教程】第7章:现代浏览器渲染引擎原理(Chromium/V8)
java·开发语言·爬虫