您如何在亚马逊网络服务上托管Haskell网络应用?你会用什么框架?
答案 0 :(得分:2)
我最近尝试在Amazon Beanstalk上托管基于Scotty(Haskell)的Web应用程序。既然没有对Haskell的直接支持,我不得不采用docker方法。这些步骤涉及使用Stack中的默认docker镜像(我使用堆栈构建我的应用程序),托管在Docker Hub上并从Amazon Elastic Beanstalk引用该图像。
我在Github
上的示例HelloScotty项目中记录了整个过程答案 1 :(得分:0)
Haskell Web服务器就像任何其他Web服务器应用程序一样 - 它们将自己绑定到端口(通常在开发中8080
,3000
等)并为其提供服务。您可以强制应用程序绑定到端口80
(通过Yesod中的-p
标志,或者使用Scotty的代码)作为超级用户,或者您可以将端口80
重新路由到您的开发端口为iptables
。
但是,这并不能保护您免受进程本身失败的影响 - 因为您需要看门狗集成,通常使用systemd或Upstart。除此之外,它非常标准。