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
相关推荐
雨中飘荡的记忆2 分钟前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
开心就好20251 小时前
UniApp开发应用多平台上架全流程:H5小程序iOS和Android
后端·ios
悟空码字1 小时前
告别“屎山代码”:AI 代码整洁器让老项目重获新生
后端·aigc·ai编程
小码哥_常2 小时前
大厂不宠@Transactional,背后藏着啥秘密?
后端
奋斗小强2 小时前
内存危机突围战:从原理辨析到线上实战,彻底搞懂 OOM 与内存泄漏
后端
小码哥_常2 小时前
Spring Boot接口防抖秘籍:告别“手抖”,守护数据一致性
后端
心之语歌2 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
None3212 小时前
【NestJs】基于Redlock装饰器分布式锁设计与实现
后端·node.js
初次攀爬者2 小时前
Kafka + KRaft模式架构基础介绍
后端·kafka
洛森唛3 小时前
Elasticsearch DSL 查询语法大全:从入门到精通
后端·elasticsearch