鉴于一个刚刚搭建的Yesod应用程序,获取作为CGI程序的可执行文件所需的最小变更集是什么?包装程序是可以接受的。如果'cabal build'构建的默认可执行文件是CGI程序,则必须设置哪些环境变量才能充当CGI(默认情况下,它将绑定到端口并尝试在那里提供请求。)
对于FastCGI的类似答案也将不胜感激。
答案 0 :(得分: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.CGI
替换为Network.Wai.Handler.FastCGI
,然后将wai-handler-fastcgi
添加到依赖项列表中。