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 定时任务技术趋势详情

    Java 定时任务技术趋势详情

    这篇文章主要介绍了Java 定时任务技术趋势详情,定时任务是每个业务常见的需求,比如每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等,下文更多相关资料,需要的小伙伴可以参考一下
    2022-05-05
  • SpringBoot整合Redisson的步骤(单机版)

    SpringBoot整合Redisson的步骤(单机版)

    Redisson非常适用于分布式锁,而我们的一项业务需要考虑分布式锁这个应用场景,于是我整合它做一个初步简单的例子(和整合redis一样)。
    2021-05-05
  • Java enum关键字不识别的快速解决办法

    Java enum关键字不识别的快速解决办法

    这篇文章主要介绍了Java enum关键字不识别的快速解决办法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-09-09
  • Mybatis Plus中的流式查询案例

    Mybatis Plus中的流式查询案例

    这篇文章主要介绍了Mybatis Plus中的流式查询案例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mybatis-plus基于redis实现二级缓存过程解析

    Mybatis-plus基于redis实现二级缓存过程解析

    这篇文章主要介绍了Mybatis-plus基于redis实现二级缓存过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 关于JSCH使用自定义连接池的说明

    关于JSCH使用自定义连接池的说明

    这篇文章主要介绍了关于JSCH使用自定义连接池的说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • SpringBoot + JPA @ManyToMany的操作要点说明

    SpringBoot + JPA @ManyToMany的操作要点说明

    这篇文章主要介绍了SpringBoot + JPA @ManyToMany的操作要点说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot自定义starter方式

    SpringBoot自定义starter方式

    本文介绍了如何创建一个自定义的Spring Boot Starter,以实现日志功能,通过使用SPI机制,可以在不修改启动类的情况下,实现自动配置和功能导入,同时,还讨论了如何在自定义Starter中编写必要的配置文件和注解,以确保功能的正确实现和配置的智能提示
    2025-02-02
  • java 中JDBC连接数据库代码和步骤详解及实例代码

    java 中JDBC连接数据库代码和步骤详解及实例代码

    这篇文章主要介绍了java 中JDBC连接数据库代码和步骤详解及实例代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • SpringBoot中的Mybatis依赖问题

    SpringBoot中的Mybatis依赖问题

    这篇文章主要介绍了SpringBoot中的Mybatis依赖问题,包括pom导入依赖和相关实例代码讲解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论