2015-09-26 3 views
5

Я знаю, что nginx - это веб-сервер, а пассажир - сервер приложений. Мы можем просто запуститьЗачем вам nginx с пассажиром для RoR?

passenger start 

Чтобы запустить наше приложение для рельсов, и все работает нормально. Но есть много сообщений о настройке nginx как обратного прокси.

Было бы полезно, если бы специалист по этому сломал каждый компонент и объяснил, зачем нужен nginx и пассажир вместе, и роль каждого.

Вопросы для размышлений:
- Какова основная цель обертывания пассажира вокруг nginx, в отличие от бегущего пассажира отдельно?
- Плохо ли просто управлять пассажиром отдельно?
- Запускает ли запущенный «пассажирский старт» собственный сервер nginx?

ответ

0

Я не эксперт веб-серверов, хотя я всегда развертываю свои приложения Rails с помощью Passenger за Apache/Nginx.

Позволь мне перечислить несколько преимуществ такого подхода (там может быть больше вариантов и причины делать это):

  1. Passenger является автономным сервером. Это означает, что он предназначен для работы на одной машине. Вы не можете сбалансировать работу двух пассажирских серверов так, как вы можете, с Apache/Nginx.
  2. Вы можете запускать только одно приложение на данной машине с помощью Passenger.
  3. Управление статическими активами может осуществляться с помощью Nginx, без попадания пассажира.
  4. Это очень просто для злоумышленника сделать ваш сайт незащищенным, отправив слишком много запросов. Nginx/Apache дает вам возможность блокировать определенные IP s.
+2

Автор пассажира здесь. 1) Это неверно, вы можете легко загрузить баланс между экземплярами Пассажира. Используйте любой стандартный балансировщик нагрузки HTTP. 2) Это также неверно, Пассажир явно разработан для многоуровневости. Это на самом деле сервер приложений * только * Ruby с поддержкой многоуровневости. 3) Пассажир уже настроил Nginx таким образом, что статические активы напрямую обслуживаются от Nginx, не ударяя Пассажира или приложение. – Hongli

5

Все ваши вопросы отвечают в официальной документации для пассажиров.

  • Зачем нужен Пассажир, и как это связано с Nginx, и как Пассажир подходит по отношению к остальной части стека: Fundamental Concepts
  • Как Passenger Standalone отличается от Пассажира для Nginx: Integration modes
  • ли это Плохо просто запустить пассажир отдельно? No, as described in Integration modes
  • Выполняет ли запуск «пассажирского старта» загрузку собственного сервера nginx? Да, по умолчанию. У пассажирского автономного устройства также есть встроенный двигатель, который не загружает сервер Nginx для специализированных конфигураций: https://www.phusionpassenger.com/library/config/nginx/optimization/#switching-to-passenger-standalone-with-the-builtin-http-engine
+0

FYI: Хунли является соучредителем Phusion, разработчиком приложения для пассажиров - https://github.com/FooBarWidget –

Смежные вопросы