我开发了Grails应用程序并成功将其部署在Tomcat7 windows版本上。我想在Amazon EC2(AMI linux 32版本)上部署它。我成功地在EC2上安装了Tomcat7,一切运行良好。我将.war文件转移到了amazon ec2,但是我收到了“http状态404:请求的资源不可用”的错误消息。我想知道在Windows和Linux中生成.war文件之间的不匹配是否是问题的根源?任何帮助表示赞赏!
答案 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将自动
所有更新均以零停机蓝/绿部署执行。如果您需要多个实例,Boxfuse还支持ELB,自动缩放等。
Boxfuse分析您的原生Grails 3 application.yml配置并自动提取您的应用所需的端口和运行状况检查信息。然后,此信息用于正确设置安全组和ELB。
更多信息:https://boxfuse.com/getstarted/grails
免责声明:我是Boxfuse的创始人兼首席执行官
答案 2 :(得分:0)
这可能是路径映射的问题。您可以尝试将Web应用程序安装为root用户,然后尝试一下。