2013-04-22 43 views
1

我使用'瘦'webserver進行rails應用程序開發。有不同的方法來啓動瘦服務器。很想知道在以下各種方式啓動服務器方面是否有任何區別:是否有任何優點或缺點。以不同的方式啓動瘦網頁服務器

a。 thin start 我可以在啓動期間提供各種瘦特定參數,例如ssl選項。但是我不確定如何在下面的其他方法中提供這樣的啓動參數。

b。 rails s(注意:在寶石文件中提供了薄)

c。 rackup 我發現rackup在端口9292啓動服務器,而其他方法啓動服務器在3000

d。從IDE開始減肥。例如,像我使用的Rubymine這樣的IDE有一個方便的方式來啓動具有不同配置的服務器,比如Run/Debug。

我發現使用IDE啓動服務器的一個明顯優勢是調試非常無縫。同時我不確定如何通過'瘦'啓動具體參數,如SSL選項(這是特定於rubymine。如果有人有這個想法,會很高興)謝謝!適用於任何使用rails的web服務器,但是我現在使用它的時候在'thin'的背景下提出了這個問題)。

回答

0

IMO,所有這些方法都是一樣的。

a。如果您不使用基於Rack的框架,則可以使用thin start命令。

b。 rails s代理rackup命令。 rails server source

c。 rackup是啓動具有config.ru文件的基於機架的應用程序的命令。該文件通常包含服務器的配置。 d)。我沒有專門使用RubyMine,但我猜測它與上述選項類似。

[TR; DR]

e。還有一種方法(實際上是另外兩種):通過將瘦用作nginx後端的後端服務器。此設置通常用於生產環境以獲得更好的吞吐量。 Nginx服務器收到一個傳入請求,並將其發送到運行在其後的瘦實例。這又有兩種配置方式:

  1. Normal Thin + Nginx配置,其中幾個瘦實例啓動並直接從nginx接收請求。
  2. Thin + Nginx + Unix套接字配置,其中Nginx服務器和每個Thin實例共享一個unix套接字。所以,請求的路徑是:Interwebs - > Nginx - > Unix socket - > Thin,響應遵循類似的模式。

你可以閱讀更多關於薄,它的配置(和nginx的)位置:https://github.com/macournoyer/thin