2013-02-07 58 views
1

我以前在Ruby on Rails上使用Webrick服務器,但現在我的老闆要求我在apache服務器上運行ROR代碼,我發現這兩個服務器之間有一些區別,我不知道如何訪問在apache上的控制器/動作,所以任何人都會碰巧知道任何關於apahce上的ROR的書?謝謝!關於使用Apache2的Ruby on Rails的書?

回答

3

要直接在Apache中運行,最好的方法是使用Phusion Passenger,它可以充當Apache模塊。


但是,我認爲你也缺少一些概念信息。以下是用於託管導軌的一些常用機架式服務器:

WEBrick:純粹在Ruby(隨附於Ruby)中實現的Web服務器。它不是很高效,而且相對有限。它爲一個偉大的開發網絡服務器,但大多數人不使用它在生產。

Thin:一個非常高性能的連接Web服務器,特別容易啓動和運行。

Unicorn:一種廣泛使用和推薦的分叉Web服務器(由GitHub編寫) - 但需要更多的管理才能在生產環境中啓動和運行。

在幾乎所有情況下,然而,人們普遍具有的Nginx或Apache在他們選擇的Rails的Web服務器的前面(作爲代理):

  • 的Nginx/Apache的做服務的更好的工作靜態文件比以上任何選項。如果您不使用CDN來託管您的資產,您應該配置代理來託管它們。

  • Nginx/Apache擅長管理大量請求並對它們進行排隊,以便您的應用服務器可以專注於正在進行的請求而不是排隊的請求。

  • 安全漏洞的表面積較小。

我的配置選擇是Nginx + Unicorn;我覺得Apache管理起來太笨拙,而Unicorn特別好。

+1

優秀的答案! – vlasits

+1

確實很好的答案; SO上的更多答案應該是徹底而完整的。 –