在EC2上运行Java EE应用程序

时间:2010-01-18 05:06:29

标签: java java-ee amazon-ec2 amazon-web-services

有人能指出我描述的步骤/资源:

  1. 如何在amazon-EC2上部署Java EE应用程序
  2. 在实例重启后维护应用服务器元数据的更改(部署新应用程序)(可能使用amazon-ebs)

5 个答案:

答案 0 :(得分:8)

首先检查一下,如果你还没有完成它: http://docs.aws.amazon.com/gettingstarted/latest/awsgsg-intro/intro.html
它会让你知道这一切是如何运作的。

关于在EC2上运行Java EE应用程序,您有几个选择 - 但它们通常归结为以下方法:

  1. 启动实例
  2. 安装Java EE应用程序服务器(tomcat / glassfish / websphere /...)
  3. 将您的应用程序(war / ear)安装到应用程序服务器
  4. 现在您可以将上面的内容捆绑到ebs ami中,或者您可以编写一个脚本(bash / sh / tcl),它在您的实例启动时应用这些更改(我更喜欢)。这些脚本允许您修改安装/启动/移动的内容,而无需重新绑定您的实例。

    这里有一些很棒的资源:http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=100

    希望有所帮助。

答案 1 :(得分:7)

  

如何在amazon-EC2上部署Java EE应用程序

您仍然部署到应用程序服务器,因此它并没有真正的不同。如果您有更具体的问题,请澄清。但请查看Running JEE applications on Amazon EC2How to deploy a java web application on an ec2 instance

  

在实例重启后维护对应用服务器的元数据的更改(部署新的应用程序)(可能使用amazon-ebs)

如果您使用Amazon EBS,那么您无需担心, Amazon EBS卷是非实例存储,可独立于实例的生命周期

答案 2 :(得分:5)

Amazon AWS新推出的Elastic BeanStalk可以帮助您解决问题。 您可以通过Bean Stalk在Amazon Ec2实例上部署Java EE应用程序。您需要做的就是创建一个新的应用程序并在其中创建一个环境并添加WAR文件进行部署,AWS有自己的Tomcat 6/7版本,带有开放的JDK,如果需要,可以自定义为Sun JDK。

因此,亚马逊提供完整的部署工具,只需在BeanStalk中部署即可开始使用您的应用。 BeanStalk提供Auto Scaling&弹性负载平衡以及更多可自定义应用程序环境。

答案 3 :(得分:1)

如果启动ebs引导的实例,则重启后无需关心持久性(请参阅http://aws.amazon.com/about-aws/whats-new/2009/12/03/amazon-ec2-instances-now-can-boot-from-amazon-ebs/) 关于Java EE的部署,我认为在非虚拟操作系统上部署它没有任何区别。

答案 4 :(得分:0)

Boxfuse支持使用Tomcat,TomEE Web Profile或TomEE Plus通过一个命令部署Java EE应用程序

boxfuse run mytomeeapp-1.0.war -env=prod

这将创建一个映像,配置所有必需的AWS基础架构并启动实例。它支持使用弹性IP和ELB进行蓝/绿零停机更新。

您可以在此处找到教程:https://boxfuse.com/blog/javaee-aws.html

您不必担心维护对元数据的更改,因为所有实例都是不可变的,并且包含所有必需的应用服务器信息。

免责声明:我是Boxfuse的创始人兼首席执行官