AWS Elastic Beanstalk Tomcat适用于.war而不是.zip

时间:2017-04-12 17:38:31

标签: amazon-web-services tomcat amazon-ec2 elastic-beanstalk

我正在尝试使用弹性beanstalk和tomcat将应用程序部署到EC2。为了尝试修复不同的问题,我将上传的文件从.war更改为.zip,以便包含.ebextensions文件夹。但是,现在我在尝试进入网站时收到以下错误:

enter image description here

我认为我添加的.config文件可能有问题,所以我尝试单独压缩.war文件,但是我得到完全相同的错误,所以这被排除了。

1 个答案:

答案 0 :(得分:2)

TL / DR:将2个.war文件放入.zip文件中,而不是1个。

我知道这个帖子已经有将近18个月了。但是我经历了完全相同的症状,因此这似乎是分享我的发现的好地方。

前提:完全像预期的那样部署.war文件效果很好。

观察:Elastic Beanstalk自动执行此操作:

/usr/share/tomcat/webapps/ROOT/[contents of .war are placed here]

问题:部署包含此.war文件以及有效配置文件的.zip文件无法正常工作。

观察:Elastic Beanstalk自动执行此操作:

/usr/share/tomcat/webapps/ROOT/[my-war.war is placed here]

在我看来,这似乎是一个错误。也许这是预期的行为...但是我不明白。将.war文件放在webapps中将很有意义。将.war的 contents 放在ROOT中会很有意义。但是将.war文件直接放在那里似乎很奇怪。

解决方案:将第二个.war文件添加到.zip文件中(即使您不需要第二个应用程序也是如此!)。

观察:Elastic Beanstalk自动执行此操作:

/usr/share/tomcat/webapps/[my-war.war is placed here]
/usr/share/tomcat/webapps/[my-other-war.war is placed here]

现在my-war.war可以正常部署,生活也很好。