Установка и использование mod_rails (Passenger)

mod_rails (также известен как Phusion Passenger) - модуль для Apache, позволяющий осуществлять максимально простое размещение Rails-приложений. Установка модуля занимает буквально несколько минут, после этого приложение может быть размещено практически без осуществления какой-либо настройки Apache, буквально одной строчкой конфигурации.

Установка

Самый простой способ установки mod_rails - через использование Ruby Gems. Для установки необходимо выполнить из под рута две команды:

gem install passenger
passenger-install-apache2-module
И далее следовать инструкциям интерактивной программы инсталляции.

Размещение приложения

Для размещения приложения достаточно в конфигурационном файле Apache создать виртуальный хост и указать в качестве DocumentRoot директорию public Rails-приложения. Например:

<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
</VirtualHost>

Если же приложение надо разместить не в корне домена, а в какой-то директории, то проблема решается добавлением одной директивы RailsBaseURI, например, если уже имеется следующая настройка домена:

<VirtualHost *:80>
ServerName www.phusion.nl
DocumentRoot /websites/phusion
</VirtualHost>
То для того, чтобы разместить прилоожение в директорию Rails, необходимо создать символическую ссылку из /websites/phusion/rails в public-директорию приложения:
ln -s /webapps/mycook/public /websites/phusion/rails
Затем, в конфигурацию хоста добавить строку:
RailsBaseURI /rails
Итого, полная конфигурация будет:
<VirtualHost *:80>
ServerName www.phusion.nl
DocumentRoot /websites/phusion
RailsBaseURI /rails                # Новая строка, указывающая путь к приложению
</VirtualHost>

Перезапуск приложения

Приложение может быть перезапущено двумя способами:

  • Перезапуск Apache
  • Создание или модификация файла tmp/restart.txt в директории приложения

Конфигурация

Модуль может быть сконфигурирован различными директивами. Наиболее полезные из них:

  • RailsEnv - задает среду выполнения приложения. Значение по умолчанию: production.
  • RailsBaseURI - задает директорию, в которую размещается приложение. По этому адресу должна находиться директория public приложения.
  • RailsRuby - задает интерпретатор, который будет использован для выполнения приложения. Имеет смысл, если у Вас установлено несколько интерпретаторов Руби.
  • RailsMaxPoolSize - максимальное количество запущенных экземпляров приложения. Оптимально значение зависит от конфигурации системы. Значение по умолчанию: 20.
  • RailsPoolIdleTime - максимальное время бездействия экземпляра приложения в секундах. По истечении этого времени экземпляр приложения будет остановлен для экономии памяти. Разработчики рекомендуют в качестве оптимального значения 2*x, где x - время, которое пользователь тратит на просмотр страницы. Значение по умолчанию: 120.

Ссылки

Больше информации можно найти:

 Подписаться на RSS

 #  #  #  #  #  #  #  #  #  #

Добавить комментарий