很容易通过 Eclipse 插件配置 EC2。首先,打开 Amazon EC2 透视图,输入您的凭证。接下来,打开 Window > View > Servers。需要定义至少一个服务器,但是我们将定义两个服务器:一个在本地用于免费测试,另一个在 Amazon 的基础设施上。右键单击并选择 New > Server。 在 Select the server type 文本框中输入 图 2. 定义本地服务器 在 Servers 控制台上,选择本地 Tomcat 实例,右键单击并选择 Start。Tomcat 启动之后,Eclipse 会部署您的代码(即您的 Groovlet)。启动 Web 浏览器,访问 localhost:8080/your context name/EC2Groovlet.groovy,应该会看到 Groovy Builder 生成的 HTML 页面。如果一切正常,就该在 Amazon 的基础设施上试试它了。 现在,您可能对在 EC2 上部署这个应用程序有些畏惧。其实这差不多与本地部署一样容易。首先,回到 Servers 控制台,右键单击并选择 New。然后,输入 图 3. 定义 EC2 服务器 在 下一个对话框中(见图 4),可以选择希望集群使用的实例数量。目前,保持 1 即可 — 以后随时可以扩展。可以选择一个定制的 Amazon Machine Image (AMI) 或接受默认映像。目前使用默认映像;选择另一个 AMI 可以增加其他软件包,比如数据库。对于实例类型,选择 Small — 如果愿意,可以选择更大的实例(但是要记住,您必须付费)。 图 4. EC2 首选项 Amazon 已经表明它很重视安全性,下两个选项(也见图 4)与 Tomcat 集群的安全性相关。目前,只需在 Key Pair 区域中右键单击并选择 New Key Pair,创建默认的安全设置。必须定义一个名称并选择在注册 EC2 时已经安装的密钥对。 接下来,可以在 Security Group 框中创建组。(这里仅仅是创建组;在另一个视图中,可以实际使用它们)。右键单击并添加一个新的组,指定它的名称。默认设置允许所有人访问端口 8080,目前可以采用默认设置。 最后,可以配置 IP 地址。如果您最终决定长期使用 EC2,这会很方便,因为 Web 应用程序的默认 URI 相当长,很难记住。目前接受 EC2 提供的地址即可。但是,不必担心 — 随时可以把自己的域名映射到 Amazon 提供的 IP 地址。 单击 Next 按钮,把您的项目(和 Groovlet)与 EC2 服务器联系起来。现在可以部署了! 与前面一样,右键单击刚才定义的 Amazon EC2 服务器并启动它,见图 5: 图 5. 启动和停止服务器 这一次,启动可能会多花些时间,因为启动在远程执行。服务器运行起来之后,选择您的 Web 项目并选择 Run as > Run on Server 选项。接下来,选择已经启动的 Amazon Tomcat 集群并单击 Finish。这么做会在 Eclipse 中打开嵌入的浏览器,它在默认情况下访问您的上下文根 — 这里有 index.html 文件,文件包含 Groovlet 的链接。 注意浏览器位置窗口中的 URL。可以在图 6 中看到我的 URL。随时可以把 URL 映射到更符合逻辑的地址。单击 Groovlet 的链接,Groovy 程序会再次显示 — 这一次,程序是在您完全不知道的某个地方的服务器上运行的! 图 6. EC2 是 Groovy! 单击链接几次,您会体会到在 Amazon 的基础设施上运行程序与在自己的本地机器上运行一样容易。然后,一定要停止服务器 — 如果不这么做,您就要一直付费。停止服务器与启动一样。在 Servers 控制台中右键单击您的实例并选择 Stop。 Java 开发 2.0 主要受到两个因素的影响:
正 如在本文中看到的,通过使用 EC2 可以实现 Java 开发 2.0 的这两个方面。可以在借来的基础设施上充分利用您喜欢的任何软件(请记住,Amazon 的虚拟机器可以运行任何东西),而其花费远远少于自己购买硬件资源。不仅如此,可以非常高效地设置 EC2,扩展到非常大的规模,远远超过您自己以同样的成本能够达到的规模。 下一期 Java 开发 2.0 将深入讨论 EC2,介绍一种支持运行 Tomcat 和 MySQL 的虚拟机器(或 AMI)。您将学习如何部署一个支持 Spring 和 Hibernate(目前最流行的两个 Java 开放源码框架)的 Java Web 应用程序,还会再次看到 Java 开发 2.0 基本原理的应用。 |