选择 Rails 主机 [关闭]

2023-12-22

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

但后来突然想到今天...

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

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

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


UPDATE:距离我第一次发布这个问题和答案已经过去三年多了。我还是比较喜欢AWS http://aws.amazon.com/对于所有专业或严肃的马力性质的新部署(也就是说,如果我不自行托管),但我也定期部署演示和教程应用程序Heroku http://heroku.com。我还没有尝试过出现的许多 VPS 提供商,例如Linode http://www.linode.com/ or 数字海洋 https://www.digitalocean.com/,但通常都会听到有关他们的好话。

阻止我为所有应用程序选择 Heroku 的关键因素是成本。由于我工作之外的大多数独立项目都是我希望绝对最小化成本的项目,因此 AWS 仍然是 AWS 与 Heroku 之间更好的选择。 AWS(或任何与此相关的 VPS 提供商)有一个很好的副作用,可以一路教您操作系统,从长远来看,这非常有价值。

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

所以,两年后,这是我的更新。我使用了三种托管服务,以下是我对每种服务的看法(实际上我很喜欢它们,但出于各种原因)。

  • 切片主机 http://slicehost.com(现在的一部分Rackspace 云托管 http://www.rackspace.com/cloud/)

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

  • Heroku http://heroku.com

也爱这些家伙。我建立了一个在那里托管的业余爱好应用程序,rpglogger.com http://rpglogger.com(截至 2012 年 11 月,它实际上已经迁移到 Amazon Web Services),并且开发和部署到 Heroku 是理所当然的事情。我非常喜欢在 Heroku 上工作,原因有两个:

  1. 设置起来非常简单。根据我的经验,在他们的平台上运行应用程序确实像他们所说的那么容易。
  2. 单个 dyno(Web 服务器实例)是免费的。因此,业余爱好应用程序和较小的应用程序基本上可以获得免费托管。但这不仅仅是为了爱好 - 他们的插件架构是首屈一指的,只需点击几下鼠标即可添加 NewRelic、Exceptional 等 3rd 方插件以及其平台上的任何其他插件。

就易用性而言,你绝对无法击败 Heroku。部署应用程序的更新版本实际上就像推送到 git 存储库一样简单。 Heroku 不一定便宜(除了小型应用程序之外),但如果您认为开发人员的时间比控制服务器更有价值,那么这是一个很棒的选择。无论如何,如果应用程序变得很大,或者应用程序的需求与 Heroku 的成本对您不再有意义,您始终可以将应用程序迁移到任何其他平台。

  • 亚马逊网络服务 http://aws.amazon.com

我做了很多小型应用程序,AWS 预留实例非常棒。只需 60 美元,我基本上就能获得一整年的预留实例。一台服务器足以在同一台机器上运行 3-4 个小型应用程序,具有更优化的内存使用,并且能够运行多个 Web 服务器实例(相对于 Heroku 的一个免费 dyno,尽管我听说您可以自定义配置您的 Heroku dyno)使用独角兽来获得更多的可扩展性)。基本上,AWS 的扩展性非常好,可以让您在多个小型应用程序之间共享服务器,或者将较大的应用程序分布在多个服务器上。

除了预留实例的初始成本之外,我只需支付带宽和其他 AWS 使用费用(例如 S3)。我认为 AWS 是终极可扩展性、巨大成本、终极控制的惊人组合,对于想要在空中构建整个基础设施的企业客户来说,它是无与伦比的。 Rackspace 云托管提供类似的服务,并且它们在大多数方面可能具有可比性。但如果你想要的是云服务的瑞士军刀,我认为AWS仍然遥遥领先于其他所有人。

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

话虽这么说,我开始使用 Slicehost,然后转向 AWS,然后尝试了 Heroku,今天我大部分时间都花在了 AWS 上。

AWS 是这样一种平台,在您投入一点时间设置 VPS 机器集合之后,留在该平台并利用其不断增加的工具集通常是有意义的。

诚然,我花了两年的时间尝试了多种选项,并尝试了从完全托管服务器(即 Heroku,您甚至不考虑服务器,只考虑应用程序)到完全控制服务器(Slicehost 和 AWS)的各个管理级别。毕竟,我已经准备好管理自己的机器,以获得我想要的灵活性和低成本。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择 Rails 主机 [关闭] 的相关文章

