7

誰かがIISで動作するようにjRubyを設定するための明確な指示を持っていますか?

編集:

私が探しているのは、IISとjRubyを使用してRubyonRailsアプリケーションをWindowsで動作させるためのステップバイステップの説明です。その理由は、野外で質問するときに「Linuxを使う」以外に何も見つからないからです。ほとんどの人にとって、Windowsは主要な開発および展開環境であるため、Linuxベースのサーバーを使用することは問題外です。また、IISはWindowsに含まれており、Active Directoryとの優れた統合を提供するため、Apacheの使用も問題外です。

最後に、warファイルの使用は悪夢です。ファイルまたはその他のファイルをコピーしてwarファイルを使用するだけで、Railsアプリをデプロイする方法の説明を含めてください。

4

2 に答える 2

10

IIS にデプロイしたいのは実際にはただの Rails アプリですか、それとも JRuby でなければなりませんか? JRuby ではなく Ruby on Rails だけの場合は、こちらのステップバイステップ ガイドをご覧ください。しかし、JRuby で IIS を使用したい場合は、もう探す必要はありません。以下は、私が従った手順です。私の環境は、Windows 7 RC、Java 1.6.0_13 上の IIS7 です。

  1. まず、JRuby を からダウンロードしましたhttp://dist.codehaus.org/jruby/1.3.1/jruby-bin-1.3.1.tar.gz
  2. 次に、アーカイブを に解凍しましたC:\JRuby
  3. 環境変数 JRUBY_HOME を に設定しましたc:\JRuby\jruby-1.3.1
  4. %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。JRuby を使用して Rails をインストールしましょう。

C:\Users\Vinay>gem インストール json-jruby
C:\Users\Vinay>gem install rails --no-rdoc
JRuby 限定の openssl が読み込まれました。完全なサポートについては、gem install jruby-openssl を使用してください。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
activerecord-2.3.3 が正常にインストールされました
Rack-1.0.0 が正常にインストールされました
actionpack-2.3.3 が正常にインストールされました
actionmailer-2.3.3 が正常にインストールされました
activeresource-2.3.3 が正常にインストールされました
rails-2.3.3 が正常にインストールされました
6つの宝石がインストールされています
activerecord-2.3.3 の ri ドキュメントをインストールしています...
Rack-1.0.0 の ri ドキュメントをインストールしています...
actionpack-2.3.3 の ri ドキュメントをインストールしています...
actionmailer-2.3.3 の ri ドキュメントをインストールしています...
activeresource-2.3.3 の ri ドキュメントをインストールしています...
rails-2.3.3 の ri ドキュメントをインストールしています...

というRailsアプリを作成しましょうjror:

C:\Users\Vinay\Projects>rails new jror
      作成
      アプリ/コントローラーを作成する
      アプリ/ヘルパーを作成する
      アプリ/モデルを作成する
      アプリ/ビュー/レイアウトを作成する
      構成/環境を作成する
      構成/初期化子を作成する
      構成/ロケールを作成する
      データベースを作成
      ドキュメントを作成
      ライブラリを作成
      ライブラリ/タスクを作成します
      ログを作成
      パブリック/イメージを作成
      public/javascript を作成する
      パブリック/スタイルシートを作成する
      スクリプト/パフォーマンスを作成する
      テスト/フィクスチャを作成する
      テスト/機能を作成する
      テスト/統合の作成
      テスト/パフォーマンスを作成する
      テスト/ユニットを作成する
      ベンダーを作成する
      ベンダー/プラグインを作成する
      tmp/セッションを作成する
      tmp/ソケットを作成する
      tmp/キャッシュを作成
      tmp/pid を作成する
      Rakefile を作成する
      README を作成する
      app/controllers/application_controller.rb を作成します
      app/helpers/application_helper.rb を作成します
      config/database.yml を作成します
      config/routes.rb を作成
      config/locales/en.yml を作成します
      config/initializers/backtrace_silencers.rb を作成します
      config/initializers/inflections.rb を作成します
      config/initializers/mime_types.rb を作成します
      config/initializers/new_rails_defaults.rb を作成します
      config/initializers/session_store.rb を作成します
      config/environment.rb を作成します
      config/boot.rb を作成
      config/environments/production.rb を作成します
      config/environments/development.rb を作成します
      config/environments/test.rb を作成します
      スクリプトの作成/概要
      スクリプト/コンソールを作成する
      スクリプト/dbconsole を作成
      スクリプトの作成/破棄
      スクリプトの作成/生成
      スクリプト/ランナーを作成する
      スクリプト/サーバーの作成
      スクリプト/プラグインを作成する
      スクリプト/パフォーマンス/ベンチマークを作成
      スクリプト/パフォーマンス/プロファイラーを作成
      test/test_helper.rb を作成
      test/performance/browsing_test.rb を作成
      public/404.html を作成
      public/422.html を作成
      public/500.html を作成
      public/index.html を作成します
      public/favicon.ico を作成します
      public/robots.txt を作成します
      public/images/rails.png を作成します
      public/javascripts/prototype.js を作成します
      public/javascripts/effects.js を作成します
      public/javascripts/dragdrop.js を作成します
      public/javascripts/controls.js を作成します
      public/javascripts/application.js を作成します
      doc/README_FOR_APP を作成
      log/server.log を作成
      log/production.log を作成
      log/development.log を作成
      log/test.log を作成

