什么是Rails SaaS应用程序的最佳服务器堆栈/配置

时间:2009-07-03 15:46:40

标签: ruby-on-rails stack

对于需要托管Rails SaaS应用程序的专用服务器(不是很多流量但需要保留未来的选项),您会建议什么是最佳服务器堆栈。

3 个答案:

答案 0 :(得分:7)

无论您的应用是什么,您可能都需要某些标准组件:

  • nginx / passenger将适用于小型应用或大型应用。你应该使用它。
  • 除非您有特定的理由使用其他内容,否则您应该使用MySQL,因为绝大多数Rails社区都使用它,您将能够获得更好的支持。
  • 你应该立即运行memcached,即使你还没有使用它。您将希望能够根据需要无缝添加缓存。
  • 您将需要一个设置完全自动化的新服务器的过程。这样,如果你需要启动第二台服务器,它就是微不足道的。如果你在一个框中进行配置,这意味着如果你需要另一台服务器(或者第一台服务器被破坏),你将需要记住你所做的所有事情。不是一个紧急情况的好地方。
  • 您应该使用最新版本的Ruby on Rails,并经常升级。密切关注弃用和更改,并尽早做出建议的更改。当Rails 3发布时,请使用它。

我工作的Engine Yard使用名为chef的开源工具来管理我们的automated deployment solution。这可能是个不错的选择。

答案 1 :(得分:3)

与一个广泛的问题一样,这取决于。有些事情要考虑:

  • 该应用程序有何功能?
  • 应用程序是否使用任何特定于数据库供应商的SQL?
  • 有哪些可用性要求?
  • 有什么性能要求?
  • 会有多少数据?
  • 您或将要管理它的人有哪些服务器堆栈?
  • 您的预算是多少?

我完全可以肯定地说,你不想使用Windows,因为Rails在Linux / UNIX堆栈上效果最好。

答案 2 :(得分:1)

很多都取决于你的需求。如果模型不是很复杂和/或你的流量相当低,你可以在某些* nix上使用apache,mongrel和sqlite。

如果你开始看到性能问题,可以在混合中添加一些memcached,相对无痛地升级到mysql,并使用不同的服务器(passenger / nginx)。

还有一些备用的ruby实现可以带来一些性能提升。想到了Rubninous和jRuby。