実際には、IISにデプロイするRailsアプリですか、それともJRubyでなければなりませんか? JRubyではなくRuby on Railsの場合は、here is your step-by-step guideです。しかし、JRubyならIISで作業したいと思っています。以下は、私が従った手順です。私の環境はWindows 7 RC、Java 1.6.0_13上のIIS7です。
- まず、JRubyを
http://dist.codehaus.org/jruby/1.3.1/jruby-bin-1.3.1.tar.gz
からダウンロードしました。
- 次に、アーカイブを
C:\JRuby
に解凍しました。
- 環境変数JRUBY_HOMEを
c:\JRuby\jruby-1.3.1
に設定しました。
- パスに
%JRUBY_HOME%\bin
を追加しました。
私は散在したスクリーングラブで次のステップを進めます。
レッツ・実行JRubyのは、それが正常にインストールされたことを確認します
C:\Users\Vinay>jruby -v
jruby 1.3.1 (ruby 1.8.6p287) (2009-06-15 2fd6c3d) (Java HotSpot(TM) Client VM 1.
6.0_13) [x86-java]
OKをこれまでのところ。のは、Railsのアプリを作成してみましょう
C:\Users\Vinay>gem install json-jruby
C:\Users\Vinay>gem install rails --no-rdoc
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed activerecord-2.3.3
Successfully installed rack-1.0.0
Successfully installed actionpack-2.3.3
Successfully installed actionmailer-2.3.3
Successfully installed activeresource-2.3.3
Successfully installed rails-2.3.3
6 gems installed
Installing ri documentation for activerecord-2.3.3...
Installing ri documentation for rack-1.0.0...
Installing ri documentation for actionpack-2.3.3...
Installing ri documentation for actionmailer-2.3.3...
Installing ri documentation for activeresource-2.3.3...
Installing ri documentation for rails-2.3.3...
jror
と呼ばれる::のは、レールを取り付けるにはJRubyを使用してみましょう
C:\Users\Vinay\Projects>rails new jror
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create config/locales
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create test/fixtures
create test/functional
create test/integration
create test/performance
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create config/database.yml
create config/routes.rb
create config/locales/en.yml
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/new_rails_defaults.rb
create config/initializers/session_store.rb
create config/environment.rb
create config/boot.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/console
create script/dbconsole
create script/destroy
create script/generate
create script/runner
create script/server
create script/plugin
create script/performance/benchmarker
create script/performance/profiler
create test/test_helper.rb
create test/performance/browsing_test.rb
create public/404.html
create public/422.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
はのは、予想通りにすべての作業を確認するためにWEBrick
を実行してみましょう:
C:\Users\Vinay\Projects\jror>jruby script/server
=> Booting WEBrick
=> Rails 2.3.3 application starting on http://0.0.0.0:3000
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-07-21 17:51:21] INFO WEBrick 1.3.1
[2009-07-21 17:51:21] INFO ruby 1.8.6 (2009-06-15) [java]
[2009-07-21 17:51:21] INFO WEBrick::HTTPServer#start: pid=2440 port=3000
移動http://localhost:3000/
へRailsアプリケーションが表示されていることを確認してください。
案の定、そこにそれがあります。
次に、IISに対して選択された要求がJRubyにプロキシされるメカニズムを設定します。これを行うには、URLリライタ/リバースプロキシが必要です。私はこれにISAPI Rewrite 3を使用しました。別のツール(Microsoft ISAなど)を使用することもできます。 ISAPI Rewrite 3はサーバー1台あたり99ドルの価値があり、45日間の試用期間があります。
http://localhost/jror/abc123
http://localhost:3000/abc123
にフォームの
RewriteEngine on
RewriteBase/
RewriteLog "C:\temp\rewrite.log"
RewriteLogLevel 9
RewriteProxy jror/(.*) http://localhost:3000/$1
このプロキシのURLだから今、次のように
はISAPIリライト3のために、私はhttpd.conf
設定ファイルを設定しますhttp://localhost/jror/
に移動し、JRubyが提供するリクエストを見ることができます。 IIS:
そして、何を推測:なし戦争! Railsアプリケーションの変更は直接行わなければなりません。ここで
は、そのページのレスポンスヘッダを示す私のFirebugのコンソールのスクリーンショットです:もちろん
これは生産よりも、開発のセットアップの詳細です - しかし、本番環境での使用のためにあなたはおそらく必要があります。これらの厄介な戦争の使用を伴うGlassfishのようなプロダクション対応のアプリケーションサーバーを使用するには;-)
戦争を使用してJavaアプリケーションサーバーに展開する場合は、Warblerを使用して簡単にパッケージ化することができますアプリを戦争に加える
Glassfish V3で実行するには、いくつかの追加手順が必要です。 Railsアプリケーションを配備して実行する最も簡単な方法は、GlassFish v3カーネル(Grizzly
)といくつかのユーティリティのみで構成されたGlassFish gemを使用することです。のは、宝石をインストールしてみましょう:
C:\Users\Vinay\Projects\jror>gem install glassfish
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed glassfish-0.9.5-universal-java
1 gem installed
Installing ri documentation for glassfish-0.9.5-universal-java...
Installing RDoc documentation for glassfish-0.9.5-universal-java...
はGlassfishの上のRailsアプリを実行します。
C:\Users\Vinay\Projects>glassfish jror
Starting GlassFish server at: 192.168.0.17:3000 in development environment...
Writing log messages to: jror/log/development.log.
Press Ctrl+C to stop.
あなたが見ることができるように、あなたはGlassfishの上で実行しているが、まだ戦争は必要ありません! Glassfishサーバーで使用されているIPアドレスとポートを指すようにプロキシを変更する以外は、IIS側で変更する必要はありません(セットアップではhttpd.conf
)。あなたが豚全体に行き、フルGlassfishサーバーをインストールし、その上でRailsアプリケーションを実行したい場合は、Glassfishチームのthese instructionsに従ってください。 Glassfish、サーバーのインストールと実行、Railsアプリケーションのデプロイとアンデプロイ、および本番モードでのアプリケーションの実行について説明します。
完全なGlassfishサーバー用のwarファイルを作成するために必要なものは次のとおりです。
ムシクイインストール:
C:\Users\Vinay\Projects>gem install warbler
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed warbler-0.9.13
1 gem installed
Installing ri documentation for warbler-0.9.13...
Installing RDoc documentation for warbler-0.9.13...
実行ムシクイ:
C:\Users\Vinay\Projects\jror>warble
mkdir -p tmp/war/WEB-INF/gems/specifications
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/rails-2.3.3.gemspec tm
/war/WEB-INF/gems/specifications/rails-2.3.3.gemspec
mkdir -p tmp/war/WEB-INF/gems/gems
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/rake-0.8.7.gemspec tmp
war/WEB-INF/gems/specifications/rake-0.8.7.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/activesupport-2.3.3.ge
spec tmp/war/WEB-INF/gems/specifications/activesupport-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/activerecord-2.3.3.gem
pec tmp/war/WEB-INF/gems/specifications/activerecord-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/actionpack-2.3.3.gemsp
c tmp/war/WEB-INF/gems/specifications/actionpack-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/rack-1.0.0.gemspec tmp
war/WEB-INF/gems/specifications/rack-1.0.0.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/actionmailer-2.3.3.gem
pec tmp/war/WEB-INF/gems/specifications/actionmailer-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/specifications/activeresource-2.3.3.g
mspec tmp/war/WEB-INF/gems/specifications/activeresource-2.3.3.gemspec
mkdir -p tmp/war/WEB-INF/app
mkdir -p tmp/war/WEB-INF/config
mkdir -p tmp/war/WEB-INF/lib
mkdir -p tmp/war/WEB-INF/log
mkdir -p tmp/war/WEB-INF/vendor
mkdir -p tmp/war/WEB-INF/tmp
mkdir -p tmp/war/WEB-INF/app/controllers
mkdir -p tmp/war/WEB-INF/app/helpers
mkdir -p tmp/war/WEB-INF/app/models
mkdir -p tmp/war/WEB-INF/app/views
cp app/controllers/application_controller.rb tmp/war/WEB-INF/app/controllers/ap
lication_controller.rb
cp app/helpers/application_helper.rb tmp/war/WEB-INF/app/helpers/application_he
per.rb
mkdir -p tmp/war/WEB-INF/app/views/layouts
cp config/boot.rb tmp/war/WEB-INF/config/boot.rb
cp config/database.yml tmp/war/WEB-INF/config/database.yml
cp config/environment.rb tmp/war/WEB-INF/config/environment.rb
mkdir -p tmp/war/WEB-INF/config/environments
mkdir -p tmp/war/WEB-INF/config/initializers
mkdir -p tmp/war/WEB-INF/config/locales
cp config/routes.rb tmp/war/WEB-INF/config/routes.rb
cp config/environments/development.rb tmp/war/WEB-INF/config/environments/devel
pment.rb
cp config/environments/production.rb tmp/war/WEB-INF/config/environments/produc
ion.rb
cp config/environments/test.rb tmp/war/WEB-INF/config/environments/test.rb
cp config/initializers/backtrace_silencers.rb tmp/war/WEB-INF/config/initialize
s/backtrace_silencers.rb
cp config/initializers/inflections.rb tmp/war/WEB-INF/config/initializers/infle
tions.rb
cp config/initializers/mime_types.rb tmp/war/WEB-INF/config/initializers/mime_t
pes.rb
cp config/initializers/new_rails_defaults.rb tmp/war/WEB-INF/config/initializer
/new_rails_defaults.rb
cp config/initializers/session_store.rb tmp/war/WEB-INF/config/initializers/ses
ion_store.rb
cp config/locales/en.yml tmp/war/WEB-INF/config/locales/en.yml
mkdir -p tmp/war/WEB-INF/lib/tasks
mkdir -p tmp/war/WEB-INF/vendor/plugins
mkdir -p tmp/war/WEB-INF/tmp/cache
mkdir -p tmp/war/WEB-INF/tmp/pids
mkdir -p tmp/war/WEB-INF/tmp/sessions
mkdir -p tmp/war/WEB-INF/tmp/sockets
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/gems/warbler-0.9.13/lib/jruby-complet
-1.3.0RC1.jar tmp/war/WEB-INF/lib/jruby-complete-1.3.0RC1.jar
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/gems/warbler-0.9.13/lib/jruby-complet
-1.3.0RC1.jar tmp/war/WEB-INF/lib/jruby-complete-1.3.0RC1.jar
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/gems/warbler-0.9.13/lib/jruby-rack-0.
.4.jar tmp/war/WEB-INF/lib/jruby-rack-0.9.4.jar
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/gems/warbler-0.9.13/lib/jruby-rack-0.
.4.jar tmp/war/WEB-INF/lib/jruby-rack-0.9.4.jar
cp public/404.html tmp/war/404.html
cp public/422.html tmp/war/422.html
cp public/500.html tmp/war/500.html
cp public/favicon.ico tmp/war/favicon.ico
mkdir -p tmp/war/images
cp public/index.html tmp/war/index.html
mkdir -p tmp/war/javascripts
cp public/robots.txt tmp/war/robots.txt
mkdir -p tmp/war/stylesheets
cp public/images/rails.png tmp/war/images/rails.png
cp public/javascripts/application.js tmp/war/javascripts/application.js
cp public/javascripts/controls.js tmp/war/javascripts/controls.js
cp public/javascripts/dragdrop.js tmp/war/javascripts/dragdrop.js
cp public/javascripts/effects.js tmp/war/javascripts/effects.js
cp public/javascripts/prototype.js tmp/war/javascripts/prototype.js
mkdir -p tmp/war/WEB-INF
jar cf jror.war -C tmp/war .
C:\Users\Vinay\Projects\jror>dir jror.war
Volume in drive C has no label.
Volume Serial Number is 0C8D-1418
Directory of C:\Users\Vinay\Projects\jror
22/07/2009 15:55 13,180,634 jror.war
1 File(s) 13,180,634 bytes
0 Dir(s) 7,730,462,720 bytes free
ふうに!
私は戦争のファイルを避けることによって間違った方法を行っていると思います。長い間、戦争ファイルについて学び、むしろそれらを回そうとすると、時間がかかります。 –
私はJRubyとIISのためのステップウォークスルーをNO WARSで表示するために私の答えを大幅に更新しました:-) –
Warblerを使った戦争の作成とGlassfishでのJRuby/Railsのアプリケーションの実行IIS。 Enjoy :-) –