WEBrick実行して、すべてが期待どおりに機能していることを確認しましょう。

C:\Users\Vinay\Projects\jror>jruby スクリプト/サーバー
=> WEBrick の起動
=> http://0.0.0.0:3000 で始まる Rails 2.3.3 アプリケーション
JRuby 限定の openssl が読み込まれました。完全なサポートについては、gem install jruby-openssl を使用してください。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
=> -d を指定して呼び出すとデタッチされます
=> Ctrl-C でサーバーをシャットダウン
[2009-07-21 17:51:21] INFO WEBrick 1.3.1
[2009-07-21 17:51:21] INFO ルビー 1.8.6 (2009-06-15) [Java]
[2009-07-21 17:51:21] INFO WEBrick::HTTPServer#start: pid=2440 ポート=3000

Rails アプリケーションに移動http://localhost:3000/して、Rails アプリケーションが表示されることを確認します。

WEBrick 上の Rails アプリ

案の定、そこにあります。

次に、IIS に対して行われた選択された要求が JRuby にプロキシされるメカニズムをセットアップします。これを行うには、URL リライター/リバース プロキシが必要です。これにはISAPI Rewrite 3を使用しました。別のツール (Microsoft ISA など) を使用することもできます。ISAPI Rewrite 3 は、サーバーあたり 99 ドルでお得で、45 日間の試用期間が付属しています。

ISAPI Rewrite 3 の場合、httpd.conf構成ファイルを次のように設定します。

RewriteEngine on
RewriteBase /
RewriteLog "C:\temp\rewrite.log"
RewriteLogLevel 9
RewriteProxy jror/(.*) http://localhost:3000/$1

これは、フォームの URL をプロキシします

http://localhost/jror/abc123

http://localhost:3000/abc123

これで、http://localhost/jror/IIS を介して JRuby によって処理されたリクエストに移動して確認できます。

IIS を介した WEBrick 上の Rails アプリ

そして何を推測しますか:戦争はありません!Rails アプリへの変更はすべて直接反映されるはずです。

そのページの応答ヘッダーを示す Firebug コンソールのスクリーンショットを次に示します。

代替テキスト

もちろん、これは本番用というよりも開発用のセットアップです - しかし、本番環境で使用するには、Glassfish などの本番対応のアプリケーションサーバーを使用する必要があるでしょう。

wars を使用して Java アプリサーバーにデプロイする場合は、Warblerを使用して、アプリを war に簡単にパッケージ化できます。

Glassfish V3 で実行するには、いくつかの追加手順が必要です。GrizzlyRails アプリケーションをデプロイして実行する最も簡単な方法は、GlassFish v3 カーネル ( ) といくつかのユーティリティのみで構成される GlassFish gem を使用することです。gem をインストールしましょう。

C:\Users\Vinay\Projects\jror>gem install glassfish
JRuby 限定の openssl が読み込まれました。完全なサポートについては、gem install jruby-openssl を使用してください。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
glassfish-0.9.5-universal-java が正常にインストールされました
1つの宝石がインストールされています
glassfish-0.9.5-universal-java の ri ドキュメントをインストールしています...
glassfish-0.9.5-universal-java の RDoc ドキュメントをインストールしています...

Glassfish で Rails アプリを実行します。

