Краткий ответ
Перейти с Apache / Nginx + Passenger. Passenger - это быстрый , надежный, простой в настройке и развертывании. Passenger был принят многими приложениями Rails, включая Shopify .
(источник: modrails.com )
Длинный ответ
Забудьте о CGI и FastCGI. В начале не было никаких других альтернатив, поэтому единственным способом запустить Rails было использование CGI или более быстрого браузера FastCGI. В настоящее время почти никто не запускает Rails под CGI. Последние версии Rails больше не предоставляют бегунов .cgi и .fcgi.
Mongrel был широко принятым решением, лучшей заменой CGI и FCGI. Многие сайты по-прежнему используют кластеры Mongrel и Mongrel, однако проект Mongrel практически мертв, и многие проекты уже перенесены в другие решения (в основном это Passenger).
Кроме того, архитектуру на основе Mongrel довольно сложно настроить, поскольку для нее требуется внешний прокси-сервер (thin, ngnix) и внутренняя архитектура, состоящая из нескольких экземпляров Mongrel.
Пассажир привлекает всеобщее внимание с момента его освобождения. Многие проекты перешли с Mongrel на Passenger по многим причинам, включая (но не ограничиваясь) простоту развертывания, ремонтопригодность и производительность. Кроме того, Passenger теперь доступен как для Apache, так и для Ngnix.
Самым простым способом использования Passenger является конфигурация Apache + Passenger. Одна установка Apache и несколько процессов Passenger.
Если вам нужна более высокая производительность и масштабируемость, вы можете использовать Ngnix в качестве внешнего прокси-сервера и перенаправлять все запросы Rails на несколько внутренних серверов, каждый из которых состоит из Apache + Passenger.
Здесь я не буду вдаваться в технические детали, это решение предназначено для использования в проектах Rails с высоким уровнем трафика.
Еще более сложные решения включают в себя комбинацию разных уровней, включая http прокси и серверы. Вы можете иметь представление о том, о чем я говорю, прочитав некоторые внутренние детали из GitHub и Heroku .
Прямо сейчас, Passenger - лучший ответ для большинства проектов Rails.