过去几年我一直在为我的个人网站使用Dreamhost,并希望在那里开始托管ROR或Sinatra网站。 ROR的Dreamhost howto表示它使用Passenger(phusionpassenger.com)进行Rails托管。这相当于Heroku吗?
我还不完全清楚Heroku究竟是 。如果应用程序在本地运行,那是不是意味着它也将在Web服务器上运行?有什么不同需要像Heroku这样的特殊服务?
ETA:我发现并正在阅读Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS?,它回答了一些问题,但并非全部。我只需要一个非常基本的答案,为什么我需要这个服务(s?)为业余爱好网站。
答案 0 :(得分:0)
不,Passenger是一个多线程服务器环境,类似于Unicorn或Puma。
所有这些信息都可以通过单一的Google搜索找到,但无论如何都是这样:
Heroku是一个基于云的应用程序平台,可以让部署,服务器管理和持续维护变得非常简单: https://www.heroku.com/about
Passenger将帮助您提供可伸缩性,因为您使用的每个Heroku dyno都将使用Passenger实例: https://www.stormconsultancy.co.uk/blog/development/how-to-get-more-bang-for-your-heroku-buck-while-making-your-rails-site-super-snappy-redux/
基本上,Heroku是一个可以部署,扩展和管理Web应用程序的平台。每当您将应用程序部署到Heroku时,您都将使用完整的Web服务器(请参阅:Puma,Thin,Unicorn,Passenger等)。这些Web服务器提供多线程功能,以处理到达您的应用程序的流量。
此外,Heroku使用dynos(运行用户指定命令的轻量级Linux容器。想象一下应用程序及其依赖项的真空密封版本)。更多的dynos为您提供更多的并发性,更多的冗余防止等等。
Passenger是一个众所周知的多线程Web服务器,可与Heroku或任何其他应用程序管理平台一起使用。
希望这会有所帮助。
答案 1 :(得分:0)
如果您已经是DreamHost客户并且您的网站非常小,也许您在做出决定时也应该考虑成本。在一个非常残酷的简化中,Heroku是一个可以上传Ruby代码的地方,它将运行。 DreamHost负责为您安装和运行Passenger,因此您只需要关心您的代码(在某些方面......)从这个角度来看,这两个系统是相似的。
如果你在DreamHost ROR / Passenger环境中使用相同的代码,它应该像在Heroku dyno中一样运行...通常需要注意共享托管和VPS产品。