如何在 Amazon EC2 上部署 Eclipse Java Web Dynamic Project?

2022-09-04 08:31:29

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

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

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

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

我的全部想法是,一旦我设置了一个AMI映像,那么我就可以使用自动缩放来缩放我的网页与该AMI映像。

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


答案 1

请按照以下步骤操作:

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

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


答案 2

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. 创建弹性负载均衡
  5. 创建具有正确端口的安全组
  6. 创建自动伸缩组
  7. 启动您的实例

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

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

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


推荐