2013-04-02 9 views
13

Ich verwende lokal eine Sinatra-Anwendung.Wie wählen Sie Ihren HTTP-Server in Sinatra?

Seit ich Thin installiert habe, verwendet meine Sinatra-App es immer als Webserver. Ich habe jedoch Leistungsprobleme mit Thin, die die große Menge an statischen Dateien, die von meiner Anwendung benötigt werden, liefern, und ich würde gerne zu Mongrel oder WEBrick wechseln.

Ich kann nicht herausfinden, wie ich meine Anwendung auf Mongrel oder WEBrick umstellen kann. Selbst wenn ich require 'mongrel' oder require 'webrick' an die Spitze meiner app.rb setze, beginnt Sinatra immer noch mit Thin, auf eine ruby app.rb.

Also meine Frage ist: Wie geben Sie den Webserver für Sinatra im Entwicklungsmodus verwenden? Wie könnte ich dies auch im Produktionsmodus tun?

Antwort

16

Sie können das Server Sinatra mit verwendet der :serverconfiguration setting:

set :server, 'webrick' # or thin, mongrel 

In der Produktion ist es viel besser, eine anspruchsvollere Server wie Phusion Passenger oder Unicorn, zu verwenden, da sie eine bessere Leistung als Thin, Mischlings haben oder WEBrick. Wenn Sie Passenger oder Unicorn wählen, konfigurieren Sie den Server nicht in Ihrer Sinatra-Anwendungsdatei selbst, sondern konfigurieren ihn normalerweise in einer Rackup-Datei config.ru.

"Ruby on Rails Server options" richtet sich an Rails-Anwendungen, ist aber immer noch sehr relevant für Sinatra-Apps.