Развертывание Rails, связка exec rails с Nginx и Passenger - PullRequest
0 голосов
/ 13 июня 2018

Я недавно развернул приложение rails на экземпляре ec2 в AWS.Это был мой первый раз, когда я делал такое развертывание.

Я читал вокруг, и большинство источников, кажется, предлагают развертывание рельсов с Nginx и Passenger.

Сейчас я запускаю bundle exec rails s -p 80 -b 0.0.0.0, и мое приложение работаетздорово, когда я захожу на свой ec2 url.

Мне было интересно, каковы плюсы и минусы просто запуска bundle exec rails s -p 80 -b 0.0.0.0 VS с использованием Nginx и Passenger?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

Существует множество преимуществ использования NGINX и Passenger для вашей производственной среды по сравнению с rails s.

Если вы используете стандартный WEBrick::HTTPServer для себя rails s, вы заметите увеличение производительности, поскольку NGINX и Passenger высоко оптимизированы для этого типа вещей.

NGINX предоставляет несколько настроекфайлы, в которых вы можете управлять виртуальными хостами и использовать его в качестве обратного прокси-сервера (http://nginx.org/en/docs/beginners_guide.html).. Он очень быстр в обслуживании статических ресурсов. Как уже упоминалось - он предоставляет несколько опций (балансировка нагрузки, опции gzip, SSL и ненастройки защищенного блока сервера, кэширование, запросы на проксирование).

Использование NGINX с Passenger чрезвычайно эффективно, поскольку вы можете включить Passenger в конфигурацию NGINX, чтобы автоматически запускать ваш сервер с набором параметров, которые вам нужны с Passenger.несколько конфигураций, которые вы можете использовать, например, максимальное / минимальное количество разветвленных процессов / потоков, которые могут иметь ваше приложение, и ограничения ОЗУ. Список всех из них https://www.phusionpassenger.com/library/config/nginx/reference/. Он также может перезапустить ваше приложение.когда он падает, что также является большим преимуществом.

0 голосов
/ 13 июня 2018
  1. Nginx и пассажир помогут сбалансировать нагрузку, где вы больше не сможете запросить пассажира к серверу.
  2. Если пассажир умер, nginx запустит нового пассажира.
  3. Для развертывания nginx ипассажир - отличный способ, запуск сервера с 'rails s' и номером порта не подходит для разработки, а не для развертывания.
  4. Https и другие дополнительные опции доступны с nginx.
  5. веб-сервер и сервер приложений - хорошая комбинация для развертывания.
...