我已经在Haskell中建立了一个网站(使用Happstack),现在我想在某个地方托管该网站。我在Windows上构建它,使用ghc生成了一个名为website.exe的文件。这是我在Haskell的第一个程序,也是第一个网站,但是当我在Windows中运行.exe并在浏览器中键入localhost:8000时,效果很好。
从Q 51064865我了解到,我需要一个VPS来托管它,但是我需要哪种操作系统?我猜是Windows,但这看起来非常昂贵。我的exe可以在CentOS或Ubuntu上运行吗? (tbh我不是100%知道这些是什么-但是与它们一起获得VPS似乎便宜很多!)我可以让ghc编译器(在Windows上运行)生成可执行的可执行文件吗?
我的目标是廉价地托管该网站(我不希望从中获得任何收入),并且愿意接受任何建议。
很抱歉,如果问题很傻/已经在某个地方回答了
答案 0 :(得分:4)
如果没有某种仿真,您的.exe将无法在CentOS / Ubuntu上运行。我不建议您沿着这条路走,因为根据我的经验,它往往会运行得很慢。它与Windows上的thunk分配方式以及Linux上的thunk分配方式有关,而在另一个上模拟其中之一只是在自找麻烦。
如果您四处搜索,您会发现有人在谈论从Windows到Linux交叉编译Haskell,但这似乎很粗糙。
如果要在CentOS或Ubuntu上运行网站,则应在这些发行版之一上对其进行编译。如果您没有在代码中使用Windows特定的功能,那么您应该能够为目标编译代码而无需进行任何更改(根据我的经验,Haskell在Linux上使用起来要容易得多)。
有人建议下载“实时”发行版,这可能是开始为CentOS / Ubuntu编译代码的最简单方法。