Spring Boot部署到服务器

使用 Spring Boot 部署到不同的服务器是一个常见的任务。Spring Boot 可以通过多种方式进行部署。下面给出一些常见的部署方法

1. 打包为可执行 JAR 包并部署

Spring Boot 支持将应用程序打包为一个独立的 JAR 文件,这样可以在不同的服务器上运行。

步骤:
  1. 打包应用

    在 Spring Boot 项目中,使用 Maven 或 Gradle 进行构建。

    对于 Maven,可以使用以下命令:

    sh 复制代码
    mvn clean package
  2. 将 JAR 文件复制到服务器

    将生成的 JAR 文件(通常在 target 目录下)复制到目标服务器上。

  3. 运行 JAR 文件

    在服务器上运行 JAR 文件:

    sh 复制代码
    java -jar my-spring-boot-app.jar
  4. 后台运行

    为了确保应用在后台运行,可以使用 nohupscreen 工具:

    sh 复制代码
    nohup java -jar my-spring-boot-app.jar &

2. 使用 Docker 部署

如果你希望跨不同的服务器运行应用,可以将 Spring Boot 应用容器化,使用 Docker 部署。

步骤:
  1. 编写 Dockerfile

    在项目的根目录下创建一个 Dockerfile 文件:

    txt 复制代码
    FROM openjdk:8
    COPY target/my-spring-boot-app.jar /app.jar
    # 暴露8080端口
    EXPOSE 8080
    ENTRYPOINT ["java", "-jar", "/app.jar"]
  2. 构建 Docker 镜像

    使用以下命令构建 Docker 镜像:

    sh 复制代码
    docker build -t my-spring-boot-app .
  3. 将镜像推送到 Docker Hub (这个步骤可以省略 直接本地启动容器)

    如果需要在不同的服务器上运行,首先将镜像推送到 Docker Hub(或者私有 Docker Registry):

    sh 复制代码
    docker push my-spring-boot-app
  4. 在目标服务器上运行 Docker 容器

    在目标服务器上拉取并运行 Docker 镜像:

    sh 复制代码
    docker pull my-spring-boot-app  # 如果本地 这里可以省略
    docker run -d -p 8080:8080 my-spring-boot-app
相关推荐
行百里er16 分钟前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
玄〤28 分钟前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
zz_nj43 分钟前
工作的环境
linux·运维·服务器
J_liaty1 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
短剑重铸之日1 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
码事漫谈1 小时前
从C++到C#的转型完全指南
后端
码事漫谈1 小时前
TCP心跳机制:看不见的“生命线”
后端
lpfasd1232 小时前
Spring Boot 4.0.1 时变更清单
java·spring boot·后端
willhuo2 小时前
基于xray的匿名、授权、IP白名单代理访问研究
服务器·网络·tcp/ip
梦梦代码精3 小时前
《全栈开源智能体:终结企业AI拼图时代》
人工智能·后端·深度学习·小程序·前端框架·开源·语音识别