如何在Amazon EC2上部署Eclipse Java Web动态项目?

时间:2013-04-14 07:25:00

标签: java tomcat amazon-ec2 web-deployment

我正在尝试创建一个能够与Amazon RDS通信的Web项目。我知道如何使localhost项目连接到带有JDBC的RDS。

然而,问题是我从未尝试过部署我的项目(例如,某人可以键入somePage.com,然后转到我的网页)。

我有一个 Amazon EC2实例,我已经编写了一个简单的hello world jsp页面。我能够使用已安装的 Apache Tomcat Server 编译它并运行 Eclipse Web Dynamic Project ,然后输入localhost:8080/somePage然后我可以看到我的hello world popping起来。

但是,如何在此EC2实例上部署我的项目?我正在使用Windows Server 2012版。

我的全部想法是,一旦我有一个AMI图像全部设置,那么我可以使用自动缩放来扩展我的网页上的AMI图像。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:19)

请按照以下步骤操作:

  1. 在您的Amazon EC2实例上设置Apache Tomcat。
    • 通常您只需要download the current version,解压缩它,然后运行apache-tomcat-folder\bin\startup.bat启动它。 (您也可以下载安装程序并将其设置为Windows服务。有关详细信息,请查看this link。)
    • 请确保在继续之前对其进行测试(在浏览器上打开其地址,例如http://yourinstaceaddress.com:8080/)。
  2. 导出您的网络应用程序.war文件
    • 在Eclipse中,右键单击Web项目并选择Export。然后在“导出”窗口中选择WAR文件,然后选择“下一步”。选择项目,要导出的.war文件名和文件夹。可以找到更详细的说明herehere (with pictures)
  3. .war文件部署到Tomcat服务器
    • 到目前为止,最简单的方法是将.war(说myapp.war)文件放在apache-tomcat-folder\webapps\文件夹中。
    • 还有其他方式,例如通过Tomcat Manager。但它们可能很棘手,作为新用户,你应该避免使用它们。 (别担心:简单的方法适用于生产部署)。
  4. 测试您的网络应用
    • 访问网址:说出.war的名称为myapp.war。您应该访问http://yourinstaceaddress.com:8080/myapp
  5. 就是这样。如果您编辑了应用程序,请重复步骤2-4(但删除在执行步骤3之前创建的webapps\myapp\文件夹。)

答案 1 :(得分:1)

Boxfuse完全符合您的要求。

对于Java Web应用程序,您只需要执行:

boxfuse create my-tomcat-app -apptype=load-balanced
boxfuse scale my-tomcat-app -capacity=1-16:t2-micro:cpu25-75
boxfuse run my-tomcat-app-1.0.war -env=prod

这将

  1. 配置您的应用程序以使用ELB
  2. 根据CPU使用情况将其设置为1到16个t2.micro实例之间的自动缩放(缩放比例为25%及以下,缩小比例为75%及以上)
  3. 创建包含Tomcat的AMI,并准备好启动应用程序
  4. 创建ELB
  5. 使用正确的端口创建安全组
  6. 创建自动缩放组
  7. 启动您的实例
  8. 任何后续更新都将作为零停机蓝/绿部署完成。

    对于您的域名,您只需将您的samepage.com DNS记录映射到ELB的CNAME即可。

    更多信息:https://boxfuse.com/blog/auto-scaling