SpringBoot多模块项目部署全过程

 更新时间:2026年05月14日 11:04:26   作者:等....  
本文介绍了在服务器上安装Nginx以及部署前端和后端代码的过程,包括创建Nginx储存库、安装Nginx、设置Nginx开机自启、部署前端代码、配置Nginx虚拟主机、部署后端代码、创建Systemd服务文件等内容,帮助读者更好地理解和掌握Nginx的使用和配置

1.安装Nginx

  • 在服务器里安装Nginx,主要用于部署前端页面静态文件服务和反向代理

配置Nginx yum储存库

1.使用MobaXterm工具连接服务器,在终端使用vim创建存储库文件

vim /etc/yum.repos.d/nginx.repo

2.配置nginx.repo文件内容

  • 点击i进入编辑模式,输入文件内容
  • 点击 Esc退出编辑模式
  • 点击:/进入命令行模式,然后输入wq进行保存文件
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

3.在服务器里使用yum命令安装Nginx

yum -y install nginx

4.检查Nginx安装状态

  • 检查nginx运行状态
systemctl status nginx

  • 设置nginx开机自启
systemctl enable nginx

5.启动Nginx

  • 没有返回值就是正常的
systemctl start nginx

6.在浏览器里访问Nginx地址

  • 地址是服务器的地址,端口号默认是8080(可省略)
http://192.168.xx.xxx

2.Nginx重要目录介绍

配置文件相关

/etc/nginx/:主要的Nginx配置文件目录。

nginx.conf文件:Nginx的主配置文件,包含全局配置信息。

在http模块里include引入了/etc/nginx/conf.d目录下的所有.conf文件

该文件server模块用于配置虚拟主机,一个Nginx服务可包含多个虚拟主机,每个虚拟主机都可以独立的提供服务

日志相关

/var/log/nginx/:Nginx的日志文件目录,包括访问日志和错误日志。

  • access.log文化:访问日志,记录所有进入服务器的请求。
  • error.log文件:错误日志,记录服务器处理过程中的错误信息。

3.部署项目

前端代码部署

1.将前端代码打包的zip文件上传到服务器里,然后解压到到/usr/share/nginx/html

unzip 前端代码.zip -d /usr/share/nginx/html

2.配置Nginx虚拟主机

  • 由于nginx.conf文件配置内容中使用include引入了conf.d目录下的所有.conf文件,所以在虚拟机conf.d/目录下创建前端虚拟机配置文件
vim /etc/nginx/conf.d/文件名.conf

3.在创建的文件里添加配置

server {
    listen       9090;
    server_name  www.zhaojun.com;// 这里是购买的域名

	# 配置前端代码
    location / {
        root   /usr/share/nginx/html/文件名;# 代码路径
        index  index.html;
    }

	# 配置反向代理,当前端请求后端api时,以api开头的代理到后端服务器上
    location /api/ {
        # 转发到后端服务器
        proxy_pass http://后端代码部署IP地址:8080/;
        
        # 重要:传递真实客户端信息
        proxy_set_header Host $host;# 建议
        proxy_set_header X-Real-IP $remote_addr;# 建议
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 可选
        proxy_set_header X-Forwarded-Proto $scheme;# 可选
    }
}

4.然后重新加载Nginx的配置文件

systemctl reload nginx

5.访问www.zhaojun.com:9090就可以看到部署的项目了

后端部署

1.使用Maven打包后端代码

找到要打包项目的Maven进行项目打包

选中clean和package后点击运行按钮进行打包

2.在部署后端代码的服务器上安装JDK

  • 根据自己项目安装对应的JDK
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/21.0.5+11/openlogic-openjdk-21.0.5+11-linux-x64.tar.gz

  • 将JDK解压到/opt目录
tar -zxvf openlogic-openjdk-21.0.5+11-linux-x64.tar.gz -C /opt

3.将打包的后端代码放到opt/lease目录下,若目录不存在,自行创建即可

4.集成Systemd方便项目的启动、停止或者重启

  • 创建lease-admin.service文件
vim /etc/systemd/system/lease-admin.service
  • 添加内容
[Unit]
Description=lease-admin
After=syslog.target

[Service]
User=root
ExecStart=/opt/jdk-17.0.8/bin/java -jar /opt/lease/web-admin-0.0.1-SNAPSHOT.jar 1>/opt/lease/admin.log 2>&1
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

5.启动项目

systemctl start lease-admin

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java的HashSet源码详解

    Java的HashSet源码详解

    这篇文章主要介绍了Java的HashSet源码详解,HashSet底层封装的是HashMap,所以元素添加会放到HashMap的key中,value值使用new Object对象作为value,所以HashSet和HashMap的所具有的特点是类似的,需要的朋友可以参考下
    2023-09-09
  • 在Java中实现线程之间的数据共享的几种方式总结

    在Java中实现线程之间的数据共享的几种方式总结

    在 Java 中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,需要的朋友可以参考下
    2025-08-08
  • Java中类的加载顺序剖析(常用于面试题)

    Java中类的加载顺序剖析(常用于面试题)

    这篇文章主要介绍了Java中类的加载顺序剖析(常用于面试题),本文直接给出代码实例和运行结果,给后给出了加载过程总结,需要的朋友可以参考下
    2015-03-03
  • 深入解析Java编程中final关键字的使用

    深入解析Java编程中final关键字的使用

    这篇文章主要介绍了Java编程中final关键字的使用,是Java入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • IDEA 开发配置SparkSQL及简单使用案例代码

    IDEA 开发配置SparkSQL及简单使用案例代码

    这篇文章主要介绍了IDEA 开发配置SparkSQL及简单使用案例代码,本文通过代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Spring Boot实现第一次启动时自动初始化数据库流程详解

    Spring Boot实现第一次启动时自动初始化数据库流程详解

    在现在的后端开发中,只要是使用关系型数据库,相信SSM架构(Spring Boot + MyBatis)已经成为首选,本文就以Spring Boot + MyBatis为例,使用MySQL作为数据库,完成数据库初始化功能,文中有详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • Java 实战项目之诚途旅游系统的实现流程

    Java 实战项目之诚途旅游系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SpringBoot+Vue+maven+Mysql实现一个精美的物流管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解

    SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解

    SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发
    2022-10-10
  • java基础教程之拼图游戏的实现

    java基础教程之拼图游戏的实现

    拼图游戏大家应该都玩过,下面这篇文章主要给大家介绍了关于java基础教程之拼图游戏的实现方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • SpringBoot使用Log4j的知识点整理

    SpringBoot使用Log4j的知识点整理

    在本篇文章里小编给大家整理的是关于SpringBoot使用Log4j的知识点,需要的朋友们可以参考学习下。
    2020-02-02

最新评论