Что нужно знать при замене WEBrick на Thin

Я намерен заменить WEBrick на Thin в проекте Rails 3.2, потому что WEBrick плохо обрабатывает искаженные неэкранированные URI (ошибка bad URI). Я знаю, что есть хаки с конфигурацией, чтобы заставить WEBrick обрабатывать неэкранированные URI, но простое добавление gem 'thin' в мой Gemfile кажется настолько простым, что я задаюсь вопросом:

  • Есть ли что-то, что может сломаться или пойти не так в моем приложении, если я это сделаю?

Кстати: я развертываю на Heroku. Если есть определенные проблемы с Thin на Heroku, я также хотел бы знать.


person joscas    schedule 08.02.2013    source источник


Ответы (2)


Нет... Rails — это так просто! :)

Просто убедитесь, что вы начали использовать:

thin start
person Gaurav Agarwal    schedule 08.02.2013
comment
Для рельсов я привык делать: рельсы тонкие. Для продакшена такие вещи, как Heroku, делают сборку exec rails тонкой. - person rkulla; 08.02.2013
comment
Только что сделал быстрый тест с Thin и, как ни странно, он решает мою проблему с плохим URI в разработке, но не в производстве с Heroku. И я уверен, что Heroku был перезапущен с использованием Thin. Любые идеи, почему это могло произойти? - person joscas; 08.02.2013
comment
Проверьте производственные журналы, чтобы убедиться, что сервер запущен с тонким. - person Gaurav Agarwal; 08.02.2013
comment
Это: === web: bundle exec thin start -R config.ru -e $RAILS_ENV -p $PORT web.1: up 08.02.2013 19:37:03 (~ 31м назад) - person joscas; 08.02.2013

Если у вас есть тонкий файл в вашем Gemfile, rails s следует начинать с тонкого. Например, приложение, над которым я работаю, имеет тонкий слой в группе разработки в Gemfile:

rails s
=> Booting Thin
=> Rails 3.2.14 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
person PhilT    schedule 02.10.2013