Последние несколько часов я безуспешно пытался запустить 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:
Я сделал это, чтобы 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, и я очень разочарован объемом информации, доступной для правильной настройки. .