Passenger 等同于 Heroku 吗?我为什么还需要它们?

Is Passenger equivalent to Heroku and why do I need either anyway?

过去几年我一直在为我的个人网站使用 Dreamhost,并希望开始在那里托管 ROR 或 Sinatra 网站。 ROR 的 Dreamhost howto 说它使用 Passenger (phusionpassenger.com) 作为 Rails 托管。这相当于 Heroku 吗?

我也不完全清楚 Heroku 究竟是什么 for。如果一个应用程序 运行 在本地,这是否意味着它也会 运行 在 Web 服务器上?需要像 Heroku 这样的特殊服务有什么不同?

ETA:我发现并正在阅读 Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS?,它回答了部分问题,但不是全部。我只需要一个非常基本的答案,说明为什么我需要这项服务来创建一个爱好网站。

不,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 容器。想象一下您的应用程序及其依赖项的真空密封版本)。更多的测功机为您提供更多的并发性、更多的故障冗余等。

Passenger 是一个著名的多线程 Web 服务器,可与 Heroku 或任何其他应用程序管理平台一起使用。

希望这对您有所帮助。

如果您已经是 DreamHost 的客户并且您的网站很小,也许您在做出决定时还应该考虑成本。在一个非常残酷的简化中,Heroku 是一个你可以上传你的 Ruby 代码的地方,它会 运行。 DreamHost 负责为您安装和 运行ning Passenger,因此您只需关心您的代码(在某种程度上...)从这个角度来看,这两个系统是相似的。

如果您将相同的代码放在 DreamHost ROR/Passenger 环境中,它应该 运行 类似于在 Heroku dyno 中...具有共享主机和 VPS 产品的常见警告。