2013-04-02 6 views
13

Sinatra 응용 프로그램을 로컬에서 실행하고 있습니다.Sinatra에서 HTTP 서버를 어떻게 선택합니까?

Thin을 설치 한 이후로 Sinatra 앱은 항상 웹 서버로 사용합니다. 그러나 응용 프로그램에 필요한 많은 양의 정적 파일을 처리하는 Thin에 성능 문제가 있었으며 Mongrel 또는 WEBrick으로 전환하고 싶습니다.

내 응용 프로그램을 Mongrel 또는 WEBrick으로 전환하는 방법을 알아낼 수 없습니다. 내 app.rb 상단에 require 'mongrel' 또는 require 'webrick'을 넣었을 때 ruby app.rb시 Sinatra는 여전히 Thin으로 시작합니다.

내 질문은 : Sinatra가 개발 모드에서 사용할 웹 서버를 어떻게 지정합니까? 또한 제작 모드에서 어떻게 할 수 있습니까?

답변

16

당신은시나가 함께 사용하는 서버를 설정할 수 있습니다 :serverconfiguration setting : 그들은 얇은, 잡종보다 더 나은 성능을 가지고 있기 때문에

생산에서
set :server, 'webrick' # or thin, mongrel 

, Phusion Passenger 또는 Unicorn 같은보다 정교한 서버를 사용하는 것이 훨씬 낫다 , 또는 WEBrick. 승객 또는 유니콘을 선택하면 Sinatra 응용 프로그램 파일 자체에서 서버를 구성하지 않고 일반적으로 Rackup config.ru 파일을 사용하여 별도로 구성합니다.

"Ruby on Rails Server options"은 Rails 응용 프로그램을 대상으로하지만 Sinatra 응용 프로그램과 여전히 관련이 있습니다.