Azure 应用服务启动命令必需

问题描述

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

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

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

S

解决方法

看来您的启动命令是正确的,请参阅 this

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

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

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


更新

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

,

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