6

给定一个新搭建的 Yesod 应用程序,获得充当 CGI 程序的可执行文件所需的最小更改集是多少?包装程序是可以接受的。如果由 'cabal build' 构建的默认可执行文件是 CGI 程序,则必须设置哪些环境变量才能使其充当 CGI(默认情况下,它将绑定到端口并尝试在那里提供请求。)

对于 FastCGI 的类似答案也将不胜感激。

4

1 回答 1

7

使用以下内容更新您app/main.hs的:

import Prelude              (IO, (>>=))
import Yesod.Default.Config (fromArgs)
import Yesod.Default.Main   (defaultMain)
import Settings             (parseExtra)
import Application          (makeApplication)
import Network.Wai.Handler.CGI (run)

main :: IO ()
main = fromArgs parseExtra >>= makeApplication >>= run

您需要wai-extra在 cabal 文件中添加依赖项。要改用 FastCGI,请替换Network.Wai.Handler.CGINetwork.Wai.Handler.FastCGI并添加wai-handler-fastcgi到依赖项列表。

于 2012-10-28T10:47:15.817 回答