Я искал способ надежно развернуть приложение Rails 3 в Windows. Я очень шокирован тем, что кажется, что в настоящее время нет способа сделать это. Решение Apache + some Mongrel в настоящее время не работает, потому что Mongrel не может работать в режиме демона, поэтому я не могу установить его как mongrel_service.
Я полагаю, что требования должны быть:
- Веб-сервер, совместимый с Rails 3 .
- Должна быть запущена как демонизированная служба Windows.
- Должна иметь возможность автоматически перезапускаться в случае, если что-то пойдет не так.
- Должно быть производственного качества: нет утечек памяти и т. Д.
- Должно быть возможность масштабирования и одновременный прием нескольких запросов.
- Возможно меньше взломов.
Я обнаружил следующие вещи:
- Mongrel не готов к производству для Rails 3 (1.2.0pre), У меня довольно быстро возникают утечки памяти из окна консоли. Приложение просто закрывается.
- Mongrel не работает в режиме демона (
-d
) с Rails 3.
- Следовательно, Mongrel нельзя установить как службу.
- Phusion Passenger недоступен в Windows (было бы лучшим решением).
Вот возможные решения, которые я придумал:
- Получите Linux, установите Apache + Phusion Passenger и катайтесь.
- Однако, используя thin , автор говорит, что тонкий процесс не «охраняется».
- Однако, используя Ngnix , автор говорит, что он просто запустил приложение по умолчанию, а не приложение полного запуска.
- Использование Ngnix . Я думаю, что это решение страдает той же проблемой, что и выше.
- Использование виртуализации Linux, но я должен решить такие проблемы, как автоматический запуск и т. Д.
- Запускать на JRuby в Tomcat.
Это может быть удобный инструмент : http://projectkenai.com/projects/winsw
Надеюсь, мы сможем найти реальное решение этой проблемы.
Обновление:
Я согласен, что JRuby + контейнер j2ee - лучший выбор. Некоторые проблемы должны быть решены, например драгоценные камни с расширениями и т. Д. Здесь есть много ценных идей: http://rails-nutshell.labs.oreilly.com/ch14.html#production_r259035_id35801805
задан the Tin Man 12 May 2013 в 18:51
поделиться