2009-07-03 75 views

回答

7

不管你的应用程序,你可能会想一定标准组件:

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

我工作的发动机工作室使用了一个名为chef的开源工具来管理我们的automated deployment solution。这可能是一个不错的选择。

+2

“自动部署解决方案”的任何更新的url?该链接目前已经死亡。 – jefflunt 2012-03-27 16:09:16

3

从来没有一个广泛的问题,这取决于。有些事情需要考虑:

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

我完全可以肯定地说,有一件事是你不想使用Windows,因为Rails在Linux/UNIX堆栈上工作得最好。

1

它的很多取决于您的需求。如果模型不是很复杂和/或流量很低,那么你可能会在某些* nix上使用apache,mongrel和sqlite。

如果你开始看到性能问题,你可以添加一些memcached到混合,升级(相对轻松)到MySQL,并使用不同的服务器(乘客/ nginx)。

也有替代的ruby实现,有一些性能提升的变化。想到Rubninous和jRuby。