Лично я предпочитаю 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 - это оказалось довольно стабильным, но создание функциональных сценариев инициализации, которые работали так, как мы хотели, было немного увлекательно.