Установка Ubuntu VPS хостинг для Ruby On Rails приложений

Давайте предположим, что вы создали миленький Ruby, Rails по применению на локальном компьютере развитии.

Теперь пришло время для применения идти в прямом эфире.Но там, где вы должны принимать это приложение?Вы знаете, что вы (или ваш клиент) не так много денег, чтобы тратить, и так вы посмотрите на варианты.Вы заметите сразу, что управляемого хостинга приложений, как правило, довольно дорого. Heroku является хорошим вариантом, но это не дает вам место для хранения, и что более важно, в нем отсутствует полный контроль.К счастью, у вас есть подходящая альтернатива: VPS.

Этот урок поможет вам пройти через шаги, необходимые для создания Ubuntu VPS, которая способна хостинг (несколько) Ruby на Rails приложений.Этот учебник построен на часть 1, “ Настройка Ubuntu Локальный компьютер Разработка ПО для Ruby On Rails“. Мы рекомендуем вам следовать этой части первую и использовать тот же Ubuntu локальной машине развития, который вы создали, чтобы пройти через эту часть.

Screenshot

Подождите … VPS

VPS стоит для виртуальных частных серверов.Она представляет собой виртуальную машину, предлагаемые интернет-компаний хостинга.С VPS, Вы получаете свой собственный виртуальный кусочек недвижимости, который живет с другим виртуальным ломтики на одном физическом сервере.Эта виртуальная машина способна работать под управлением операционной системы, веб-сервера и базы данных программного обеспечения.VPS поставляется с полным контролем (или корневой доступ) и, с большинством хостинговых компаний, по очень разумной цене.И потому, что VPS может работать несколько Рубин на рельсы приложения, расходы на VPS может быть spread.

Быстрый Overview

В этом уроке мы будем входить в VPS, добавить нового пользователя и настроить SSH соединения так, чтобы VPS является более безопасным.Затем мы установим Руби и RubyGems с помощью диспетчера Ruby Version (RVM) сценарий.В свою очередь, мы будем устанавливать рельсы и Capistrano использования RubyGems.И тогда мы установим пассажиров и заботиться о установка сервера Nginx Web.VPS будут также представлены PostgreSQL database.

На момент написания статьи, последней версии Ubuntu Server 10.10, Ruby 1.9.2 и Rails 3.0.7.Эти шаги были также протестированы на Ubuntu Server 10.04 и предстоящих сервера Ubuntu 11.04 release.

В этом уроке мы будем широко использовать Linux в командной строке.Краткий глоссарий в конце этого учебника описывается соответствующей Linux commands.

Up And Running

Во-первых, найти подходящего хозяина и приобрести VPS (если вы не один уже есть).Убедитесь, что хозяин позволяет устанавливать Ubuntu на VPS, большинство хостинговых компаний будут, потому что он является популярным выбором для VPS.Я выбрал 512 Мб VPS, котораядолжно быть достаточно для запуска нескольких небольших Рубин на рельсы applications.

Для тех, кто не VPS, Вы можете следовать вдоль использования программного обеспечения виртуализации, как VirtualBox.VirtualBox с открытым исходным кодом и доступна в Центре приложений Ubuntu или через официальный website.Убедитесь, что при настройке виртуальной машины, сетевой адаптер установлен в “мостовом” (Right clickSettingsNetworkAttached to: Bridged Adapter).Таким образом, виртуальная машина получит собственный IP-адрес в локальной сети.Просто установите новую копию Ubuntu Server, выберите “OpenSSH сервер” во время установки, и пропустите следующие два шага.Вы можете войти в систему непосредственно через окно VirtualBox, или, если вы знаете IP-адрес сервера, через SSH.

Войти в панель управления вашим VPS хозяина, и установить новую копию сервера Ubuntu.Убедитесь в том, чтобы представить безопасный “корень” пароль и загрузите VPS.

Войти в свой VPS

Мы будем входить в наши VPS использованием SSH.SSH расшифровывается как Secure Shell и является сетевым протоколом.Это позволяет компьютерам общаться через зашифрованный connection.

Я полагаю, вы знаете IP-адрес вашего VPS (если нет, то найдите его в панели управления вашего хозяина), и что “корень” по умолчанию пользователь, и что вы знаете, “корень” пароля, и что SSH являетсяinstalled.

При использовании доменное имя VPS является технически возможным, мы войти, используя IP-адрес VPS.Настройка доменное имя вашего VPS очень контекста и выходит за рамки этой tutorial.

Теперь откройте окно терминала на ваш локальный компьютер Ubuntu развития и войти в свой VPS:

$ ssh default-user@vps-ip-address

Например:

$ ssh root@123.456.7.890

