给定一个新搭建的 Yesod 应用程序,获得充当 CGI 程序的可执行文件所需的最小更改集是多少?包装程序是可以接受的。如果由 'cabal build' 构建的默认可执行文件是 CGI 程序,则必须设置哪些环境变量才能使其充当 CGI(默认情况下,它将绑定到端口并尝试在那里提供请求。)
对于 FastCGI 的类似答案也将不胜感激。
使用以下内容更新您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
到依赖项列表。