我将 Spring Boot 应用程序部署到 IIS/嵌入式 tomcat 作为 azure 应用程序服务。当应用程序服务启动时,应用程序日志显示同一实例大约每 10 分钟就会重新启动一次(新 pid)。 90分钟后,它最终将成功部署。 从嵌入的 tomcat 日志和 org.springframework 日志中我看不到任何问题,但有时它可以在 2 分钟内启动。
我还可以在哪里查找启动错误?有没有办法可以增加应用程序服务启动时间,因为我不知道是什么导致它重新启动?
您可以尝试在应用服务>配置>常规设置中对Tomcat进行配置 根据您所需的版本如下:
“有时,使用默认启动命令启动 jar 会花费更多时间。这可能是因为它扫描文件系统中的配置文件,因为它使用
-cp
命令来启动 jar
。
java -cp app.jar org.springframework.boot.loader.JarLauncher
我通过在AppService->配置->常规设置->启动命令中提供启动命令解决了这个问题
java -jar <path_of_jar>
您也可以检查容器日志,请参阅下面的链接。 [https://learn.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs]
如果您正在登录文件,那么您可以通过 SSH[Azure 门户->AppService->左侧有一个 SSH 选项] 到容器并直接
tail
日志,但有时很难进入使用 ssh 的容器,因为它无法正常启动。”
有关更多信息,请参阅针对类似问题的 MS 问答的持续讨论:Azure 应用程序服务重启循环 和 Microsoft 文档:HttpPlatformHandler 配置参考 .
增加应用服务计划SKU
如果问题是由于资源(内存、CPU)不足造成的,请考虑将您的应用服务计划升级到拥有更多资源的更高级别。