Вы, возможно, придется ввести yes, а затем обеспечить “корневые” пароль.В одну секунду, вы должны быть зарегистрированы in.

Защитите VPS

“. Корень” По соображениям безопасности, вы должны сделать как можно меньше, как же так, мы будем создавать новых пользователей и назначать административные права на него.Для использования административного права, пользователь должен явно вызывать “Суда” команда, которая добавляет уровень безопасности для администрирования системы.Во-первых, создайте нового пользователя:

$ adduser your-user-name

Например:

$ adduser johndoe

Обеспечение безопасных паролей (заполнение реквизитов пользователя не является обязательным).Теперь, чтобы новый пользователь является членом “администратора” группа, которая предоставляет пользователю административных прав (путем вызова команды Суда)

$ adduser your-user-name group-name

Например:

$ adduser johndoe admin

Обеспечение безопасности SSH (сервер) конфигурация следующего шага.Потому что каждая система Unix имеет “корень” пользователя по умолчанию, вы должны отключить “корень” из вход с использованием SSH.Это делает систему менее уязвимой к грубой силе attacks.

$ nano /etc/ssh/sshd_config

Сделать PermitRootLogin до no, и перезагрузите SSH конфигурации, чтобы изменения вступили в силу.Хотя “корень” будет отключен от входа в будущем, нынешние “корень” пользователь соединение будетmaintained.

$ /etc/init.d/ssh reload

Теперь выйдите из вашего VPS как “корень”, а затем снова войти в качестве нового user.

$ logout
$ ssh your-user-name@vps-ip-address

Например:

$ ssh johndoe@123.456.7.890

Система является более безопасной, теперь, когда новый пользователь был создан и “корень” был отключен от входа через SSH.Некоторые из предстоящих шагов повторить шаги, которые мы приняли в части 1 данного руководства, а также получение нас в курсе и установка RVM, Ruby, RubyGems и Rails.

Получите до Date

Теперь, давайте в актуальном состоянии.Первые три команды ниже, в свою очередь, обновить списки пакетов, обновление уже установленных пакетов, и установить новые пакеты и удалять устаревшие пакеты.Вы будете в конечном итоге с VPS, который полностью в курсе.Последняя команда будет перезагрузить VPS, которая является хорошей практикой после обновления много packages.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ sudo reboot

Подготовка Вашего VPS для RVM

Подождите минуту или около того для VPS для перезагрузки.Как только она, снова войти в VPS от терминала window.

$ ssh your-user-name@vps-ip-address

Например:

$ ssh johndoe@123.456.7.890

Сценарий RVM необходим пакет для того, чтобы быть установлена, а именно Curl и Git.Curl является инструментом для передачи данных с использованием ряда протоколов (таких, как HTTP и FTP).И Git является “свободным и открытым исходным кодом, распределенная система контроля версий, предназначенная для все, от мелких до очень крупных проектов с высокой скоростью и эффективностью». Git является the выбор для управления версиями одним из самых Рубин на Rails разработчиков.

$ sudo apt-get install curl
$ sudo apt-get install git-core

Установить RVM

Теперь мы можем установить RVM. RVM “. Инструмент командной строки, что позволяет легко устанавливать, управлять и работать с несколькими средами Ruby, от переводчиков для набора Самоцветы” выступает за Manager версии Ruby, и следующая команда берет на себя установку скрипта.RVM будет установлена ​​в домашний каталог текущего вошедшего в систему пользователя:

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

RVM installation

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

$ cd
$ nano .bashrc

Добавить следующие строки в конце Баш пользователей profile.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Загрузить сценарий в текущей сессии оболочки перезагрузки Баш профиле пользователя.Таким образом, rvm команда будет available.

$ source .bashrc

Вы можете проверить, является ли сценарий RVM работает, введя следующую команду:

$ type rvm | head -1

Если все настроено правильно, то оболочка должна вернуться, что "РВМ является функцией.« Если этого не происходит, перейдите к RVM сайт и посмотреть в разделе " Устранение неполадок Install ", чтобы увидеть, как это сделать work.

Подготовка Вашего VPS для Ruby и RubyGems

RVM поставляется с удобным инструментом для наблюдения зависимости необходимые для компиляции и установки Руби и RubyGems от source.

$ rvm notes

Посмотрите на зависимости, перечисленные в рамках обычной версии Ruby, и установить их.Некоторые пакеты могут быть уже installed.

$ sudo apt-get install build-essential bison openssl
libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev
libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3
libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev

Установка Ruby и RubyGems Использование RVM

С одной стороны, мы имеем Ruby.Это "динамичным, открытым исходным кодом языка программирования с упором на простоту и производительность.Он имеет элегантный синтаксис, что является естественным для чтения и легко писать "

