选择Rails主机

我接近选择Rails主机了。 我我需要一个VPS解决方案,因为(1)我的Rails应用程序有我需要安装的gem和插件才能使它工作,(2)我需要一个SMTP服务器来将我的rails应用程序的电子邮件发送给用户。

但它发生在今天……

1)我是否真的需要VPS和root访问来启动和运行我的应用程序,因为我需要安装gem,或者我可以将我的Rails应用程序文件夹复制到支持Rails的托管服务器并启动它?

2)如果我获得了一个包含商务级GMail解决方案的Google Apps帐户,是否会为我提供一个SMTP服务器,我可以使用该服务器向用户发送电子邮件?

我正在寻找最不需要支持的解决方案。 我有能力支付VPS托管和Google Apps帐户,但我只是想知道这是否是我最好的选择。

更新自我第一次发布此问题和答案以来,已经过去了三年多。 我仍然更喜欢AWS用于专业或严重马力性质的所有新部署(即,如果我不自主),但我还经常将演示和教程应用程序部署到Heroku 。 我没有尝试过像Linode或DigitalOcean这样出现的许多VPS提供商中的任何一个,但通常会听到有关它们的好消息。

阻止我为所有应用程序选择Heroku的关键是成本。 由于我工作之外的大多数独立项目都是我宁愿绝对降低成本的事情,因此AWS在AWS与Heroku之间仍然是更好的交易。 AWS(或任何VPS提供商)具有良好的副作用,即在整个过程中教您操作系统,从长远来看,这certificate是非常有价值的。

=======================

所以,两年后,这是我的更新。 我已经使用了三种服务进行托管,这是我对它们的看法(我真的很喜欢它们,但出于各种原因)。

  • Slicehost (现在是Rackspace Cloud Hosting的一部分)

这是我尝试的第一个VPS主机,我很喜欢它们。 那里的人很棒,支持很棒,而且有一种非常酷的基层感觉。 现在VPS作为解决方案更加主流,而Rackspace早已购买了Slicehost,我觉得服务产品仍然很棒。 如果您想要一种简单的方法来设置服务器,大量的Linux发行版选择以及对服务器的控制,这是一个很棒的选择。

  • Heroku的

也爱这些家伙。 我在那里建立了一个爱好应用程序, rpglogger.com (截至2012年11月实际上已迁移到Amazon Web Services),开发和部署到Heroku是一个明智的选择。 我真的很喜欢在Heroku上工作有两个原因:

  1. 设置起来很简单。 根据我的经验,在他们的平台上运行应用程序真的很容易。
  2. 单个dyno(Web服务器实例)是免费的。 所以爱好应用程序和较小的应用程序基本上可以免费托管。 这不仅仅是为了爱好 – 他们的插件架构是首屈一指的,只需点击几下就可以在他们的平台上增加第三方插件,如NewRelic,Exceptional和其他任何东西。

你绝对不能打败Heroku以方便使用。 部署应用程序的更新版本就像推送您的git仓库一样简单。 Heroku不一定便宜(除了小应用程序之外的其他任何东西),但如果您认为开发人员的时间比控制服务器更有价值,那么这是一个了不起的选择。 无论如何,您总是可以将您的应用程序迁移到任何其他平台,如果它变大,或者应用程序的需求与Heroku的成本对您不再有意义。

  • amazon web services

我做了不少小应用程序,AWS预留实例非常棒。 60美元我基本上可以获得一整年的预留实例。 一台服务器足以在同一台机器上运行3-4个小应用程序,具有更优化的内存使用率,并能够运行多个Web服务器实例(与Heroku的一个免费dyno相比,虽然我听说您可以自定义配置您的Heroku dyno使用独角兽获得更多可扩展性)。 基本上,AWS可以很好地扩展,并允许您在多个小型应用程序之间共享服务器,或者在多个服务器之间传播更大的应用程序。

除了保留实例的初始成本之外,我只需要为带宽和其他AWS使用付费(例如S3)。 我认为AWS是终极可扩展性,高成本,终极控制的绝佳组合,对于想要在天空中构建整个基础架构的企业客户来说,它是无法击败的。 Rackspace Cloud Hosting提供类似的服务,它们可能在大多数情况下具有可比性。 但如果你想要的是云服务的瑞士军刀,我认为AWS仍然领先于其他所有人。

