2010-07-20 4 views
0

Я пытаюсь развернуть приложение jruby on rails.развертывание для jruby on rails app

Прямо сейчас я запускаю mongrel + Apache2, используя обратный прокси от mod_proxy. Однако, поскольку mongrel_jcluster не работает для последних версий jruby, я могу запустить только один mongrel-сервер и не могу воспользоваться балансировкой нагрузки из apache2.

Есть ли другой способ создания клана монгреров? Я бы предпочел mongrel cluster + apache2 для системы типов сервлетов Java.

Я попытался причал, используя инструкцию здесь: http://jetty-rails.rubyforge.org/

, но я получаю следующее сообщение об ошибке при запуске сервера пристани, хотя я проверил мой ActiveRecord-jdbcmysql-адаптер гема версию под JRuby и его там и версия 0.9.7

DEPRECATION WARNING: require "activesupport" is deprecated and will be removed in Rails 3. Use require "active_support" instead. (called from /home/andrew/.gem/jruby/1.8/gems/activesupport-2.3.8/lib/activesupport.rb:2) 
2010-07-20 17:00:46.820::INFO: Logging to STDERR via org.mortbay.log.StdErrLog 
Starting server 3000 
2010-07-20 17:00:47.134::INFO: jetty-6.1.14 
2010-07-20 17:01:03.511:/:INFO: Info: using runtime pool timeout of 30 seconds 
2010-07-20 17:01:03.511:/:INFO: Info: received min runtimes = 1 
2010-07-20 17:01:03.511:/:INFO: Info: received max runtimes = 5 
Loading parser from serialized file lib/stanford-parser/englishPCFG.ser.gz ... done [4.6 sec]. 
2010-07-20 17:01:14.341:/:WARN: Error: unable to initialize application 
org.jruby.rack.RackInitializationException: Please install the jdbcmysql adapter: `gem install activerecord-jdbcmysql-adapter` (no such file to load -- active_record/connection_adapters/jdbcmysql_adapter) 

любые предложения были бы оценены, спасибо!

EDIT: Я не знаю, если это имеет значение, но я могу сказать, что, прежде чем он выходит из строя, jetty_rails успешно загружает глобальную переменную, объявленную в environment.rb

EDIT: вот мой полный список драгоценных камней из jruby -S gem list --local

*** LOCAL GEMS *** 

actionmailer (2.3.8) 
actionpack (2.3.8) 
activerecord (2.3.8) 
activerecord-jdbc-adapter (0.9.7) 
activerecord-jdbcmysql-adapter (0.9.7) 
activeresource (2.3.8) 
activesupport (2.3.8) 
builder (2.1.2) 
gem_plugin (0.2.3) 
jdbc-mysql (5.0.4) 
jetty-rails (0.8.1) 
jruby-jars (1.5.1) 
jruby-openssl (0.7) 
jruby-rack (1.0.1) 
mizuno (0.3.6) 
mongrel (1.1.5) 
rack (1.1.0) 
rails (2.3.8) 
rake (0.8.7) 
rubyzip (0.9.4) 
sources (0.0.1) 
warbler (1.1.0) 

ответ

1

Может быть, вы переключение между несколькими переводчиками рубина (через РВМ или вручную). Удостоверьтесь, что у вас есть 2.3.8 драгоценных камней для рельсов и его зависимостей, запустив «список драгоценных камней» с помощью Jruby.

Если у вас нет драгоценных камней под Jruby, запустите «gem install -v = 2.3.8 rails». Вы можете упаковать жемчужины рельсов внутри дерева проекта, запустив «rake rails: froze: gems».

+0

У меня есть драгоценные камни под jruby, jruby -S gem list --local дает мне список драгоценных камней, и у них есть правильная версия, но причал не находит их. но я получил ту же самую ошибку сначала для стойки, которую я решил, удалив и переустановив драгоценный камень, а теперь для activerecord-jdbcmysql-адаптера, который я не могу решить (попробовал удалить и переустановить, и замораживание, замораживание просто не сработало) – Andrew

1

Единственный возможный ответ, который, как я знаю, состоит в том, что у вас есть два рубиновых переводчика в системе, а тот, который подхватил причал, не хватает драгоценных камней. ruby -v дает вам другой ответ, чем jruby -v?

Это, как говорится, есть причина, по которой вы не хотите использовать warble и развертывать войну с Jetty или Tomcat? Я считаю, что это хорошо работает.

+0

Я думал, что это может быть проблемой, поэтому, прежде чем я разместил этот вопрос, я удалил рубин, поэтому ruby ​​-v дает мне «рубин в настоящее время не установлен» пока jruby -v дает мне jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2010-02-11 6586) (Java HotSpot (TM) Client VM 1.6.0_20) [i386-java] – Andrew