在Amazon EC2上部署Grails应用程序

时间:2013-06-05 16:28:58

标签: tomcat grails amazon-web-services amazon-ec2

我开发了Grails应用程序并成功将其部署在Tomcat7 windows版本上。我想在Amazon EC2(AMI linux 32版本)上部署它。我成功地在EC2上安装了Tomcat7,一切运行良好。我将.war文件转移到了amazon ec2,但是我收到了“http状态404:请求的资源不可用”的错误消息。我想知道在Windows和Linux中生成.war文件之间的不匹配是否是问题的根源?任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:3)

您是否考虑过使用Elastic Beanstalk进行部署? EC2本身更像是IAAS,因此您仍然需要处理大量配置细节(例如服务器安装,负载平衡......),这可能很困难。 Beanstalk是一个免费的包装器(例如PAAS),围绕您在典型安装中需要的大多数AWS服务,其中一些预先配置的环境可供您部署。

这是使用Beanstalk的article on how to deploy Grails - 它有点旧但仍然非常相关。

答案 1 :(得分:0)

Boxfuse带有简单的原生支持deploying Grails 3.x apps on EC2

你需要做的只是字面意思

boxfuse run my-grails3-app-1.0.jar

和Boxfuse将自动

  • 融合为您的应用量身定制的最小操作系统映像(需要<10秒,图像大约100 MB 包括 JVM和您的应用程序)
  • 将其推送到安全的在线图像存储库
  • 在大约30秒内将其转换为AMI
  • 创建弹性IP并为其分配新域
  • 创建一个打开正确端口的安全组
  • 启动您的AMI&amp;的实例确保健康检查通过
  • 将弹性IP(和新域)映射到新实例

所有更新均以零停机蓝/绿部署执行。如果您需要多个实例,Boxfuse还支持ELB,自动缩放等。

Boxfuse分析您的原生Grails 3 application.yml配置并自动提取您的应用所需的端口和运行状况检查信息。然后,此信息用于正确设置安全组和ELB。

更多信息:https://boxfuse.com/getstarted/grails

免责声明:我是Boxfuse的创始人兼首席执行官

答案 2 :(得分:0)

这可能是路径映射的问题。您可以尝试将Web应用程序安装为root用户,然后尝试一下。