13

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

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

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

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

我的整个想法是,一旦我设置了一个 AMI 图像,我就可以使用自动缩放来使用该 AMI 图像缩放我的网页。

谁能指出我正确的方向?

4

2 回答 2

21

请按照以下步骤操作:

  1. 在您的 Amazon EC2 实例上设置 Apache Tomcat。
    • 通常你所要做的就是下载当前版本,解压缩,然后运行apache-tomcat-folder\bin\startup.bat​​. (您也可以下载安装程序并将其设置为 Windows 服务。查看此链接了解更多详细信息)。
    • 确保在继续之前对其进行测试(在浏览器上打开其地址,例如http://yourinstaceaddress.com:8080/)。
  2. 导出您的 Web 应用程序.war文件
    • 在 Eclipse 中,右键单击一个 Web 项目并选择 Export。然后在 Export 窗口中选择 WAR 文件,然后选择 Next。选择.war要导出的项目、文件名和文件夹。更详细的解释可以在这里这里找到(带图片)
  3. 将文件部署.war到您的 Tomcat 服务器
    • 到目前为止,最简单的方法是将您的.war(比如说myapp.war)文件放在您的apache-tomcat-folder\webapps\文件夹中。
    • 还有其他方法,例如通过Tomcat Manager。但它们可能很棘手,作为新用户,您应该避免使用它们。(不用担心:简单的方法可以用于生产部署)。
  4. 测试您的网络应用
    • 访问网址:说你.war的名字是myapp.war。你应该访问http://yourinstaceaddress.com:8080/myapp

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

于 2013-04-14T08:14:24.637 回答
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. 启动您的实例

任何后续更新都将作为零停机蓝/绿部署完成。

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

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

于 2015-11-13T15:22:17.780 回答