【发布时间】:2016-06-13 07:49:31
【问题描述】:
我的 Spring Boot 站点无法响应 Azure Web 实例。我关注了Java app instructions 和upload instructions。似乎 IIS 服务器正在接收请求,但战争中的 servlet 没有响应。根据文档,有几个问题。特别是,web.config 应该部署到 wwwroot 并指定 java 路径以及转发端口。我相信我已经涵盖了这些基础——我的 web.config 粘贴在下面。
我确实尝试过从市场上部署一个 tomcat 服务器,并且效果很好。当我替换我的 war 文件和 web.config 时,spring boot 应用程序不起作用。
一条有趣的信息是似乎没有定义 HTTP_PLATFORM_PORT 环境变量。
应用设置:
Azure 控制台信息(环境变量和 Web.config):
D:\home\site\wwwroot
> dir
D:\home\site\wwwroot
Volume in drive D is Windows
Volume Serial Number is 789E-197B
Directory of D:\home\site\wwwroot
03/01/2016 02:14 AM <DIR> .
03/01/2016 02:14 AM <DIR> ..
02/29/2016 08:15 PM <DIR> bin
03/01/2016 01:49 AM 8,771,899 web-0.0.1-SNAPSHOT.war
03/01/2016 02:10 AM 496 web.config
03/01/2016 02:08 AM 496 web.custom.config
03/01/2016 01:54 AM 4,868 web.tomcat.config
03/01/2016 02:14 AM <DIR> webapps
> echo %java_home%
D:\home\site\wwwroot
D:\Program Files\Java\jdk1.8.0_60
> echo %http_platform_port%
D:\home\site\wwwroot
%http_platform_port%
> cat web.config
D:\home\site\wwwroot
<?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 "%HOME%\site\wwwroot\web-0.0.1-SNAPSHOT.war"">
</httpPlatform>
</system.webServer>
</configuration>
【问题讨论】:
-
您好,抱歉,您能帮帮我吗? ,我将 jar 文件上传到 /webapp 文件夹,但没有任何改变。我错过了一部分吗?我在哪里可以找到这个 web.config 文件??在此先感谢!
-
正确的路径是site/wwwroot。使用从 Azure 门户中的 Web 应用程序配置的 ftp 凭据。 web.config 在这里解释:azure.microsoft.com/en-us/documentation/articles/… 我的 web.config 与该页面上显示的 springboot 应用程序中的基本相同。发生的事情是您启动了一个运行您的 jar 的自定义 Http 模块。
-
非常感谢!!另一个问题,我没有启动自定义 Http 模块的部分,我是 Azure 和那些东西的新手,顺便说一句,我还有一个 SpringBoot 应用程序.. 很抱歉用 cmets 向你发送垃圾邮件:(
-
我将 jar 文件上传到 /wwwroot,将
web.config固定到同一文件夹中,从 azure 门户重新启动web app,然后当我尝试访问该站点时,它一直在加载,有时它给了我错误 503 .. 是否有任何 Tomcat 配置? ..我不明白..还是我必须切换到.war...再次抱歉,但我被困在那里! -
那次经历让我写下这个问题。就我而言,我部署了一个“薄罐”。如果您使用 gradle,则必须使用 'gradle build' not 'gradle jar' 构建 java 应用程序。您需要一个包含所有依赖项的 jar。
标签: java azure spring-boot