【问题标题】:Azure app service startup command (required)Azure 应用服务启动命令(必需)
【发布时间】:2020-12-30 09:44:01
【问题描述】:

我正在将我的 ASP.NET Core 3.1 应用部署到 Azure 应用服务。在创建新的应用服务时,我选择了 Linux 作为操作系统。在部署中心,当我部署应用程序时,它会提示我输入启动命令。我读到的所有地方都说启动命令是可选的。但是当我部署时,如果没有这个,它就不会走得更远。

我最近在 windows 上部署了其他应用服务,当时这不是问题。我输入的启动命令是dotnet 。它部署成功。但是在部署之后,每当我遇到 API 端点时,它都会给出 500 Internal Server Error

我的问题是: 启动命令的目的是什么?为什么部署到linux时返回500。

S

【问题讨论】:

  • 您使用哪种方式将应用程序部署到 Azure Web 服务?可以分享一下链接吗?
  • 你能显示错误信息吗?

标签: linux azure asp.net-core continuous-deployment azureportal


【解决方案1】:

看来你的启动命令是正确的参考this

您可以检查此设置是否已在配置中设置,并检查 .dll 文件名是否正确。据我所知,这个设置在Linux环境下是必须的。

对于500 Internal Server Error,这是服务器端的错误,有时表示您的Web应用程序没有准备好,重新启动它会解决问题。

如果没有解决,请检查 kudu 中的 wwwroot 文件结构。 ->.scm.azurewebsites.net 如果文件结构不正确,请尝试其他方式部署。


更新

作为您自己的回复,您connected your app to database。如果问题仍然存在,请尝试添加 sql server 策略,如下所示:

【讨论】:

    【解决方案2】:

    我诊断出了问题。我部署的应用服务未列入访问数据库的白名单。这就是 500 Internal Server Error 的原因

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多