azure - 通过 FTP 将 Suave 应用程序传输到 Azure

标签 azure f# suave

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

这些是我遵循的步骤

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

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

  3. 克隆了此存储库:https://github.com/isaacabraham/fsharp-demonstrator

  4. 使用 FileZilla 使用凭据通过 FTP 进行连接 从第 2 步开始。

  5. 已从以下位置上传文件(通过 FTP) 从步骤 3 克隆的存储库中的 fsharp-demonstrator/src/SuaveHost (其中包括必要的 web.config 文件)到 Azure 上的站点\wwwroot。

  6. 导航到 Azure 站点 URL。

然后我收到错误:

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

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

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

最佳答案

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

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

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

关于azure - 通过 FTP 将 Suave 应用程序传输到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40720216/

相关文章:

f# - 项目 euler #1。我的答案总是错了 100,我不知道为什么(用 F# 编写)

f# - 如何使用 Suave 捕获像 "/COMPANY/rest..."这样的动态子路径并嵌套路由?

powershell - 客户端永远等待远程服务器返回网页

node.js - 使用 Azure Mobile Apps for Node 在 Cosmos DB 上执行 SQL 查询联接

Azure 权限 - 创建资源组所需 - RBAC

asp.net - 如何清除 Microsoft Azure 服务器上的 iis 缓存?

azure - 转移到新订阅时应用程序洞察工具的关键是什么?

f# - 为什么 printfn 在 f# 中立即打印?

parsing - 使用 FParsec 进行分块解析

f# - Suave 不显示静态文件