首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure中的Tomcat没有启动WebApp

Azure中的Tomcat没有启动WebApp
EN

Stack Overflow用户
提问于 2017-05-30 09:57:49
回答 2查看 2.1K关注 0票数 1

我在Azure中创建了一个webapp,并在D:\home\site\wwwroot\webapp文件夹中上传了一个war文件。我使用了一个带有标准定价层的应用服务计划。我在应用程序设置菜单中完成了激活Java和Tomcat的设置:

  • java版本: Java 8
  • java小版本:最新版本
  • Web容器:最新的Tomcat

如果“始终打开”选项没有激活,我的Tomcat就不会启动。没有启动java进程,我的war文件也没有解压缩。我已经做了几次停止/启动应用程序,但什么都没有发生。一旦我激活了“始终打开”,Tomcat就会启动并部署应用程序。“始终打开”在服务计划中没有免费的定价层。

有人知道为什么Azure会这样吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-31 08:25:40

我试图复制您通过FTP说过的行为,下面是我在Tomcat 8.5.6上观察到的@GopiKolla。

  1. 如果禁用Always on选项,上传的.war文件将不会自动解压缩。然而,当我试图访问.war文件的webapp的url时,它被解压缩到一个目录中,该目录名为war,再过十秒钟。
  2. 如果启用此选项,所有war文件都将被自动解压缩&不可能。

我检查了所有的配置和环境变量,包括属性autodeployunpackWARsdeployOnStartup等,这些变量不会随选项开关而改变。我从Tomcat的官方相关文件(123.)中检索了这个案件的解释,没有任何有用的信息可以解释它。根据我的经验,Azure通过IIS限制运行时的生命周期,以确定是否通过选项httpPlatformHandler激活在web.config中定义的Always on进程。

希望能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2017-06-01 12:34:05

感谢您的反馈。昨天我又做了一次测试,我想我已经理解了Azure WebApp的工作原理。当您在webapp文件夹中上传war文件时,即使tomcat配置为解压缩和加载war,java进程也不会启动。

只有当你点击网站的.时,它才会启动java进程

如果不单击,则不会分叉java进程。第一次单击将分叉Tomcat的java进程。

我想这是IIS工作人员的正常行为。

因此,现在,当我部署Java应用程序时,我总是对URL执行一次操作,以确保webapp真正启动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44259065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档