【问题标题】:Deploying Yesod web app部署 Yesod Web 应用程序
【发布时间】:2016-02-12 22:59:54
【问题描述】:

我有一个简单的 Yesod 网络应用程序。 我可以按照http://www.yesodweb.com/page/quickstart 中的说明进行操作,并检查stack exec -- Yesod devel 工作正常。

我使用的服务器(Amazon EC2)只有 1 GB 的内存,所以我无法编译 Yesod 网络。我使用本地机器进行构建。他们都使用 Ubuntu 14.04。

来自http://www.yesodweb.com/book/deploying-your-webapp,我需要三个组件来部署到其他机器。

  1. 您的可执行文件。
  2. 配置文件夹。
  3. 静态文件夹。

我很容易找到 config/static 文件夹,但我不确定在哪里可以找到可执行文件。除此之外,如何在不使用stack exec -- Yesod devel的情况下运行可执行文件?

【问题讨论】:

标签: ubuntu haskell deployment yesod


【解决方案1】:

据我所知,可执行文件应该位于项目目录的 build 子目录中。我认为这是一个隐藏目录(名称以点开头),因此您可能需要运行“ls -a”才能看到它。

要运行 - 只需执行可执行文件 :)(附加 '&' 使其在后台运行)。

一旦您有了希望投入生产的最终版本,您可能会将可执行文件配置为在 VM 启动时自动启动,以检测可执行文件是否崩溃等。

祝你好运, 米哈乌

【讨论】:

    【解决方案2】:

    stack build 命令给了我提示:

    my-project-0.0.0: install
    Installing library in
    /home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/lib/x86_64-linux-ghc-7.10.2/my-project-0.0.0-Khn8lQEgR1HARzYGStlvPe
    Installing executable(s) in
    /home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/bin
    Registering my-project-0.0.0...
    

    可执行文件位于/home/a/my-project/.stack-work/install/x86_64-linux/lts-3.13/7.10.2/bin。我可以复制 ~/deployment 目录中的文件(可执行文件、静态文件和配置文件)以检查 Yesod 是否正常工作。

    【讨论】:

      猜你喜欢
      • 2020-02-06
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多