【问题标题】:How to deploy a web app on azure with IntelliJ?如何使用 IntelliJ 在 Azure 上部署 Web 应用程序?
【发布时间】:2019-01-09 09:52:24
【问题描述】:

我正在部署一个使用 IntelliJ 使用 azure 开发的 Web 应用程序。 我使用 Azure 的 IntelliJ 工具包,

我有以下结果:

Stopping Web App...
Getting Deployment Credential...
Connecting to FTP server...
Uploading artifact to: /site/wwwroot/app.jar ...
Uploading successfully...
Starting Web App...
Deploy successfully!
URL: https://app.azurewebsites.net

当我点击网址时,我得到:“应用程序错误”,没有进一步的解释。

当我在本地运行我的(弹簧)应用程序时,一切正常。 我的测试也运行良好。

我可以尝试什么来解决这个问题? 我没有堆栈跟踪或诊断,所以我不知道从哪里开始。

编辑:

2019-01-09 08:32:55.358 INFO  - Starting container for site
2019-01-09 08:32:55.359 INFO  - docker run -d -p 42072:80 --name productidentifier_0 -e WEBSITE_SITE_NAME=productidentifier -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=7b3a533f561e7e09c1c0a936ab27adabbffe4ec239df09d0c46775c50b146a87 appsvc/java:8-jre8_0000000000  

2019-01-09 08:32:55.362 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-01-09 08:33:09.102 ERROR - Container productidentifier_0 for site productidentifier has exited, failing site start
2019-01-09 08:33:10.855 INFO  - Issuing docker pull: imagename =appsvc/java:8-jre8_0000000000
2019-01-09 08:33:11.645 INFO  - docker pull returned STDOUT>> 8-jre8_0000000000: Pulling from appsvc/java
Digest: sha256:8d261d28da96cb59f1573ab9b0c826c642f47de9e290fd630f69448adca29dfd
Status: Image is up to date for 10.0.5.3:13209/appsvc/java:8-jre8_0000000000

2019-01-09 08:33:11.884 INFO  - Starting container for site
2019-01-09 08:33:11.885 INFO  - docker run -d -p 34512:80 --name productidentifier_0 -e WEBSITE_SITE_NAME=productidentifier -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=7b3a533f561e7e09c1c0a936ab27adabbffe4ec239df09d0c46775c50b146a87 appsvc/java:8-jre8_0000000000  

2019-01-09 08:33:11.886 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-01-09 08:33:22.361 ERROR - Container productidentifier_0 for site productidentifier has exited, failing site start
2019-01-09 09:26:19.660 INFO  - Issuing docker pull: imagename =appsvc/java:8-jre8_0000000000
2019-01-09 09:26:20.311 INFO  - docker pull returned STDOUT>> 8-jre8_0000000000: Pulling from appsvc/java
Digest: sha256:8d261d28da96cb59f1573ab9b0c826c642f47de9e290fd630f69448adca29dfd
Status: Image is up to date for 10.0.5.3:13209/appsvc/java:8-jre8_0000000000

我找到了这个,这对我有什么帮助吗? 似乎 docker 没有按应有的方式启动?

【问题讨论】:

  • 尝试停止应用服务,然后使用左侧的控制台手动执行您的 app.jar。这样,您应该会看到您的应用吐出的任何输出(希望是错误)
  • 我停止了它,但我在 azure 网站上没有看到控制台,您是指 SSH 控制台吗?当我运行时,我收到以下错误:SSH CONNECTION CLOSE - 错误:连接 EHOSTUNREACH
  • 嗯,在我的 Azure 应用服务中,左侧的菜单有一个开发工具部分,在它下面有一个控制台。鉴于您的在 docker 下运行,(也许我的也是如此?ASP.Net Core 站点)那么您实际上可能不在您的应用所在的 docker 容器的上下文中
  • 您可以尝试在本地运行 app.jar 以查看该 jar 是否可执行。

标签: java azure intellij-idea azure-active-directory


【解决方案1】:

根据您的描述,听起来您正在将 SpringBoot 应用程序作为可运行的 jar 文件部署到适用于 Linux 的 Azure 应用服务,这与从 IntelliJ 中的 Java Web 项目构建的 war 文件的部署不同。

Azure Toolkit for IntelliJ的官方教程有两个,分别介绍了如何在Azure App Service for Linux上部署war文件或jar文件。

  1. Deploy a Hello World web app to a Linux container in the cloud using the Azure Toolkit for IntelliJ
  2. Publish a Spring Boot app as a Docker container by using the Azure Toolkit for IntelliJ

我认为上面的第二个教程适合您当前的场景,请按照它检查您的部署步骤再试一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2022-06-26
    • 2018-05-21
    相关资源
    最近更新 更多