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
相关推荐
20岁30年经验的码农1 小时前
Spring Boot 配置文件生效规则
spring boot·后端·pycharm
斌果^O^2 小时前
SpringBoot 实战:@Async + CompletableFuture 实现多 SQL 并行统计查询
java·spring boot·sql
weixin_456723162 小时前
Java项目的rabbitmq配置vhost
java·rabbitmq·java-rabbitmq
李少兄2 小时前
解决 java.net.ConnectException: Connection refused 报错
java·开发语言·.net
-南帝-2 小时前
行尾符格式转换问题(CRLF vs LF)如何快速解决(Agent)
java·ai
小新同学^O^2 小时前
算法学习 --> 快速输入和输出
java·学习·算法
喜欢小苹果的码农2 小时前
Java动态多定时任务
java
无所事事O_o2 小时前
基于netty的websocket服务优化
java·websocket·netty·优化
有趣灵魂2 小时前
Java Spring Boot根据Word模板和动态数据生成Word文件
java·spring boot·word·apache