C:\Users\Vinay\Projects>glassfish jror
開発環境で GlassFish サーバーを 192.168.0.17:3000 で起動しています...
ログ メッセージの書き込み先: jror/log/development.log。
Ctrl+C を押して停止します。

ご覧のとおり、Glassfish で実行していますが、まだ war は必要ありません! httpd.conf(私のセットアップで) Glassfish サーバーが使用する IP アドレスとポートを指すようにプロキシを変更する以外に、IIS 側での変更は必要ありません。完全に独占してGlassfishサーバーを完全にインストールし、そこでRailsアプリを実行したい場合は、Glassfishチームからの次の指示に従うこともできます. Glassfish、サーバーのインストールと実行、Rails アプリケーションのデプロイとアンデプロイ、およびプロダクション モードでのアプリケーションの実行について説明します。

完全な Glassfish サーバー用の war ファイルを作成するために必要なものは次のとおりです。

ウグイスをインストールします。

C:\Users\Vinay\Projects>gem インストール ウグイス
JRuby 限定の openssl が読み込まれました。完全なサポートについては、gem install jruby-openssl を使用してください。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
ウグイス-0.9.13のインストールに成功
1つの宝石がインストールされています
warbler-0.9.13 の ri ドキュメントをインストールしています...
warbler-0.9.13 の RDoc ドキュメントをインストールしています...

ウグイスを実行します。

C:\Users\Vinay\Projects\jror>ワーブル
mkdir -p tmp/war/WEB-INF/gems/仕様
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/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/仕様書/rake-0.8.7.gemspec tmp
戦争/WEB-INF/gems/仕様/rake-0.8.7.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/activesupport-2.3.3.ge
仕様 tmp/war/WEB-INF/gems/specifications/activesupport-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/activerecord-2.3.3.gem
pec tmp/war/WEB-INF/gems/仕様/activerecord-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/actionpack-2.3.3.gemsp
c tmp/war/WEB-INF/gems/仕様/actionpack-2.3.3.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/rack-1.0.0.gemspec tmp
戦争/WEB-INF/gems/仕様/rack-1.0.0.gemspec
cp C:/JRuby/jruby-1.3.1/lib/ruby/gems/1.8/仕様書/actionmailer-2.3.3.gem
pec tmp/war/WEB-INF/gems/仕様/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/ベンダー
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/product
イオン.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/ウグイス-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/ウグイス-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
 ドライブ C のボリュームにはラベルがありません。
 ボリュームのシリアル番号は 0C8D-1418 です

 C:\Users\Vinay\Projects\jror のディレクトリ

22/07/2009 15:55 13,180,634 jror.war
               1 ファイル 13,180,634 バイト
               0 Dir(s) 7,730,462,720 バイト空き

ふぅ!

于 2009-07-20T19:01:51.407 に答える
5

最初に Tomcat をインストールする必要があります。IIS と共に Tomcat をセットアップする方法については、このハウツーを参照してください。

JRuby を使用して、WAR ファイルをビルドします。これらを Tomcat の webapps フォルダーにドロップするだけで、準備完了です。

更新:わかりました。一緒に使用することを意図していない 2 つのテクノロジを統合する必要があります。IIS と JRuby です。良い点は、JRuby が Java と Ruby の両方であり、両方の長所を利用できることです。Ruby の方が生産性が高く、コードを書くのが楽しいですが、展開には Java の方が適しています (特に IIS で展開する必要がある場合)。だから私のアドバイスはまだ有効です。war ファイルを作成し、Tomcat をインストールしてそこに war ファイルをデプロイします。war ファイルのデプロイは、webapps フォルダーにコピーするのと同じくらい簡単です。従う必要がある手順は次のとおりです。

  • Tomcat をインストールする
  • ISAPI プラグインを使用して Tomcat を IIS と統合します (これに関する詳細情報が必要な場合はお手伝いします)
  • WAR ファイルを作成します (Netbeans IDE で作成できます)。
  • WAR ファイルを Tomcat の webapps フォルダーにコピーします。

それでも WAR ファイルを使用したくない場合は、このブログ スポットをご覧ください。IIS で RoR を実行する方法について説明します。JRuby の場合も手順はまったく同じであると思います。とにかく、WAR ファイルを避けたい場合は、CGI アプローチが唯一の方法です。

于 2009-07-06T13:41:33.560 に答える