簡體   English   中英

在Rails應用程序上部署jruby

[英]deployment for jruby on rails app

我正在嘗試在Rails應用程序上部署一個jruby。

現在,我正在使用來自mod_proxy的反向代理運行mongrel + Apache2。 但是,由於mongrel_jcluster不適用於最新版本的jruby,因此我只能運行一個mongrel服務器,並且無法利用apache2的負載平衡功能。

還有其他方法可以創建雜種群集嗎? 我真的更喜歡雜種集群+ apache2而不是Java servlet類型的系統。

我已經按照這里的說明嘗試了碼頭: http : //jetty-rails.rubyforge.org/

但是即使我已經在jruby及其下的0.9.7版本下檢查了我的activerecord-jdbcmysql-adapter gem版本,但在啟動碼頭服務器時卻遇到以下錯誤

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)

任何建議將不勝感激,謝謝!

編輯:我不知道這是否有所作為,但我能夠告訴您,在崩潰之前,jetty_rails成功加載了在environment.rb中聲明的全局變量

編輯:這是我從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)

也許您正在多個紅寶石解釋器之間切換(通過RVM或手動)。 通過使用Jruby運行“ gem list”,確保具有2.3.8的rails gem及其依賴項。

如果您在Jruby下沒有gems,請運行“ gem install -v = 2.3.8 rails”。 您可以通過運行“ rake rails:freeze:gems”將rails gem打包到項目樹中。

我知道的唯一可能的答案是,系統上有兩個紅寶石解釋器,而碼頭環境所撿拾的那個解釋器缺少寶石。 ruby -v給您的答案與jruby -v不同嗎?

話雖如此,您是否有理由不想使用Warble並向Jetty或Tomcat部署戰爭? 我發現效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM