Azure应用服务启动命令(必填)

Shi*_*asi 6 linux azure continuous-deployment azureportal asp.net-core

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

我最近在Windows上部署了其他应用程序服务,当时这不是问题。我输入的启动命令是dotnet <project.dll>。它部署成功。但部署后,每当我访问 API 端点时,都会出现500 Internal Server Error

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

S

Dor*_* Lv 5

看来你的启动命令是正确的,参考这个

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

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

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


更新

作为您自己的答复,您将应用程序连接到数据库。如果问题仍然存在,请尝试添加sql server策略,如下所示: 在此输入图像描述


Shi*_*asi 1

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