Назад | Перейти на главную страницу

Как мне обслуживать приложения Ruby on Rails в Windows Server 2008?

Последние несколько часов я безуспешно пытался запустить Ruby on Rails на сервере Windows.

Сначала я попытался настроить тестовое приложение с помощью поддержки FastCGI в IIS7, но документация для этого не очень хороша. Я слежу эта запись в блоге, и этот, и этот, и этот но кажется, что во всем отсутствуют основные шаги или они устарели. И в каждой статье есть ссылки на это Howto от rubyonrails.org этого не существует.

У меня возникает ощущение, что даже если мне удастся выполнить эту работу, FastCGI IIS в любом случае недостаточно хорош для использования в производственной среде.

Итак, похоже, что лучше всего настроить обратный прокси в IIS, который указывает на Apache и Mongrel / Passenger, используя ARR и UrlRewrite. Есть ли еще кто-нибудь, кто застрял при развертывании приложения Rails в стеке Windows? Я на правильном пути? Не могли бы вы дать мне лучшее представление о том, как это настроить?

Я считаю, что Plesk уже установил экземпляр Apache / Tomcat, работающий на этом сервере, используя другой порт, поэтому добавление еще одного виртуального хоста не должно вызывать затруднений; Самая сложная часть - это настройка обратного прокси через IIS.


Дополнение

После публикации этого сообщения я приступил к созданию виртуального сервера под управлением Linux и обслуживания наших продуктов Rails с помощью Apache, Пассажир и Ruby Enterprise Edition.

Linux - настолько простой, дешевый и надежный вариант, что пытаться втиснуть квадратный стержень Rails в круглое отверстие Windows / IIS - глупое занятие.

Единственное возможное исключение - если ваш Windows env. поддерживает Java, и вы можете использовать JRuby. По общему мнению, это одна из лучших реализаций Ruby. В противном случае сдайтесь и сохраните рассудок.

Сохраните рассудок !!! RoR для Windows 2008 еще не существует. Похоже, что дела обстоят только с Windows 2003. Следите за IronRuby для IIS от Microsoft. Но это просто еще не приготовлено.

А пока найдите ВРЕМЕННОЕ решение. Используйте mongrel и установите предварительную версию mongrel_service, чтобы заставить его работать с W2K8:

http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/1adf2a73c75c2884/38267c06198e282e?show_docid=38267c06198e282e

Я сделал это, чтобы Redmine заработал, и на данный момент это самое надежное решение. Я смог частично восстановить рассудок. Я перепробовал все статьи, которые вы нашли, и многое другое. Даже сам пытался приготовить IronRuby и заставил его работать с основами RoR, но с Redmine ничего не получилось. Mongrel работал и работает очень быстро, хотя не уверен, масштабируется ли он.

Почему бы не запустить виртуализированный экземпляр ОС Linux с помощью виртуального бокса или vmware?

Лучший вариант для развертывания приложения ROR rails в Windows - использовать jruby с жемчужиной Glassfish. Эта настройка позволяет очень легко использовать обратный прокси-сервер для прокси-запросов к Glassfish на сервер приложения. Я на самом деле в процессе написания инструкций для такой задачи в своем блоге и использовал информацию, содержащуюся в следующем сообщении в блоге, как трамплин.

http://danielhill.com.au/blog/2009/04/running-redmine-on-windows-with-jruby-on-rails-and-glassfish/

Поскольку я использую Windows 2003 и iis6, я использую Managed Fusion в качестве обратного прокси.

вот ссылка на статью Howto на rubyonrails.org, которая не работает во всех упомянутых вами статьях:

http://oldwiki.rubyonrails.org/rails/pages/HowToConfigureIIS7

Похоже, они переместили или запустили новый вики-сервер и не удосужились установить ссылку на старый или что-то подобное.

В руководстве предлагается использовать старую версию ruby ​​(1.8.6), тогда как новейшая версия (1.9.x) должна быть намного, намного быстрее. Я не читал все это, но, за исключением каких-либо технических проблем, обязательно используйте последнюю версию ruby ​​для максимальной производительности.

Я в одной лодке. Начал с FastCGI и возникли проблемы. Изменил направление и попробовал ARR, но так и не смог найти надежную документацию, и обе попытки закончились неудачей (одна из которых была близка к катастрофе).

Я на самом деле остановился на этом, потому что собираюсь попробовать это с ARR еще раз. Я скажу, что в прошлом я использовал Apache для обслуживания RoR, и он отлично работал. В моей последней среде, которая требовала IIS из-за приложений ASP.NET, я использовал Apache для направления трафика между моим статическим контентом, размещенным на Apache, моими приложениями .NET, размещенными в IIS, и моими приложениями rails, размещенными на наборе экземпляров mongrel. Эта настройка мне очень понравилась, но теперь я работаю со средой, основной целью которой является веб-сайт .NET, размещенный на IIS 7.5, и я очень разочарован объемом информации, доступной для правильной настройки. .