对于需要托管Rails SaaS应用程序的专用服务器,您认为最好的服务器堆栈是什么?(不是很多流量,但需要保留选项以备将来使用) 。什么是Rails SaaS应用程序的最佳服务器堆栈/配置
2
A
回答
7
不管你的应用程序,你可能会想一定标准组件:
- 的nginx /乘客将用于小应用程序或大型应用工作。你应该使用它。
- 除非你有其他的特殊原因,否则你应该使用MySQL,因为绝大多数的Rails社区都使用它,你将能够获得更好的支持。
- 即使您还没有使用memcached,您应该马上运行memcached。您将希望能够根据需要无缝地添加缓存。
- 您将想要建立一个完全自动化的新服务器的过程。这样,如果你需要启动第二台服务器,这是微不足道的。如果您使用ssh配置它,这意味着如果您需要另一台服务器(或者第一台服务器被损坏),那么您需要记住您所做的所有事情。不是紧急情况的好地方。
- 您应该使用最新版本的Ruby on Rails,并经常升级。密切关注弃用和更改,并尽早进行建议的更改。当Rails 3发布时,使用它。
我工作的发动机工作室使用了一个名为chef的开源工具来管理我们的automated deployment solution。这可能是一个不错的选择。
3
从来没有一个广泛的问题,这取决于。有些事情需要考虑:
- 该应用程序的功能是什么?
- 该应用程序是否使用任何数据库供应商特定的SQL?
- 什么是可用性要求?
- 性能要求是什么?
- 会有多少数据?
- 哪些服务器堆栈对您或将要管理它的人员有经验?
- 你的预算是多少?
我完全可以肯定地说,有一件事是你不想使用Windows,因为Rails在Linux/UNIX堆栈上工作得最好。
1
它的很多取决于您的需求。如果模型不是很复杂和/或流量很低,那么你可能会在某些* nix上使用apache,mongrel和sqlite。
如果你开始看到性能问题,你可以添加一些memcached到混合,升级(相对轻松)到MySQL,并使用不同的服务器(乘客/ nginx)。
也有替代的ruby实现,有一些性能提升的变化。想到Rubninous和jRuby。
“自动部署解决方案”的任何更新的url?该链接目前已经死亡。 – jefflunt 2012-03-27 16:09:16