2013-04-02 13 views
13

Sto eseguendo un'applicazione Sinatra localmente.Come scegli il tuo server HTTP in Sinatra?

Da quando ho installato Thin, la mia app Sinatra lo utilizza sempre come server web. Tuttavia, ho riscontrato problemi di prestazioni con Thin al servizio della grande quantità di file statici richiesti dalla mia applicazione e vorrei passare a Mongrel o WEBrick.

io non riesco a capire come passare la mia domanda verso Mongrel o WEBrick. Anche quando inserisco require 'mongrel' o require 'webrick' nella parte superiore della mia app.rb, su un ruby app.rb, Sinatra inizia ancora con Thin.

Quindi, la mia domanda è: come si fa a specificare il server web per Sinatra da utilizzare in modalità di sviluppo? Inoltre, come potrei farlo in modalità produzione?

risposta

16

È possibile impostare il server Sinatra utilizza con il :serverconfiguration setting:

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

Nella produzione, è molto meglio usare un server più sofisticato come Phusion Passenger o Unicorn, dal momento che hanno prestazioni migliori rispetto sottile, Mongrel o WEBrick. Se scegli Passenger o Unicorn, non configureresti il ​​server all'interno del tuo file di applicazione Sinatra stesso, ma in genere lo configurerai separatamente usando un file Rackup config.ru.

"Ruby on Rails Server options" ha lo scopo di applicazioni Rails, ma è ancora molto rilevante per le applicazioni Sinatra.