java – 将Springboot部署到Azure App Service

我正在尝试将springboot项目部署到Azure App Service中.
我创建了一个App Service并通过FTP上传了两个文件:test.war和web.config,如他们的教程中所述.

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processpath="%JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar   &quot;%HOME%\site\wwwroot\test.war&quot;">
    </httpPlatform> 
  </system.webServer>
</configuration>

我正在将war文件上传到site / wwwroot并将web.config文件放在那里.

我的问题是:我如何执行war文件?是否应该在我自动完成部署时发生?因为现在我得到的是Service Unavailable,Http Error 503.

谢谢

解决方法:

@ItaiSoudry,根据web.config文件内容,您似乎希望使用嵌入式servcat容器(如嵌入式tomcat或jetty)来启动spring boot Web应用程序.

假设您使用的IDE是Eclipse,您需要将Spring启动项目导出为可运行的jar文件,而不是war文件,请参见下图.

enter image description here

enter image description here

注意:应该选择Launch配置,主要功能包含SpringApplication.run.

同时,您需要通过web.config文件中的参数–server.port =%HTTP_PLATFORM_PORT%配置支持Azure应用服务的%HTTP_PLATFORM_PORT%的侦听端口,或者使用值System.getenv设置类ServerProperties的端口. ( “HTTP_PLATFORM_PORT”).

以下是带有–server.port =%HTTP_PLATFORM_PORT%的web.config示例.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processpath="%JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\test.jar&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>

如果要部署war文件,则需要在Azure门户上配置应用服务的ApplicationSettings,然后将war文件上载到路径wwwroot / webapps中.

enter image description here

作为参考,请参阅以下文件.

>文章https://azure.microsoft.com/en-us/documentation/articles/web-sites-java-custom-upload/#application-configuration-examples中的Springboot小节
> Create a Java web app in Azure App Service

希望能帮助到你.

相关文章

Microsoft云包括了Azure、PowerPlatform、Microsoft365、Git...
《WindowsAzurePlatform系列文章目录》 我们在使用AzureAPI...
微软免费使用一年的Azure虚拟机,默认提供了一个64G的磁盘,...
上篇请访问这里做一个能对标阿里云的前端APM工具(上)样本多...
一年一度的MicrosoftBuild终于来了,带来了非常非常多的新技...