В настоящее время я использую приложение, которое разрабатывается с использованием JRuby on Rails. Я создал приложение, которое сильно зависит от внутренних компонентов JRuby. Теперь я хочу разместить приложение на выделенном сервере с помощью платформы Windows. Кто-нибудь может сказать, как мы можем разместить приложение с помощью JRuby на рельсах. Существует возможность делать рубин на рельсах. Мы можем использовать его Apache/IIS7. Но конкретных сведений о том, как это сделать, в JRuby на rails на платформе Windows, использующей Apache/IIS7, нет. Может ли кто-нибудь помочь мне, как разместить JRuby на рельсах на выделенном сервере?Apache using JRuby
ответ
Вы можете использовать Trinidad для развертывания приложения Jruby on Rails. Trinidad использует Apache tomcat, поскольку он является сервером приложений, а Tomcat встроен в жемчужину Jruby, поэтому вам не нужно размещать/администрировать собственный экземпляр Tomcat вне приложения.
https://github.com/trinidad/trinidad
простейшее приложение (из командной строки в корневом каталоге вашего приложения рельсы):
JRuby -S камень установить Trinidad JRuby -S Trinidad
Тринидад является прекрасным решением, но Я обнаружил, что если вы размещаете на платформе Windows, лучшим решением может быть развертывание военного файла. Используйте камень Warbler https://github.com/jruby/warbler, чтобы создать простой файл войны, который затем развернут на сервер tomcat. Это выглядит лучше для экосистемы окон - особенно если есть существующий сервер tomcat или аргументированный персонал Ops.
Для простоты использования, Тринидад. Для существующего мира Windows и администраторов, файлов tomcat и war.
как вы развертываете в производстве с тринидадом? Я полагаю, вы не входите в систему через ssh и запускаете команду в командной строке. – jshen
Мы используем trinidad_init_services, чтобы использовать тринидад в качестве демона (который позаботится о неожиданных перезагрузках). Кроме того, тринидад имеет встроенную функцию горячего развертывания, поэтому вы можете прикоснуться к файлу (например, tmp/restart.txt) после того, как он запустил приложение для перезагрузки приложения (мы используем capistrano и рецепт, очень похожий на наши пассажирские развертывания). – Brandon