当前位置: 首页 > 面试题库 >

无法将Spring Boot应用程序部署到Azure

子车心思
2023-03-14
问题内容

我无法让Spring Boot站点对Azure Web实例进行响应。我已遵循Java应用程序说明和上传说明。看来IIS服务器正在接收请求,但是战争中的servlet没有响应。根据文档,有一些陷阱。特别是,应将web.config部署到wwwroot并指定java路径以及转发端口。我相信我已经涵盖了这些基础-我的web.config粘贴在下面。

我确实尝试过从市场上部署tomcat服务器,但效果很好。当我替换war文件和web.config时,spring boot应用程序无法正常工作。

一条有趣的信息是HTTP_PLATFORM_PORT环境变量似乎未定义。

应用设置:

应用程式设定

Azure控制台信息(Env变量和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 &quot;%HOME%\site\wwwroot\web-0.0.1-SNAPSHOT.war&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>

问题答案:

那不应该是可执行的JAR而不是WAR吗?您可以仅安装JDK 8来运行Spring Boot JAR,但是需要Java EE应用服务器才能将WAR部署到其中。

我不知道web.config文件是什么。我使用Cloud Foundry。我需要的只是一个JAR,一个用于配置的.yml文件和一个JDK。Spring Boot JAR应该在其中包含整个应用程序及其依赖项。我使用Maven创建胖JAR。



 类似资料:
  • 我无法让我的Spring Boot站点在Azure Web实例上响应。我遵循了Java应用程序说明和上传说明。IIS服务器似乎正在接收请求,但战争中的servlet没有响应。根据留档,有几个问题。特别是,web.config应该部署到www root,并指定java路径和转发端口。我相信我已经涵盖了这些基础——我的web.config贴在下面。 我确实尝试过从市场上部署tomcat服务器,效果很好

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 嘿,我已经尝试了几天了,我已经遍历了文档,我遵循了教程,当我试图将react应用程序部署到github页面时,我无法通过npm运行部署。我将npm称为运行构建,我将正确的url放置到package.json作为“主页”,我再次调用它并获得“部署”和“预部署”,我在节点模块中肯定有gh-pages,我的意思是我得到了所有我遵循的每一个步骤,每个教程都可以告诉我。我遇到了一个问题,内容如下: 错误:无

  • 我正在尝试向EB部署一个测试应用程序。我遇到了一个问题。我遵循了本教程:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-linux-core-tutorial.html 当我上传测试应用程序时,它无法启动/var/log/eb引擎。日志说 2022/02/07 21:59:18.585543[ERROR]执行命令[app部

  • 问题内容: 我正在尝试在Heroku上使用Flask开发我的第一个“大型”应用程序,并尝试将此处的基本教程与以下说明结合:https : //devcenter.heroku.com/articles/python与以下说明:http:// flask.pocoo.org/docs/patterns/packages/#larger- applications。它在本地与“先行启动”一起工作,但是

  • 在开发阶段,我一直在开发tomcat的应用程序。随着我们的前进,我的客户希望部署到webphere。我正试图在webphere 8.5上这样做,但出于某种原因,我似乎遇到了问题。Tomcat很容易,我只是在战争中倒下,一切都像它应该的那样工作。Webphere是一个不同的故事。当我尝试点击我的应用程序时,我总是会遇到以下错误: 我一直在做一些研究,除了下面的一行,我没有注意到日志中有任何奇怪的地方

  • 我想部署两个应用程序foo。war和条形图。war到同一个Tomcat实例。他们是否可以侦听不同端口上的连接,例如,foo侦听端口81,bar侦听端口82?如果是,我如何配置?我意识到应用程序没有必要监听不同的端口,但这正是我想要实现的。 此外,如果我将重命名为,使其在根上下文中运行,那么对该Tomcat实例的所有请求都将由foo应用程序处理,因此bar必须部署到单独的Tomcat实例,这是否正确

  • 我试图将Spring Boot应用程序部署到Heroku,但我无法做到这一点。我的应用程序会自动检测为"heroku-maven-plugin",但我想将其部署为Java应用程序。 我怎样才能做到这一点?