Внедряването на релси-заявление до пътнически и Nginx в CentOS 6

Като сървъри в сигурни центрове за данни в Европа. Open облак VPS / VDS сървър на бърз SSD за 1 минута!

Най-добър уеб хостинг:
- ще предпазят данните от неоторизиран достъп в защитена Европейския център за данни






- ще плати най-малко в Bitcoin.
- Той ще постави вашата дистрибуция

- защита от DDoS-атаки
- безплатно архивиране
- Uptime 99,9999%
- DPC - TIER III
- ISP - етап I

Подкрепа в руските 24/7/365 работи с юридически и физически лица. Сега трябва 24 ядро ​​и 72 Gb RAM. Моля ви!

Нашите конкурентни цени доказват, че най-евтиният хостинг, че не знаеш!

За броени минути, изберете конфигурация, заплати и CMS на VPS е готова.
Връщане на парите - за 30 дни!

Банкови карти, електронни валута през QIWI терминали, Webmoney, PayPal, Novoplat и други.

Задайте въпрос 24/7/365 поддръжка

Намерете отговорите в нашата база данни, както и да отговарят на препоръките на

Цент. рубин

Това ръководство ще ви помогне да се създаде стабилна основа за разгръщане на Rails приложения на CentOS система с един прост и продуктивен сървър приложение Phusion Пътнически и Nginx HTTP сървър.

Сървъри и тяхната роля в разгръщането на приложения

Phusion Пътнически - е продуктивен сървър приложение, което има за цел да се справят с приложения и действа като вторичен входна точка за входящи заявки.

Nginx - многофункционален HTTP уеб сървър, който може да служи статични файлове (например изображения, текстови файлове и т.н.) и да изпълнява балансиране на натоварването. Той действа като първа точка на влизане на всички искания и ги предава към сървъра за обработка на пътниците и връща отговор.

сървър за приложения Phusion Пътнически

Много разработчици препоръчват използването на Phusion пътниците (или mod_rails) в подкрепа на Rails приложения. Той е зрял пълнофункционален сървър, който отговаря на всички изисквания на разгръщане и не изисква сложни настройки. Това елиминира необходимостта да се използва прокси сървър.

Пътник е много популярен и широко използван в производството.

Пътнически версия на отворен код осигурява Multi-метод с единична резба режим, както и търговската версия поддържа еднонишкови и многонишковите режими.

Забележка. Повече информация за пътниците може да бъде намерена на сайта на проекта.

Обратната прокси сървър Nginx

Nginx - уеб сървър с висока производителност и обратната прокси. Nginx лек, лесен за употреба, нейните функции може да бъде удължен с плъгини. Благодарение на своята архитектура, Nginx може да се справи с огромния брой заявки.

Забележка. Повече информация за Nginx може да бъде намерена на сайта на проекта.

Подготовка на сървъра

Първо трябва да се подготви за околната среда за разполагане на приложения:

  • Ъпгрейд на операционната система;
  • Определете основните инструменти за разполагане;
  • За да инсталирате Ruby, Rails и допълнителни библиотеки;
  • Пътнически инсталирате сървъри и Nginx.

Обновяване на операционната система

За да актуализирате CentOS, тип:

Тази команда ще актуализира всички основни приложения CentOS.

Задайте разполагане инструменти:

Yum groupinstall -Y "инструменти за развитие"

В по-новите версии на системата може да се използва:

Yum groupinstall -y развитие

Този инструмент съдържа всичко необходимо: ССЗ, да направи, Automake, Binutils, Git, и т.н.

Някои от най-необходимите инструменти не са в официалните хранилища CentOS. За да ги получите, трябва да добавите EPEL хранилище.

След това е необходимо да се актуализира системата отново:

За да си взаимодействат Пътнически и Nginx нужда библиотека къдроглавият раз, но за Rails - SQLite-раз.

Yum инсталирате -y къдроглавият раз нано SQLite-раз-раз libyaml







Инсталиране на Ruby и Rails

За да изтеглите и инсталирате мениджъра на Ruby пакет, използвайте версията на RVM. За да инсталирате RVM, въведете:

свиват -L get.rvm.io | Баш -s стабилен
източник /etc/profile.d/rvm.sh

За да инсталирате Ruby използване RVM, въведете:

RVM презареждане
RVM инсталирате 2.1.0

RubyGems пакет ще се инсталира другите инструменти Ruby (например релси рамкови).

Yum инсталирате -Y nodejs

За да изтеглите и инсталирате релси, въведете:

скъпоценен камък инсталирате bundler релси

Инсталиране на сървър

Забележка. Ако сървърът има по-малко от 1 GB RAM, което трябва да се добави за размяна на файлове. Инструкции могат да бъдат намерени тук.

Инсталиране Phusion Пътнически

хранилището на системата могат да бъдат намерени пакети Phusion пътниците, но те са много остарели. Тъй като сървърът на приложения е по-добре да се инсталира с помощта на RubyGem.

скъпоценен камък инсталиране на пътници

За да се уверите, че инсталацията е била успешна, стартирайте:

Командата трябва да се върне:

