nginx on rails 3
Тестов я не проводил, но что-то мне подсказывает, что Nginx будет побыстрее чем Apache. В принципе, настройка Nginx через Passenger под Rails 3 похожа на аналогичную Apache’а. Но для закрепления, я все равно здесь ее опишу.
Прежде всего нужно отметить, что устанавливать Nginx вручную или через YUM не надо, за вас это сделает Passenger, всему свое время.
установка Passenger
Сначала нужно установить сам гем Passenger’а.
1 | # gem install passenger |
Далее запускаем скрипт:
1 | # passenger-install-nginx-module |
Если вам не хватает некоторых нужных пакетов, скрипт, также как и в случае с апачем, подскажет что и как нужно установить. И после того как все зависимости будут устранены нужно повторно запустить этот скрипт.
В процессе выполнения скрипт спросит, про установку Nginx. На этот вопрос я рекомендую отвечать положительно, т.е. выбрать цифру 1 – скрипт сам скачает и установит Nginx. Далее будет задан вопрос про место установки, тут поступаем как хотим.
конфигурация и запуск
В конце скрипт укажет параметры, которые нужно вставить в конфиг Nginx. В результате чего конфиг (у меня /opt/nginx/conf/nginx.conf
) будет выглядеть примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ... events { worker_connections 1024;} http { passenger_root /usr/local/rvm/gems/ruby-1.9.2-p290/ gems/passenger-3.0.9; passenger_ruby /usr/local/rvm/wrappers/ ruby-1.9.2-p290/ruby; include mime.types; ... server { listen 80; server_name your-rails-domen.ru; root /var/www/rails/rails_app/public; passenger_enabled on; } ... } ... |
Насколько я понимаю, Nginx + Passenger всегда работает только под Production.
Запускать Nginx надо так:
1 | # /opt/nginx/sbin/nginx |
На этом, опять же грубая настройка Nginx под Rails 3 закончена. Но надо отметить, что эта грубая конфигурация Nginx’а будет производительней грубой настройки Apache’а.
[...] что Nginx был установлен вместе с Passenger’ом, но его можно установить и просто [...]