使用 FTP 将 Spring Boot app.jar 部署到 Azure 不起作用

我正在尝试将本地构建的 Spring Boot 应用程序部署到 Azure App Service。注意我是使用 Azure 的新手。

我使用 Azure Portal 创建的 App Service 具有以下特点:

  • StackJava SE (JRE 8)

这应该使运行应用程序成为可能。

我还添加了以下应用程序设置(环境变量):

  • JAVA_OPTS-Dserver.port=80

  • SPRING_PROFILES_ACTIVEprod

这应该设置正确的服务器端口,假设端口80是我应该使用的正确端口。我读了这个其他帖子。第二个应用程序设置将确保prod使用应用程序内部的配置文件。

我使用 FTP 连接到应用服务并删除default.jar并上传了自己app.jar的应用服务,然后重新启动应用服务。

我收到一条通知,应用程序已重新启动,但它似乎不起作用。我无法访问该应用程序,但我也无法找到日志文件。在 Azure 门户中尝试日志流仅提供有关Starting container for site和 docker 相关日志的信息,而不是我的应用程序的日志。

我想知道在哪里进行故障排除。

请注意,我使用的是 FTP 部署选项,因为我的应用程序是使用 Gradle 构建的,而 Azure 似乎只有一个用于部署应用程序的 Maven 插件。


aluckdog
浏览 146回答 2
2回答

缥缈止盈

发生了几件事。添加提到的 web.config 后,应用程序正在部署。这A fatal error has been detected by the Java Runtime Environment是由于使用内存和磁盘存储的组合使用 Ehcache。从应用程序中删除 Ehcache 后,应用程序仍然无法运行,根据日志我发现应用程序没有在230s. 将应用程序设置更新为WEBSITES_CONTAINER_START_TIME_LIMIT有效后1800。我不知道为什么该应用程序需要这么长时间才能启动。查看日志并没有在某个区域花费大量时间;它只是逐渐缓慢。8s这些应用程序在 Heroku本地和20s.

慕森王

应用服务支持在 Windows 和 Linux 上运行 java。Web.config 工件仅在 Windows 上运行时有效,并且对于您的情况,因为您使用的是应用服务 Linux,所以根本不会使用此工件。我们还有一些可以调整的设置,例如 WEBSITES_CONTAINER_START_TIME_LIMIT,但还有其他一些设置,例如 WEBSITES_PORT 来配置您的容器将使用的端口。请查看常见问题解答: https ://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-faq另请查看应用服务的 Java 开发人员指南: https ://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-java谢谢,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java