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’а.

One Comments to “nginx on rails 3”

  1. [...] что Nginx был установлен вместе с Passenger’ом, но его можно установить и просто [...]

Leave a Reply

(обязательно)

(обязательно)