Настройка взаимодействия Rails и nginx при помощи Passenger в Ubuntu

Ruby on Rails – это программный стек, предоставляющий разработчикам фреймворк для быстрого создания различных веб-приложений.

Nginx – это легкий высокопроизводительный веб-сервер. Установив Phusion Passenger, можно легко настроить взаимодействие этих двух программ.

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

1: Установка RVM

Прежде чем приступить к выполнению руководства, нужно выполнить быстрое обновление системы:

sudo apt-get update

После этого нужно установить RVM, менеджер версий Ruby. Эта удобная программа позволяет устанавливать несколько версий Ruby на один сервер, но данное руководство эту функцию не охватывает.

Чтобы установить RVM, откройте терминал и наберите:

curl -L get.rvm.io | bash -s stable

После завершения установки запустите RVM.

source ~/.rvm/scripts/rvm

Для корректной работы RVM нужно установить некоторые его зависимости. Чтобы просмотреть список зависимостей, наберите:

rvm requirements

В появившемся на экране тексте найдите абзац:

Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Следуйте инструкциям и установите все необходимые пакеты:

rvmsudo /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

2: Установка Ruby

При помощи RVM установить Ruby очень просто.

rvm install 1.9.3

Готово! Ruby установлен. Однако теперь нужно задать версию Ruby по умолчанию, поскольку Ruby был установлен при помощи программы, которая имеет множество версий Ruby.

rvm use 1.9.3 --default

3: Установка RubyGems

Теперь нужно установить дополнительные библиотеки по имени RubyGems – еще один необходимый компонент Ruby on Rails. Для установки gem-ов можно снова использовать RVM; внесите в терминал следующую строку:

rvm rubygems current

4: Установка Rails

В завершение установите Rails. Для этого откройте терминал и введите:

gem install rails

Этот процесс займет некоторое время.

После завершения установки Ruby on Rails необходимо подключить эту программу к веб-серверу nginx.

5: Установка Passenger

Passenger – это простой и эффективный способ развертывания Rails на nginx или apache (в данном случае используется nginx).

Установив Ruby on Rails, приступайте к установке Passenger:

gem install passenger

6: Установка nginx

На данном этапе Passenger особенно необходим. Для установки Rails на веб-сервер nginx нужно ввести в терминал:

rvmsudo passenger-install-nginx-module

Сначала Passenger проверит наличие всех зависимостей. Если какого-либо пакта не хватает, Passenger сообщит об этом и предложит удобный способ его установки (например, при помощи менеджера apt-get в Ubuntu).

После загрузки зависимостей перезапустите установку. Для этого нужно снова внести в терминал:

rvmsudo passenger-install-nginx-module

Passenger позволяет выбирать автоматическую или пользовательскую установку. Нажмите 1, чтобы выбрать автоматическую установку, поскольку этот способ проще и быстрее.

7: Запуск nginx

На установку nginx, а также на настройку и оптимизацию его взаимодействия с Ruby on Rails у Passenger уйдет около 5-10 минут.

После завершения этого процесса Passenger сообщит об изменениях в конфигурационном файле nginx и способах развертывания Ruby on Rails на виртуальном сервере.

Остается только запустить nginx, поскольку этот веб-сервер не запускается автоматически.

sudo service nginx start

Теперь nginx запущен; направьте браузер на http://youripaddress/, и на экране появится приветственная страница «Welcome to nginx».

8: Взаимодействие Nginx и Rails

Установив все необходимые компоненты, откройте конфигурационный файл Nginx:

sudo nano /opt/nginx/conf/nginx.conf

Конфигурационный файл должен иметь такой вид:

server {
listen 80;
server_name example.com;
passenger_enabled on;
root /var/www/my_awesome_rails_app/public;
}

Запомните: чтобы создать проект rails, нужно выполнить следующие действия:

  • Установить NodeJs (если ранее этот компонент не был установлен):

sudo apt-get install nodejs

  • Создать новое приложение rails:

rails new my_rails_app

Tags: , , , , , , , , , ,

2 комментария

Добавить комментарий для Владимир Отменить ответ