微信登录

部署 - 云部署 - 部署到云平台

Java - Web - Spring 《部署 - 云部署 - 部署到云平台》

引言

在当今数字化的时代,云平台凭借其弹性伸缩、高可用性和便捷的管理等特性,成为了企业和开发者部署应用的首选方案。对于基于 Spring 框架开发的 Java Web 应用来说,将其部署到云平台能够极大地提升应用的性能和可维护性。本文将详细介绍如何将 Spring 应用部署到云平台,以阿里云弹性计算服务(ECS)为例进行演示。

准备工作

在开始部署之前,我们需要完成以下准备工作:

  1. 开发环境:确保本地已经安装好 JDK(建议 JDK 8 及以上)、Maven 等开发工具。
  2. 云平台账号:注册并登录阿里云账号,创建 ECS 实例。选择合适的镜像(如 CentOS 7)和配置(根据应用的实际需求)。
  3. Spring 项目:创建一个简单的 Spring Boot Web 项目。

创建 Spring Boot 项目

可以使用 Spring Initializr(https://start.spring.io/) 来快速创建一个 Spring Boot 项目。选择以下配置:

  • Project:Maven Project
  • Language:Java
  • Spring Boot:2.7.5
  • Group:com.example
  • Artifact:spring-cloud-deploy-demo
  • Dependencies:Spring Web

创建好项目后,我们可以在 src/main/java/com/example/springclouddeploydemo 目录下创建一个简单的控制器类:

  1. package com.example.springclouddeploydemo;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. @RestController
  5. public class HelloController {
  6. @GetMapping("/hello")
  7. public String hello() {
  8. return "Hello, Spring Boot on Cloud!";
  9. }
  10. }

打包项目

在项目根目录下,使用 Maven 命令将项目打包成可执行的 JAR 文件:

  1. mvn clean package

打包完成后,在 target 目录下会生成一个名为 spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar 的文件。

配置云服务器

连接到 ECS 实例

使用 SSH 工具(如 PuTTY 或 OpenSSH)连接到阿里云 ECS 实例。在终端中输入以下命令:

  1. ssh root@<ECS 实例公网 IP 地址>

输入登录密码后,即可成功连接到 ECS 实例。

安装 Java 和相关依赖

在 ECS 实例上安装 Java 运行环境和其他必要的依赖:

  1. # 安装 OpenJDK 11
  2. yum install java-11-openjdk-devel -y

上传项目 JAR 文件

使用 SCP 命令将本地的 JAR 文件上传到 ECS 实例:

  1. scp target/spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar root@<ECS 实例公网 IP 地址>:/root

部署和运行应用

启动应用

在 ECS 实例上,进入 JAR 文件所在目录,使用以下命令启动 Spring Boot 应用:

  1. java -jar spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar

如果需要在后台运行应用,可以使用 nohup 命令:

  1. nohup java -jar spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar > app.log 2>&1 &

配置防火墙

为了让外部能够访问应用,需要开放应用所使用的端口(默认为 8080):

  1. # 开放 8080 端口
  2. firewall-cmd --zone=public --add-port=8080/tcp --permanent
  3. # 重新加载防火墙规则
  4. firewall-cmd --reload

验证部署结果

在浏览器中输入 http://<ECS 实例公网 IP 地址>:8080/hello,如果看到 Hello, Spring Boot on Cloud! 字样,则说明应用已经成功部署到云平台。

总结

步骤 操作 命令示例
准备项目 创建 Spring Boot 项目并编写代码
打包项目 使用 Maven 打包项目 mvn clean package
连接服务器 使用 SSH 连接到 ECS 实例 ssh root@<ECS 实例公网 IP 地址>
安装依赖 安装 Java 运行环境 yum install java-11-openjdk-devel -y
上传文件 使用 SCP 上传 JAR 文件 scp target/spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar root@<ECS 实例公网 IP 地址>:/root
启动应用 启动 Spring Boot 应用 java -jar spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jarnohup java -jar spring-cloud-deploy-demo-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
配置防火墙 开放应用端口 firewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --reload

通过以上步骤,我们成功地将一个 Spring Boot Web 应用部署到了阿里云 ECS 云平台。云部署不仅提高了应用的可用性和可扩展性,还降低了运维成本。希望本文能帮助你顺利完成 Spring 应用的云部署。

部署 - 云部署 - 部署到云平台