如何在aws中部署spring应用程序?

Posted

技术标签:

【中文标题】如何在aws中部署spring应用程序?【英文标题】:How to deploy a spring application in aws? 【发布时间】:2019-12-23 23:54:09 【问题描述】:

如何在 AWS 中托管 Spring 应用程序。

我知道使用 Elastic Bean Stalk 可以轻松部署 Spring Boot 应用程序。 Spring 应用程序呢?我应该先迁移到 Spring Boot 吗?或者我应该只在安装在 EC2 上的 Tomcat 上运行它?

【问题讨论】:

访问文档:可以部署war中打包的spring web应用。 aws.amazon.com/answers/web-applications/… 【参考方案1】:

首先,您可以使用 Maven 构建您的 Spring APP:

mvn clean install -f /your/module/path

结果将作为war 包位于/your/module/path/target/ 文件夹内(这些包可以被Tomcat 读取)。

在您的 EC2 上安装 Tomcat,关于您的 JRE(Tomcat 8 在 Java 10- 之前运行良好,而 Tomcat 8.5+ 用于 Java 11+)。

如果您使用的是 Java 8,则可以通过使用 Ubuntu 16.04 启动 EC2 实例来轻松安装它(仅用于测试):

apt-get install default-jdk(将安装 JDK8) apt-get install tomcat8(将安装 Tomcat 8)

安装完成后,您可以将war 包上传到/var/lib/tomcat8/webapps/ 文件夹,然后触发命令service tomcat8 stop|start

希望对你有所帮助。

【讨论】:

我的 spring 应用程序有很多属性文件。那我怎么处理呢?【参考方案2】:

这是一个更新的 AWS 教程,它在 Spring Boot 应用程序中使用适用于 Java V2 的 AWS 开发工具包。此应用程序调用多个 AWS 服务。您可以将应用程序打包到 JAR 中并将其部署到 AWS Elastic Beanstalk。有关分步说明,请参阅Creating your first AWS Java web application。

【讨论】:

以上是关于如何在aws中部署spring应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Spring Boot 应用程序战争部署到 AWS Elastic Beanstalk?

如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量

使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序

将 Spring Boot 应用程序部署到 AWS beanstalk

在 AWS 上部署带有 H2 数据库的 Spring Boot 应用程序

一个项目中的多个 Spring Cloud Functions 用于在 AWS Lambda 上部署