如何在Amazon EC2上部署Eclipse Java Web动态项目?
我正在尝试创建一个能够与Amazon RDS通信的Web项目。 我知道如何使用JDBC连接到RDS的localhost项目。
但是,问题是我从未尝试过部署我的项目(例如,有人可以输入somePage.com
,然后转到我的网页)。
我有一个Amazon EC2实例 ,我已经编写了一个简单的hello world jsp页面。 我能够使用已安装的Apache Tomcat Server编译它并运行Eclipse Web Dynamic Project ,然后键入localhost:8080/somePage
然后我可以看到我的hello world弹出。
但是,如何在此EC2实例上部署项目? 我正在使用Windows Server 2012版。
我的整个想法是,一旦我有一个AMI图像全部设置,那么我可以使用自动缩放来扩展我的网页与该AMI图像。
谁能指出我正确的方向?
请按照以下步骤操作:
- 在Amazon EC2实例上设置Apache Tomcat。
- 通常,您只需下载当前版本 ,解压缩并通过运行
apache-tomcat-folder\bin\startup.bat
启动它。 (您也可以下载安装程序并将其设置为Windows服务。有关详细信息,请查看此链接 )。 - 确保在继续之前测试它(在浏览器上打开它的地址,例如
http://yourinstaceaddress.com:8080/
)。
- 通常,您只需下载当前版本 ,解压缩并通过运行
- 导出您的Web应用程序
.war
文件- 在Eclipse中,右键单击Web项目并选择Export。 然后在“导出”窗口中选择WAR文件,然后选择“下一步”。 选择项目,
.war
文件名和要导出的文件夹。 可在此处和此处找到更详细的说明(带图片) 。
- 在Eclipse中,右键单击Web项目并选择Export。 然后在“导出”窗口中选择WAR文件,然后选择“下一步”。 选择项目,
- 将
.war
文件部署到Tomcat服务器- 到目前为止,最简单的方法是将
.war
(比如myapp.war
)文件放在apache-tomcat-folder\webapps\
文件夹中。 - 还有其他方法,例如通过Tomcat Manager 。 但它们可能很棘手,作为新用户,你应该避免使用它们。 (别担心:简单的方法适用于生产部署)。
- 到目前为止,最简单的方法是将
- 测试您的网络应用
- 访问url:说你的
.war
的名字是myapp.war
。 你应该访问http://yourinstaceaddress.com:8080/myapp
- 访问url:说你的
而已。 如果您编辑了应用程序,请重复步骤2-4(但删除在执行步骤3之前创建的webapps\myapp\
文件夹)。
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
这将
- 配置您的应用程序以使用ELB
- 根据CPU使用情况将其设置为1到16个t2.micro实例之间的自动缩放(缩放比例为25%及以下,缩小比例为75%及以上)
- 创建包含Tomcat的AMI,并准备好启动应用程序
- 创建一个ELB
- 使用正确的端口创建安全组
- 创建自动缩放组
- 启动您的实例
任何后续更新都将作为零停机蓝/绿部署完成。
对于您的域,您只需将samepage.com DNS记录映射到ELB的CNAME即可。
更多信息: https : //boxfuse.com/blog/auto-scaling