使用 Spring Boot 部署到不同的服务器是一个常见的任务。Spring Boot 可以通过多种方式进行部署。下面给出一些常见的部署方法
1. 打包为可执行 JAR 包并部署
Spring Boot 支持将应用程序打包为一个独立的 JAR 文件,这样可以在不同的服务器上运行。
步骤:
-
打包应用
在 Spring Boot 项目中,使用 Maven 或 Gradle 进行构建。
对于 Maven,可以使用以下命令:
shmvn clean package
-
将 JAR 文件复制到服务器
将生成的 JAR 文件(通常在
target
目录下)复制到目标服务器上。 -
运行 JAR 文件
在服务器上运行 JAR 文件:
shjava -jar my-spring-boot-app.jar
-
后台运行
为了确保应用在后台运行,可以使用
nohup
或screen
工具:shnohup java -jar my-spring-boot-app.jar &
2. 使用 Docker 部署
如果你希望跨不同的服务器运行应用,可以将 Spring Boot 应用容器化,使用 Docker 部署。
步骤:
-
编写 Dockerfile
在项目的根目录下创建一个
Dockerfile
文件:txtFROM openjdk:8 COPY target/my-spring-boot-app.jar /app.jar # 暴露8080端口 EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app.jar"]
-
构建 Docker 镜像
使用以下命令构建 Docker 镜像:
shdocker build -t my-spring-boot-app .
-
将镜像推送到 Docker Hub (这个步骤可以省略 直接本地启动容器)
如果需要在不同的服务器上运行,首先将镜像推送到 Docker Hub(或者私有 Docker Registry):
shdocker push my-spring-boot-app
-
在目标服务器上运行 Docker 容器
在目标服务器上拉取并运行 Docker 镜像:
shdocker pull my-spring-boot-app # 如果本地 这里可以省略 docker run -d -p 8080:8080 my-spring-boot-app