Настройка Passenger с Ruby 1.9.2 + Rails 3.1.0rc4 и Ruby 1.8.6 + Rails 2.3.11 - PullRequest
0 голосов
/ 09 июля 2011

Как я могу настроить Passenger для запуска двух разных проектов в соответствии с этими требованиями?Первый проект - Redmine (Rails 2.3.11 и Ruby 1.8.6), а второй - мини-блог (Rails 3.1.0rc4 и Ruby 1.9.2).

ОС: Ubuntu Server

1 Ответ

1 голос
/ 10 июля 2011

Лично я предпочитаю nginx Apache, но вы можете сделать это с обоими.

Во-первых, плохие новости - вы не можете сделать это с помощью одной установки Apache или nginx - пассажир скомпилирован содин конкретный интерпретатор ruby, который вы используете.Хорошая новость заключается в том, что, поскольку у вас есть настройка rvm, управлять несколькими интерпретаторами ruby ​​тривиально.

Вам необходимо иметь две отдельные установки http-сервера (Apache или nginx) - по умолчанию будет одна и ответна порту 80, а другой должен будет ответить на другом порту (это не будет публично использоваться).Вам нужно скомпилировать пассажира для одного сервера ruby ​​и http (Apache или nginx), а другого пассажира для другого сервера ruby ​​и http (оба http-сервера могут быть Apache, оба могут быть nginx или если вы хотите сделать вещи «интересными»).Вы можете иметь один из каждого).Я настоятельно рекомендую использовать ruby ​​1.9 с вашим пассажиром по умолчанию (порт 80), поскольку любые новые приложения, которые вы запускаете на сервере, будут использовать ruby ​​1.9 + / rails 3 +.

Как только у вас будет каждый http-сервер + ruby ​​+ passengerПри настройке вам потребуется настроить вторичный сайт (работающий на веб-сервере not-port-80) в качестве прокси-сервера + обратный прокси-сервер с http-сервера порта 80 на вторичный http-сервер (например, порт 5000).

У меня есть эта конфигурация для нескольких разных клиентов (на разных производственных серверах), и у меня нет проблем.В одном случае мы используем автономные серверы-пассажиры для вторичной комбинации рубин / пассажир вместо полной установки nginx - это оказалось довольно стабильным, но создание функциональных сценариев инициализации, которые работали так, как мы хотели, было немного увлекательно.

...