FTP'将 Suave 应用程序连接到 Azure

FTP'ing a Suave app to Azure

在尝试使用 FTP 将简单的 F# Suave 应用程序部署到 Azure 之前,我从未使用过 Azure。最终我想通过 github 进行部署,但我最初认为 FTP 是简单的第一步。根据https://suave.io/azure-app-service.html应该是直截了当的。

这些是我遵循的步骤

  1. 在 Azure 中创建了一个新的 Web 应用程序,包括一个资源组 和应用程序服务计划。全部在免费套餐中。

  2. 下载了 Azure 创建的 publishsettings XML 文件。

  3. 克隆了这个 repo:https://github.com/isaacabraham/fsharp-demonstrator

  4. 使用 FileZilla 使用凭据通过 FTP 连接 从步骤 2.

  5. 上传文件(通过FTP)来自 fsharp-demonstrator/src/SuaveHost(其中包括必要的 web.config 文件)从第 3 步克隆的回购到 Azure 上的 site\wwwroot。

  6. 导航至 Azure 站点 url。

然后我收到错误:

指定的 CGI 应用程序遇到错误,服务器终止了进程。

(当我在 site\wwwroot 下查看 Azure 上的文件夹时,我没有看到任何 obj 或 bin 文件夹。我认为没有发生任何 msbuild 过程。这似乎不对。)

有人知道问题出在哪里吗?

我怀疑问题是当您通过 FTP 部署时,Azure 不会自动 运行 the .deployment file 中指定的部署脚本。

  • build.fsx 脚本使用 Kudu 服务来部署构建的文件,因此使用 Github 部署而不是 FTP 可能更容易 - 这种方式, Azure 将为您进行部署。

  • 如果您想通过 FTP 进行部署,您需要在本地构建项目并上传输出。我不确定如何使用 Isaac 基于 Kudu 的演示最好地做到这一点(最终,您需要 web.config 指向您构建的可执行文件 like this