Обычно я использую nginx в качестве внешнего интерфейса, а Apache / Passenger - в качестве внутреннего. Ngingx передает все запросы Rails к Apache, но обрабатывает весь статический контент. Посмотрите примеры на англоязычном nginx wiki . Вот небольшая выдержка для конфигурации nginx:
server {
listen 80;
server_name www.domain.com;
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|js)$ {
root /path/to/static/assets/dir;
}
location / {
proxy_pass http://127.0.0.1:81;
}
}
Поэтому Apache прослушивает порт 81 для обработки запросов Rails, передаваемых через nginx, и позволяет nginx доставлять статический контент. Предполагается, что nginx не только быстрее, чем Apache, доставляет статический контент, но также разгружает ваше Rails-приложение для каждого изображения, таблицы стилей, JavaScript или любого другого статического контента.