我正在尝试使用弹性beanstalk和tomcat将应用程序部署到EC2。为了尝试修复不同的问题,我将上传的文件从.war更改为.zip,以便包含.ebextensions文件夹。但是,现在我在尝试进入网站时收到以下错误:
我认为我添加的.config文件可能有问题,所以我尝试单独压缩.war文件,但是我得到完全相同的错误,所以这被排除了。
答案 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可以正常部署,生活也很好。