随机推荐

  • Android:strings.xml 中的 html

    我想显示例如这个html代码 p b Hello World b p p This is a test of the URL a href http www example com Example a p p b This text is
  • Javascript / React 中的动态配置变量

    我正在编写一个客户端 服务器应用程序 其前端 UI 基于 React 作为后端 Unix 开发人员 Web 技术不是我的强项 所以这对我来说是全新的 我需要能够配置 UI 以指向服务器的 URL 并设置其他首选项 典型的反应方法似乎是使用
  • 让 IE 缓存资源但始终重新验证

    缓存控制标头 no cache must revalidate private 允许浏览器缓存资源 但强制使用条件请求重新验证 这在 FF Safari 和 Chrome 中按预期工作 但是 IE7 8 不发送条件请求 即请求头中缺少 If
  • jQuery 插件:将 mCustomScrollbar 应用于 SCEditor

    我该如何申请m自定义滚动条 http manos malihu gr jquery custom content scroller to SCEditor http www sceditor com This http jsfiddle n
  • 模板模板成员继承带有“using”

    以下类实现 CRTP 我想要上课Derived使用提供的构造函数Base 所以我写using 但是 我收到错误消息 只能从直接基类继承构造函数 等价于成员变量x template
  • DateTime.ToBinary() 和 DateTime.ToFileTime() 有何不同?

    谁能帮忙解释一下两者之间的区别日期时间 ToBinary http msdn microsoft com en us library system datetime tobinary aspx and 日期时间 ToFileTime htt
  • WordPress 网站上 ModSecurity 的 Apache LocationMatch 通配符

    我在运行 WordPress 网站的 Ubuntu 14 04 Apache 2 4 7 上安装了 mod security 我有一些需要忽略的规则 但我在实现一些通配符规则时遇到了麻烦 这样我就不必指定每个页面 我所拥有的 在我的 sit
  • 如何将数据重定向到“getpass”(如密码输入)?

    我正在编写一个 python 脚本来运行一些命令 其中一些命令要求用户输入密码 我确实尝试在其标准输入中输入数据 但它不起作用 这里有两个简单的 python 程序代表问题 input py import getpass print raw
  • 锁定以将数据加载到缓存

    我在 Web 应用程序中有一个辅助类 它所做的事情之一就是将常见的 不变的数据对象呈现为静态属性 我正在加载这些对象 如下所示 public static class MyWebHelper region Constants Fields
  • 在有空间的路径中调用可执行文件时出现问题

    我刚刚在新的 Microsoft Windows 7 计算机上安装了 R 并且在使用命令行时出现以下错误 C Program Files R R 3 3 2 bin Rscript exe version C Program is not
  • javamail问题:如何附加文件而不创建文件

    我正在使用 javamail API 创建电子邮件并向其附加文件 有没有一种方法可以使用 javamail api 发送带有附件的电子邮件 无需在文件系统上物理创建文件 我只想从应用程序中选取一些数据 并将其作为文件附加到我的电子邮件中 我
  • Swift 中能否区分 Bool 和 Int?

    我有一个AnyObject类型可以是String Int or Bool类型 我需要区分它们 这段代码试图这样做 但它考虑了Bool to be Int import Cocoa var value AnyObject func check
  • 如何删除被覆盖模块上的路由?

    I added zfcUser通过 Composer 将模块添加到我的项目并在模块中覆盖它ZfcUserOverride 我想要尾部斜杠工作 所以我在覆盖的模块中添加了路线 zfcUserOverride file module confi
  • 了解多媒体计时器的奇怪行为

    我在我的应用程序 C NET 中使用多媒体计时器来提高计时器的准确性并实现 1 毫秒的计时器频率 到目前为止 我的应用程序一直运行良好 直到最近它开始表现奇怪 我试图了解我的应用程序出了什么问题 以下是采取的步骤 定时器频率设置为 1 ms
  • Clearcase 快照劫持文件:如何签出/签入更改的文件

    Clearcase 太糟糕了 看来我不能快速保存对项目的修改 我所说的快速是指不到 1 秒的时间 我找到的解决方案是使用组合clearcase git 我使用快照视图是因为我可以轻松劫持我的文件 而不必每次想要进行重构时都签出项目中的所有文
  • 使用递归算法在 OpenCV 中进行连通分量标记

    我正在尝试使用递归算法在 OpenCV 中实现连接组件标记 我不确定我实施了什么错误 算法是这样的 B 是二值图像 LB 是标记二值图像 procedure connected component B LB LB negate B labe
  • 在 C# 中测试“Ctrl”按键

    How do I test for Ctrl down in Windows Forms http en wikipedia org wiki Windows Forms C bool ctrl Control ModifierKeys K
  • 设置开发设备(????????????没有权限)

    我使用的是三星 Galaxy Nexus 手机 安卓4 0平台 我正在 Ubuntu Linux 操作系统上开发 Android 应用程序 我想直接在三星手机设备上运行我的应用程序 因此我执行了以下设置步骤 在我的项目中AndroidMan
  • Lucene不能查询null?

    我们如何构造一个查询来搜索特定字段不为空 field name 不管用 我试过field name a to z 这对于英语来说效果很好 但并不涵盖所有语言 还有其他建议吗 我发现这在某些情况下有效field 0 TO 9 a TO z
  • 选择 Rails 主机 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我即将挑选一个 Rails 主机 我think我需要一个 VPS 解决方案 因为 1 我的 Rails 应用程序有需要安装才能使其正常工作的 g