С другой стороны, у нас есть RubyGems.Это «упаковка премьер Рубин системы.Это обеспечивает стандартный формат для распространения Рубин программ и библиотек, простой в использовании инструмент для управления установкой Gem пакеты, утилита Gem сервер для обслуживания Gems с любого компьютера, где RubyGems установлен, и стандартный способ публикации Gem пакетов. "

Мне нравится RVM команды, описанной выше, есть также команду, чтобы увидеть, какие версии Ruby, которые доступны для установки с помощью RVM.Обратите внимание на имеющиеся Рубин versions.

$ rvm list known

Установка обычной версии Ruby.Потому что Руби компилируется из исходного кода, это может занять while.

$ rvm install 1.9.2

Compiling Ruby

Начало использования установленной Ruby, и установить эту версию как default.

$ rvm --default use 1.9.2

Дата Руби и RubyGems версии, чтобы увидеть, были ли они надлежащим образом installed.

$ ruby -v
$ gem -v

При необходимости вручную обновлять RubyGems и камни, possible.

$ gem update --system
$ gem update

Установка Rails Использование RubyGems

Rails Gem сама осталось только поставить на Ruby On Rails.Установка это один из самых простых частей этого учебника.Он устанавливается с помощью RubyGems, ссылаться на gem команды.По окончании установки, проверьте версию Rails ли Rails была должным образом installed.

$ gem install rails
$ rails -v

Versions

Установка пассажирских Использование RubyGems

Phusion Passenger "делает развертывание Ruby, веб-приложений, таких, как построен на революционной Рубин на Rails веб-фреймворк, на одном дыхании.« Это модуль для запуска Рубин на Rails приложений в сочетании с веб-сервером, таких какNginx.

Вы можете установить пассажирский использования RubyGems, а затем проверить пассажирские версии, чтобы увидетьПассажирский ли было правильно installed.

$ gem install passenger
$ passenger -v

Установка Nginx и настроить пассажирского Module

Nginx ". HTTP и обратный прокси-сервер, а также почтовый сервер, прокси-сервера", произносится как "двигатель х", является Проще говоря, это универсальный веб-сервер, что является низким по resources.

Nginx and Passenger

Для того, чтобы Nginx пассажирского установки, необходимо установить зависимость first.

$ sudo apt-get install libcurl4-openssl-dev

Вы можете приступить к установке и настройке Nginx Пассажирский модуль с помощью следующей команды.Обратите внимание, что мы используем rvmsudo вместо sudo, потому что регулярный sudo не работает на этом маленьком program.

$ rvmsudo passenger-install-nginx-module

Программа будет проверять зависимостей, а затем спросить, хотите ли вы программу для загрузки кода Nginx источника или скачать его себе.Выберите опцию 1 (есть программа скачать Nginx исходным кодом для вас), и нажать "Enter". Можно оставить все настройки по умолчанию, так что просто сделать свой путь через установку process.

В конце концов, вам будет представлен с двумя экранами.Первая показывает, как настроить Nginx для работы с Пассажира; это уже было сделано в рамках программы.Вторая показывает, как настроить Nginx для развертывания приложений.Мы вернемся к этому примеру позже в tutorial.

Вы можете начать Nginx рукой ...

$ sudo /opt/nginx/sbin/nginx

... Но с помощью сценария запуска является предпочтительным.(Потому что Nginx компилируется из исходного кода, она не приходит с запуска скрипта.) При запуске сценария, мы можем не только начать Nginx, а также остановить, перезагрузить и перезапустить его.Кроме того, Nginx будет запущена автоматически, если VPS перезагрузки неожиданно.Таким образом, нам нужно скачать немного запуска скрипта для Nginx в домашний каталог использовании Wget.Wget это простая программа командной строки, которая позволяет скачивать файлы из Интернета.Вам не нужно, чтобы понять остальным командам.Они просто переместить сценарий в нужное место, сделать его исполняемым и убедитесь, что Nginx начинается, когда система boots.

$ cd
$ wget http://www.smashingmagazine.com/files/nginx
$ sudo mv nginx /etc/init.d/nginx
$ sudo chmod +x /etc/init.d/nginx
$ sudo /usr/sbin/update-rc.d -f nginx defaults

Отныне, следующие команды могут быть использованы для запуска, остановки, перезагрузить и перезапустить Nginx.

$ sudo /etc/init.d/nginx start
$ sudo /etc/init.d/nginx stop
$ sudo /etc/init.d/nginx reload
$ sudo /etc/init.d/nginx restart

Установить PostgreSQL

PostgreSQL ". Сложные объектно-реляционной СУБД, поддерживающих SQL почти все конструкции, включая подзапросы, операции и ...

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.