2009-07-03 81 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。

相關問題