2013-04-14 107 views
12

我正在尝试创建一个能够与Amazon RDS进行通信的Web项目。我知道如何使本地主机项目通过JDBC连接到RDS。如何在Amazon EC2上部署Eclipse Java Web动态项目?

但是,问题是我从来没有试图部署我的项目(所以,例如有人可以输入somePage.com,并转到我的网页)。

我有一个亚马逊EC2实例,我已经写了一个简单的hello world jsp页面。我可以编译它并运行Eclipse Web动态项目使用已安装的Apache Tomcat服务器,然后键入localhost:8080/somePage然后我可以看到我的hello世界弹出。

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

我的整个想法是,一旦我有一个AMI图像的所有设置,然后我可以使用自动缩放比例来缩放我的网页与AMI图像。

任何人都可以指向正确的方向吗?

+0

这个简单的Hello World你说说,你跑了吗?在你的日食?另外,您是否在Amazon EC2实例中安装了Apache Tomcat? – acdcjunior

+0

是的,我在Eclipse中运行了它。我还没有在Amazon EC2实例中安装Apache Tomcat,我认为这是第一步?其实我去过那个网站,但是zip文件里没有EXE文件。编辑:我刚刚发现它 – user1157751

回答

18

按照下面的步骤:在您的Amazon EC2实例

  1. 安装的Apache Tomcat。
    • 通常你只需要做的就是download the current version,解压缩并通过运行apache-tomcat-folder\bin\startup.bat启动它。 (您也可以下载安装程序并将其设置为Windows服务。有关更多详细信息,请参阅this link)。
    • 请确保在继续之前对其进行测试(在浏览器上打开其地址,如http://yourinstaceaddress.com:8080/)。
  2. 导出你的web应用.war文件
    • 在Eclipse中,右键单击Web项目并选择导出。然后在导出窗口中选择WAR文件,然后选择下一步。选择项目,.war文件名和文件夹导出。更详细的解释可以参见herehere (with pictures)
  3. .war文件部署到Tomcat服务器
    • 的,到目前为止,要做到这一点最简单的方法是把你的.war(比如myapp.war)文件在您的apache-tomcat-folder\webapps\文件夹中。
    • 还有其他的方法,比如通过Tomcat Manager。但他们可能会很棘手,作为一个新用户,你应该避免它们。 (别担心:生产部署的简单方法是可以的)。
  4. 测试您的Web应用程序
    • 请访问网址:说你.war的名字是myapp.war。您应该访问http://yourinstaceaddress.com:8080/myapp

就是这样。如果您曾编辑该应用程序,请重复步骤2-4(但删除在执行步骤3之前创建的webapps\myapp\文件夹)。

+0

感谢您的帮助,它的工作原理,呜呼!是否有可能将myapp更改为索引以便wwww.yourinstanceaddrss.com可以工作? – user1157751

+0

其实我试图连接到本地主机/ myapp,它的工作原理,但是当我试图将它连接到instance-public-dns.com/mypass它不。它可能是防火墙问题吗?编辑:修复,我去了防火墙,并设置所有端口的所有允许入站策略。 – user1157751

+0

是的,将'myapp.war'重命名为'ROOT.war'并像往常一样部署(不要忘记先删除'ROOT.war'和'webapps \ ROOT'文件夹)。 – acdcjunior

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. 将其设置为1和16 T2之间自动缩放.micro实例基于CPU使用率(规模在25%及以下,扩展至75%及以上)
  3. 创建包含Tomcat的AMI并准备启动应用程序
  4. 创建ELB
  5. 创建正确的端口安全组
  6. 创建一个自动伸缩群
  7. 启动实例(S)

任何后续的更新工作将作为一个零停机蓝/绿部署。

对于您的域名,您可以简单地将您的samepage.com DNS记录映射到ELB的CNAME。

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