Spring Boot多模块项目部署

1.安装Nginx

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

1.配置Nginx yum储存库

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

复制代码
vim /etc/yum.repos.d/nginx.repo

2.配置nginx.repo文件内容

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

复制代码
yum -y install nginx

4.检查Nginx安装状态

  • 检查nginx运行状态

    systemctl status nginx

  • 设置nginx开机自启

    systemctl enable nginx

5.启动Nginx

  • 没有返回值就是正常的

    systemctl start nginx

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

2.Nginx重要目录介绍

1.配置文件相关

  • /etc/nginx/:主要的Nginx配置文件目录。
    • nginx.conf文件:Nginx的主配置文件,包含全局配置信息。
  • 在http模块里include引入了/etc/nginx/conf.d目录下的所有.conf文件
    • 该文件server模块用于配置虚拟主机,一个Nginx服务可包含多个虚拟主机,每个虚拟主机都可以独立的提供服务

2.日志相关

  • /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解压到/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
相关推荐
Pniubi3 小时前
HashMap的扩容和树化边界
java·开发语言
Mikko73 小时前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
知了学历孙老师3 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
Java爱好狂.4 小时前
Java初学者如何一周速通SpringBoot!
java·spring boot·后端·spring·高并发·架构师·java面试
秋饼5 小时前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
马良神笔6 小时前
2026 年Rag最近技术前沿总结
后端·python·django
程序猿DD6 小时前
同样10美元,OpenDesign和Command Code的DeepSeek V4.1 Flash额度到底有多少?
后端
福兮说6 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
高频因子挖掘机6 小时前
A股量化从日线升级到5分钟线:数据量增加后最先暴露哪些工程问题?
后端·github·api
高频因子挖掘机7 小时前
历史行情返回顺序变了,为什么按行号计算指标很危险?
后端·github·api