Как вы выбираете свой HTTP-сервер в Sinatra?

Я запускаю приложение Sinatra локально.

С тех пор, как я установил Thin, мое приложение Sinatra всегда использует его в качестве веб-сервера. Однако у меня были проблемы с производительностью, когда Thin обслуживал большое количество статических файлов, необходимых моему приложению, и я хотел бы переключиться на Mongrel или WEBrick.

Кажется, я не могу понять, как переключить мое приложение на Mongrel или WEBrick. Даже когда я помещаю require 'mongrel' или require 'webrick' вверху моего app.rb, после ruby app.rb Sinatra все равно начинает с Thin.

Итак, мой вопрос: как указать веб-сервер, который Sinatra будет использовать в режиме разработки? Кроме того, как я мог сделать это в производственном режиме?


person sffc    schedule 02.04.2013    source источник


Ответы (1)


Вы можете указать сервер, который будет использовать Синатра, с помощью :server настройки конфигурации:

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

В производственной среде гораздо лучше использовать более сложный сервер, такой как Phusion Passenger или Unicorn, так как они имеют лучшую производительность, чем Thin, Mongrel или WEBrick. Если вы выберете Passenger или Unicorn, вы не будете настраивать сервер в самом файле приложения Sinatra, а вместо этого обычно настраиваете его отдельно, используя Rackup config.ru.

"Параметры сервера Ruby on Rails" предназначены для приложений Rails, но по-прежнему очень актуальны. для приложений Sinatra.

person Stuart M    schedule 02.04.2013