Инструкции для установки IIS и jRuby

Приложение:

Важной концепцией является то, что вы оцениваете выражение в своем коде Razor. Лучший способ сделать это (например, если вы находитесь в цикле foreach) - использовать универсальный метод.

Синтаксис для вызова универсального метода в Razor:

@(expression)

В этом случае выражение:

User.Identity.IsAuthenticated ? "auth" : "anon"

Следовательно, решение:

@(User.Identity.IsAuthenticated ? "auth" : "anon")

Этот код можно использовать где угодно в Razor, а не только для атрибута html.

См. Комментарий @Kyralessa к краткому справочнику по синтаксису C # Razor (блог Фила Хаака).

8
задан Luke Francl 21 July 2009 в 23:47
поделиться

2 ответа

Это действительно просто приложение Rails, которое вы хотите развернуть в IIS, или это должен быть JRuby? Если это просто Ruby on Rails, а не JRuby, то вот ваше пошаговое руководство . Но если вы хотите работать с IIS именно с JRuby, не смотрите дальше. Ниже приведены шаги, которые я выполнил; моя среда - IIS7 в Windows 7 RC, Java 1.6.0_13.

  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]

Пока все в порядке. Давайте использовать JRuby для установки 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...

Let ' s создайте приложение Rails с именем jror :

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 появилось.

Rails app on WEBrick

Конечно, вот оно.

Следующее, что нужно сделать, это настроить механизм, посредством которого выбранные запросы, сделанные в 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 / и просмотрите запрос, обслуживаемый JRuby, но через IIS:

Rails app on WEBrick through IIS

И угадайте, что: no wars ! Любые изменения в вашем приложении Rails должны происходить напрямую.

Вот скриншот моей консоли Firebug, на которой показаны заголовки ответов для этой страницы:

alt text

Конечно, это скорее установка для разработки, чем для производства, но для производственного использования вам, вероятно, потребуется использовать готовый к производству сервер приложений, такой как Glassfish, что повлечет за собой использование этих надоедливых войн; -)

Если и когда вы действительно захотите развернуть сервер приложений Java с помощью войн, вы можете использовать Warbler для упрощения упаковки вашего приложения в войну.

Для работы на Glassfish V3 требуются некоторые дополнительные действия. Самый быстрый способ развернуть и запустить ваши приложения Rails - использовать гем GlassFish, который состоит только из ядра GlassFish v3 ( Grizzly ) и некоторых утилит, что дает минимальную настройку. Давайте установим гем:

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...

Запустите приложение Rails на Glassfish:

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, но войны по-прежнему не требуются! На стороне IIS не требуется никаких изменений, кроме (в httpd.conf в моей настройке) изменения прокси-сервера, чтобы он указывал на IP-адрес и порт, используемые сервером Glassfish. Если вы хотите сделать все возможное и установить полный сервер Glassfish и запускать на нем приложения Rails, вы также можете следовать этим инструкциям от команды Glassfish. Они охватывают установку и запуск Glassfish, сервера, развертывание и удаление приложений Rails, а также запуск приложений в производственном режиме.

Здесь '

10
ответ дан 5 December 2019 в 11:26
поделиться

Сначала необходимо установить Tomcat. См. Это руководство для настройки Tomcat вместе с IIS.

С JRuby вы собираетесь создавать файлы WAR. Просто поместите их в папку webapps Tomcat, и все готово.

Обновление: Хорошо, вам нужно интегрировать две технологии, которые не предназначены для совместного использования: IIS и JRuby. Хорошо то, что JRuby - это и Java, и Ruby, и вы можете использовать лучшее из обоих миров. Ruby более продуктивен и интересен для программирования, но Java лучше для развертывания (особенно когда это необходимо с IIS). Так что мой совет все еще актуален. Создайте файл войны, установите Tomcat и разверните там файл войны. Развернуть файл war так же просто, как скопировать его в папку webapps. Вот шаги, которые вам необходимо выполнить:

  • Установите Tomcat
  • Интегрируйте Tomcat с IIS с помощью подключаемого модуля ISAPI (я могу помочь, если вам нужна дополнительная информация)
  • Создайте файл WAR (IDE Netbeans может сделать это за вас)
  • Копировать файл WAR в папку webapps Tomcat

. Если вы по-прежнему не хотите использовать файлы WAR, посмотрите это место в блоге . В нем описывается, как можно запустить RoR с IIS. Я считаю, что для JRuby процедура будет такой же. В любом случае, подход CGI - единственный способ избежать файлов WAR.

Я считаю, что для JRuby процедура будет такой же. В любом случае, подход CGI - единственный способ избежать файлов WAR.

Я считаю, что для JRuby процедура будет такой же. В любом случае, подход CGI - единственный способ избежать файлов WAR.

5
ответ дан 5 December 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: