실제로 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]
확인을 지금까지. 이제 레일을 설치 JRuby를를 사용하자 :
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/
에 :
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>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
라고 만들어 보자 Rails 애플리케이션이 나타나는지 확인하십시오. 충분히
물론, 거기이다.
다음으로 IIS에 선택된 요청이 JRuby로 프록시 처리되는 메커니즘을 설정해야합니다. 이렇게하려면 URL 다시 작성기/역방향 프록시가 필요합니다. 나는 이것에 ISAPI Rewrite 3을 사용했다. 다른 도구 (예 : Microsoft ISA)를 사용하도록 선택할 수 있습니다. ISAPI Rewrite 3은 서버 당 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 앱에 대한 모든 변경 사항은 직접 처리해야합니다. 여기
해당 페이지에 대한 응답 헤더를 보여주는 내 파이어 버그 콘솔의 스크린 샷입니다 : 물론
이 프로덕션보다 개발 설정의 많은 -하지만 생산 사용을 위해 당신은 아마 필요합니다 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...
은 글래스 피시에 레일 응용 프로그램을 실행
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 서버에서 사용하는 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 :-) –