我将 Spring Boot Web 应用程序托管为 Azure App Services,但是其中一个似乎在启动时陷入了循环。该应用程序无法访问,并且看起来它每半分钟重新启动一次。日志中没有错误,重新启动应用服务也没有帮助。
有人知道为什么会发生这种情况或我该如何解决吗?
提前致谢。
我将 Spring Boot Web 应用程序托管为 Azure App Services,但是其中一个似乎在启动时陷入了循环。该应用程序无法访问,并且看起来它每半分钟重新启动一次。日志中没有错误,重新启动应用服务也没有帮助。
有人知道为什么会发生这种情况或我该如何解决吗?
提前致谢。
有时 jar 会花费更多时间以默认启动命令启动。这可能是因为它扫描文件系统以查找配置文件,因为它使用-cp
命令来启动jar
.
java -cp app.jar org.springframework.boot.loader.JarLauncher
我通过在 AppService->Configuration->General Settings->Startup 命令中提供启动命令解决了这个问题
java -jar <path_of_jar>
或者您也可以查看容器日志请参阅下面的链接。[https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs]
如果您正在登录文件,那么您可以通过 SSH[Azure 门户->AppService-> 左侧有一个 SSH 选项]tail
直接访问容器和日志,但有时使用 ssh 进入容器非常困难,因为它没有正常启动。
我终于设法解决了这个问题。默认情况下,应用服务配置设置为使用 Jetty 作为 Web 容器而不是 Tomcat。可能该服务试图验证 Jetty 是否已启动并正在运行,并且由于它不是服务不断重新启动。一旦我将配置设置为 Tomcat,问题就解决了。
你application.properties
应该有:
logging.level=DEBUG
logging.level.org.springframework=DEBUG
logging.file=/home/LogFiles/boot.log
boot.log
应该给你更多关于接下来要追捕的东西。