我在一个共享的 Web 服务器上,并且我在本地安装了 apache2,所以我可以根据需要进行任何设置。部署 yesod 应用程序最受支持的方式是什么?我可以将我的 apache2 设置为 Warp 的代理。这会是最好的设置吗?还是我应该只使用 FastCGI?
我也很感激有关如何设置所有内容的详细信息。我的意思是如何编写一个请求处理程序,如果我需要一个,apache 的 VirtualHost 应该是什么样的,等等,因为我是 yesod 的新手。
我在一个共享的 Web 服务器上,并且我在本地安装了 apache2,所以我可以根据需要进行任何设置。部署 yesod 应用程序最受支持的方式是什么?我可以将我的 apache2 设置为 Warp 的代理。这会是最好的设置吗?还是我应该只使用 FastCGI?
我也很感激有关如何设置所有内容的详细信息。我的意思是如何编写一个请求处理程序,如果我需要一个,apache 的 VirtualHost 应该是什么样的,等等,因为我是 yesod 的新手。
根据Yesod Book,使用反向代理的 Warp 是推荐的方法,但那里也详细描述了各种其他部署选项。
Keter真的很容易使用。GitHub页面上有更多文档。它是为 Yesod 设计的,并且yesod
二进制文件支持它,您可以运行它yesod keter
来生成您的应用程序的捆绑版本,您可以将其放入/opt/keter/incoming
以便于更新。
Keter 位于最前端,因此您不需要 Apache 或 nginx;它可以处理 https 的 SSL。
但是,如果您需要功能更全的前端服务器,在 Keter 前面运行 Apache 或 nginx 似乎是个坏主意,最好将 http 直接反向代理到 Yesod 二进制文件。只需在某种守护进程(systemd
或upstart
)中运行您的应用程序,在命令行上指定端口号
MyApplication Development -p 3000
然后在匹配的连接上将 Apache 设置为反向代理为 3000。