===============

所以,话说回来,我开始使用Slicehost,然后去了AWS,然后尝试了Heroku,今天我将大部分时间都花在了AWS上。

AWS是一种平台,在您花费一点时间设置VPS机器集合后,通常可以留在这个平台上并利用他们不断增加的工具集。

当然,我花了两年时间尝试了几个选项,并尝试从完全托管的服务器(即Heroku,你甚至不认为服务器,只是应用程序)到完全受控的服务器(Slicehost和AWS)的每个级别的管理。 毕竟我已经到了这一点,我已经准备好管理自己的机器,以获得我想要的灵活性和低成本。

通过自动化,AWS上服务器的实际管理变为非事件,因此我不会花时间不断修补我的机器或执行其他系统管理员任务。 我只是定期检查我的服务器是否需要重新启动,我将它们设置为自动安装所有安全更新(我碰巧部署到Ubuntu服务器),这意味着我花了99%的时间(至少每天)写作应用程序 – 不管理服务器(管理服务是几天工作的偶然任务,然后几个月没有其他任何事情) – 这是我想花时间作为开发人员的地方。

您的要求都不是VPS特定的。 我使用Site5的共享主机,目前通过该帐户运行两个rails应用程序,默认情况下都使用未安装在服务器上的gem并发送电子邮件。 安装gem不需要root访问权限。

如果你想要使用VPS,通常建议使用Slicehost和Linode用于Rails应用程序。 在Rails站点上的Deploy下列出了一些。 在任何一种情况下,我都鼓励你对你的选择做一些研究。 祝好运!

你可以查看Ruby on Rails Hosting , 什么是一个很好的Ruby on Rails托管服务? , 好Ruby on Rails免费托管 , 什么是一个很好的Ruby on Rails和PHP托管? 。

我个人更喜欢Heroku ,它提供免费的低规模托管,并且非常容易升级。 此外,它们允许您安装gem(类似于gem依赖项和rake gems:install,但具有不同的语法/文件),并发送一些免费电子邮件(200,但它很容易升级)。

我讨厌Heroku,它让你无法控制你想要使用的服务,它的价格大大超过了它。 只是尝试使用他们没有特别支持的gem或服务,您将很快发现限制和可怕的定价。

Heroku是我的首选主机。 您可以使用GMail SMTP以及商业SMTP插件发送邮件。

我也使用过Slicehost,Linode,Dreamhost和RailsMachine。

如果您可以自己设置盒子,Slicehost / Linode很棒。

Dreamhost很便宜,非常适合上演。 虽然网站有时很慢。

RailsMachine作为托管服务首屈一指。 强烈推荐支持和调整好的堆栈。

我更喜欢linode,aws左右。

  • linode :是一个标准的linux服务器。 您可以登录,安装第三方依赖项,并在您自己的服务器中进行游戏。 安装nginx / rails / ruby​​的方式与您在自己的PC /笔记本电脑/服务器上的方式相同。

  • heroku:是一项服务。 如果有一天你切换到另一个平台(例如linode)或者你有自己的真实服务器,我必须学习很多根本没有价值的东西,例如,检查日志,安装数据库或安装gem。 我打印了大部分文件,并在半天内阅读,然后我意识到我不能在我的工作服务器中使用这些知识(我的公司提供给我)

  • linode足够便宜,每月20美元。

  • heroku并不总是免费的。 并且我认为它不够稳定以用于演示目的。(例如,你的免费heroku应用程序将在业余时间处于睡眠状态,并且会花费你几秒钟才能唤醒。这几秒钟足以让你失去你的客户,如果他们想要快速的网络应用程序)

所以,忘记heroku,购买或设置自己的VPS,使用它多年,然后你将成为一名Linux专家。

我使用HawkHost来满足我的所有托管需求,我90%确定他们符合您的所有标准。 它们以非常优惠的价格提供Web托管和VPS服务,并且它们的基本Web主机计划也允许您运行Rails应用程序。

我使用的是Joyent主机 – http://www.joyent.com 。 这是很好的Rails主机。