部署Yesod Web应用程序

时间:2015-11-11 18:40:25

标签: ubuntu haskell deployment yesod

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

我使用的服务器(Amazon EC2)只有一千兆字节的内存,所以我无法编译Yesod网站。我用我的本地机器来构建。他们都使用Ubuntu 14.04。

http://www.yesodweb.com/book/deploying-your-webapp开始,我需要将三个组件部署到其他计算机上。

  1. 您的可执行文件。
  2. 配置文件夹。
  3. 静态文件夹。
  4. 我很容易找到config / static文件夹,但我不确定在哪里找到可执行文件。除此之外,如何在不使用stack exec -- Yesod devel的情况下运行exeuctable?

2 个答案:

答案 0 :(得分:1)

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

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

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

祝你好运, 米哈尔

答案 1 :(得分:1)

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工作正常。