Phusion Пътнически Standalone, най-лесният начин за разполагане на Ruby уеб приложения.
Налични команди:
пътнически започне Старт Phusion Пътнически Самостоятелен.
.

Инсталиране на Nginx

Обикновено, Nginx се монтират с помощта на управителя на стандартната партида (Yum) или EPEL хранилището. Въпреки това, в този случай, Nginx няма да бъде в състояние да си взаимодействат с пътника. За да поправите това, трябва да инсталирате Nginx от изходния код, тя предварително се адаптира.

За да започнете съставянето Nginx код с вградени пътниците, стартирайте:

Програмата ще ви подкани да изберете езика за програмиране (в този случай, Ruby):

употреба , за да изберете.
Ако менюто не се показва правилно, гарантира, че вашият терминал поддържа UTF-8.
‣ ⬢ Ruby
⬢ Python
⬢ Node.js
⬡ Meteor

В следващия прозорец, изберете опция 1:

1. Да: изтегляне, компилирате и инсталирате Nginx за мен. (Препоръчително)
Най-лесният начин да започнете. А фондова Nginx 1.4.4 с пътниците
подкрепа, но без други допълнителни модули на трети лица, ще бъде
инсталиран за вас в директория по ваш избор.

За да продължите, натиснете Enter.

Изходният код ще бъде изтеглен, компилирате и инсталирате с подкрепата на пътниците.

Подготвяне на заявления за разполагане

В този раздел ще намерите разполагането на прости инструкции за кандидатстване Руби на релси. За да се разгърне за кандидатстване, изтеглите и инсталирате код базови зависимости.

Създаване на просто приложение / Изтегляне код

За да започнете, създаде най-простото прилагане релси в собствената директория. За да направите това, изпълнете командата:

# Създаване на заявление по образец Rails
CD / Var
защитен режим WWW
CD WWW
релси нов my_app
# Въведете директорията с приложенията
CD my_app
# Създаване на ресурсите проба
релси генерират заглавие скеле Задача: низ бележка: текст
# Създаване на база данни проба
RAILS_ENV = развитие гребло db: мигрират

За да се гарантира, че се изпълнява приложението, отворете указателя за кандидатстване и тече един прост сървър на приложения:

За да изтеглите изходния код на приложението, да се използва SFTP или FileZilla.

скрипт за управление на Nginx

Сега трябва да се напише един прост скрипт за Nginx сървър.

Копирайте и поставете следния код във файла:

#! / Bin / ш
. /etc/rc.d/init.d/functions
. / И т.н. / sysconfig / мрежа
[ "$ МРЕЖИ" = "не"] изход 0
Nginx = "/ изберат / Nginx / sbin / Nginx"
прог = $ (basename $ Nginx)
NGINX_CONF_FILE = "/ изберат / Nginx / конф / nginx.conf"
lockfile = / Var / заключване / subsys / Nginx
започнете () [-x $ Nginx] || изход 5
[-f $ NGINX_CONF_FILE] || излизане 6
ехо -n $ "Стартиране $ прог:"
демон $ Nginx -C $ NGINX_CONF_FILE
retval = $?
ехо
[$ Retval еквивалент 0] докосване $ lockfile
връщане $ retval
>
спре () ехо -n $ "Спирането $ прог:"
killproc $ прог -QUIT
retval = $?
ехо
[$ Retval еквивалент 0] RM-F $ lockfile
връщане $ retval
>
рестартиране () configtest || върне $?
спиране
начало
>
презареди () configtest || върне $?
ехо -n $ "Презареждане $ прог:"
killproc $ Nginx -HUP
RETVAL = $?
ехо
>
force_reload () рестартиране
>
configtest () $ Nginx -t-с $ NGINX_CONF_FILE
>
rh_status () статус $ прог
>
rh_status_q () rh_status> / Dev / нула 2> 1
>
случай "$ 1" в
започнете)
rh_status_q изход 0
$ 1
;;
стоп)
rh_status_q || изход 0
$ 1
;;
рестартиране | configtest)
$ 1
;;
презареждане)
rh_status_q || излизане 7
$ 1
;;
сила презареждане)
force_reload
;;
статус)
rh_status
;;
condrestart | опитайте рестарт)
rh_status_q || изход 0
;;
*)
ехо $ "Употреба: $ 0"
изход 2
ESAC

Запазване и затворете файла.

Направете го изпълним:

коригират + х /etc/rc.d/init.d/nginx

Конфигуриране на Nginx

Сега трябва да се създаде виртуален хост Nginx (или сървър единица).

Отворете конфигурационния файл:

Намерете секцията HTTP <и добавьте в него директивы passenger_root и passenger_ruby.

# Само за целите на развитието.
# За производствена среда, го съответно (т.е. производство)
# Премахване на този ред, когато качите действително прилагане.
# За * само анализ * цели.
passenger_app_env развитие;


# Местоположение / # корен HTML;
# Index index.html index.htm;
#>
.

Посочете коренната директория на приложението:

корен / Var / WWW / my_app / публичен;
passenger_enabled върху;

Запазване и затворете файла.

Проверете състоянието на Nginx:

За да тествате приложението, насочете браузъра си към:

Забележка. Повече информация за настройка на Nginx сървър може да бъде намерена тук.