Implementarea șine-cerere pentru pasageri și Nginx în CentOS 6

Având servere în centre de date sigure din Europa. Deschideți nor VPS server / VDS pe un SSD rapid în 1 minut!

Cel mai bun Web Hosting:
- va proteja datele împotriva accesului neautorizat într-un centru european de date securizat






- va plăti cel puțin în Bitcoin.
- Acesta va pune distribuție

- protecție împotriva atacurilor DDoS-
- gratuit de backup
- Uptime 99,9999%
- DPC - TIER III
- ISP - NIVELULUI I

Suport în 24/7/365 rusă lucra cu persoane juridice și persoane fizice. Ai nevoie de acum 24 de bază și 72 GB RAM. Vă rog!

Tarifele noastre competitive dovedesc că cele mai ieftine de găzduire pe care nu a știut!

O chestiune de minute, selectați configurația, să plătească și CMS pe un VPS este gata.
Bani Înapoi - 30 de zile!

Carduri bancare, moneda electronică prin intermediul unor terminale QIWI, Webmoney, PayPal, Novoplat și altele.

Pune o intrebare 24/7/365 Suport

Găsiți răspunsurile în baza noastră de date, și să respecte recomandările din

CentOS. rubin

Acest ghid va ajuta pentru a crea o bază solidă pentru implementarea aplicațiilor șine pe sistemul CentOS cu un simplu și productiv server de aplicații Phusion pasageri și Nginx HTTP-server.

Servere și rolul lor în implementarea aplicațiilor

Phusion pasageri - este un server de aplicații de producție, care este proiectat să se ocupe de aplicații și acționează ca un punct de intrare secundar pentru cererile primite.

Nginx - un HTTP server de web multifuncțional, care poate servi fișiere statice (cum ar fi imagini, fișiere text etc.) și de a efectua echilibrarea încărcării. Acesta acționează ca primul punct de intrare a tuturor cererilor și le transmite la serverul de procesare pasageri și returnează un răspuns.

server de aplicații Phusion pasageri

Mulți dezvoltatori recomanda utilizarea Phusion de pasageri (sau mod_rails) pentru a sprijini Rails. Este un server matur cu caracteristici complete, care îndeplinește toate cerințele de desfășurare și nu necesită setări complicate. Aceasta elimină necesitatea de a utiliza un server proxy.

Pasager este foarte popular și utilizat pe scară largă în producția.

Versiunea de pasageri a open source oferă un mod de un singur fir multi-proces, iar versiunea comercială suportă modurile de un singur fir și multi-threaded.

Notă. Mai multe informații despre pasageri pot fi găsite pe site-ul proiectului.

Reverse server proxy Nginx

Nginx - un server web de înaltă performanță și proxy invers. Nginx ușor, ușor de utilizat, funcțiile sale pot fi extinse cu plugin-uri. Datorită arhitecturii sale, Nginx se poate ocupa un număr foarte mare de cereri.

Notă. Mai multe informații despre Nginx pot fi găsite pe site-ul proiectului.

Pregătirea serverului

Mai întâi trebuie să se pregătească mediul pentru implementarea aplicațiilor:

  • Modernizarea sistemului de operare;
  • Setați instrumentele de bază pentru implementare;
  • Pentru a instala Ruby, Rails, și biblioteci suplimentare;
  • Pasager instalează servere și Nginx.

Actualizarea sistemului de operare

Pentru a actualiza CentOS, de tip:

Această comandă va actualiza toate aplicațiile de bază CentOS.

Set instrumente de implementare:

yum groupinstall 'instrumente de dezvoltare' -Y

În versiunile mai noi ale sistemului poate fi utilizat:

yum groupinstall dezvoltare -y

Acest set de instrumente conține tot ce ai nevoie: GCC, face, Automake, binutils, git, etc.

Unele dintre instrumentele necesare nu sunt în depozitele oficiale CentOS. Pentru a le obține, trebuie să adăugați Epel depozit.

Apoi, trebuie să actualizați sistemul din nou:

Pentru a interacționa și de pasageri Nginx nevoie de o bibliotecă buclat-devel, dar pentru șine - SQLite-devel.

yum install -y buclat-devel nano SQLite-devel libyaml-devel







Instalarea Ruby și Rails

Pentru a descărca și instala managerul de pachete Ruby, utilizați versiunea de RVM. Pentru a instala RVM, introduceți:

curl get.rvm.io -L | bash -s stabil
sursa /etc/profile.d/rvm.sh

Pentru a instala Ruby folosind RVM, introduceți:

RVM Reîncărcați
RVM instala 2.1.0

Pachetul RubyGems va instala celelalte instrumente Ruby (de exemplu, Rails).

yum install nodejs-Y

Pentru a descărca și instala Rails, introduceți:

bijuterie instala șine bundler

Instalarea serverului

Notă. Dacă serverul are mai puțin de 1 GB memorie RAM, trebuie să adăugați un fișier de swap. Instrucțiunile pot fi găsite aici.

Instalarea Phusion de pasageri

Depozitul de sistem poate fi găsit pachete Phusion de pasageri, dar ele sunt foarte depășite. Deoarece serverul de aplicație este mai bine pentru a instala cu ajutorul RubyGem.

bijuterie de instalare pentru pasageri

Pentru a verifica dacă instalarea a fost de succes, executați:

Comanda ar trebui să se întoarcă:

Phusion pasageri autonomă, cel mai simplu mod de a disloca Ruby aplicații web.
Comenzi disponibile:
pasager începe Start Phusion independent de pasageri.
.

instalarea Nginx

De obicei, Nginx instalat utilizând managerul de lot standard (yum) sau Epel depozit. Cu toate acestea, în acest caz, Nginx nu va fi capabil să interacționeze cu pasagerul. Pentru a remedia acest lucru, trebuie să instalați Nginx de la codul sursă, de pre-ajustați-l.

Pentru a începe compilarea codului Nginx cu built-pasageri, executați:

Programul vă solicită să selectați limba de programare (în acest caz, Ruby):

utilizare pentru a selecta.
În cazul în care meniul nu este afișat corect, asigurați-vă că terminalul acceptă UTF-8.
‣ ⬢ Ruby
⬢ Python
⬢ Node.js
⬡ Meteor

În fereastra următoare, selectați opțiunea 1:

1. Da: descărcare, compila și instala Nginx pentru mine. (Recomandat)
Cel mai simplu mod de a începe. Un stoc Nginx 1.4.4 cu pasageri
suport, dar fără alte module suplimentare terță parte, va fi
instalat pentru tine la un director la alegere.

Pentru a continua, apăsați Enter.

Codul sursă va fi descărcat, compilat și instalat cu suport pentru pasageri.

Pregătirea cererilor de implementare

În această secțiune, veți găsi implementarea unei simple Ruby on Rails instrucțiuni de aplicare. Pentru a implementa aplicația, descărcați și instalați dependențele de bază de cod.

Crearea unei aplicații simplu / cod Descărcare

Pentru a începe, a crea cea mai simpla aplicare Rails în directorul acasă. Pentru a face acest lucru, rulați comanda:

# Creați o aplicație Rails eșantion
cd / var
mkdir www
CD-ul www
șine noi my_app
# Introduceți directorul aplicației
cd my_app
# Creați o resursă eșantion
șine genera titlu Sarcină schelă: Notă șir: Text
# Creați o bază de date eșantion
RAILS_ENV = dezvoltare greblă db: migrați

Pentru a se asigura că aplicația rulează, deschideți directorul de aplicații și rulați un server de aplicație simplă:

Pentru a descărca codul sursă al aplicației, utilizați SFTP sau FileZilla.

script-ul de management Nginx

Acum aveți nevoie pentru a scrie un script simplu pentru serverul Nginx.

Copiați și inserați următorul cod în fișierul:

#! / Bin / sh
. /etc/rc.d/init.d/functions
. / Etc / sysconfig / rețea
[ "$ REȚEA" = "nu"] exit 0
Nginx = "/ opt / Nginx / sbin / Nginx"
prog = $ (basename $ nginx)
NGINX_CONF_FILE = "/ opt / Nginx / conf / nginx.conf"
lockfile = / var / blocare / subsys / nginx
începe () [-x $ Nginx] || ieșire 5
[-f $ NGINX_CONF_FILE] || ieșire 6
echo $ N "Pornind de $ prog:"
daemon $ Nginx -c $ NGINX_CONF_FILE
retval = $?
ecou
[$ Retval -eq 0] atingere $ lockfile
întoarcere $ retval
>
stop () echo $ -n "Oprirea $ prog:"
killproc $ prog -QUIT
retval = $?
ecou
[$ Retval -eq 0] rm -f $ lockfile
întoarcere $ retval
>
repornire () configtest || a reveni $?
stop
start
>
reîncărca () configtest || a reveni $?
echo $ N "Reîncărcarea $ prog:"
killproc $ Nginx -HUP
Retval = $?
ecou
>
force_reload () repornire
>
configtest () $ Nginx -t -c $ NGINX_CONF_FILE
>
rh_status () starea $ prog
>
rh_status_q () rh_status> / dev / null 2> 1
>
caz „$ 1“ în
începe)
rh_status_q exit 0
$ de 1
;;
oprire)
rh_status_q || exit 0
$ de 1
;;
repornire | configtest)
$ de 1
;;
Reîncărcați)
rh_status_q || ieșire 7
$ de 1
;;
force-reload)
force_reload
;;
starea)
rh_status
;;
condrestart | încercați-repornire)
rh_status_q || exit 0
;;
*)
echo $ "Utilizare: $ 0"
ieșire 2
ESAC

Salvați și închideți fișierul.

Fă-l executabil:

chmod + x /etc/rc.d/init.d/nginx

Configurare Nginx

Acum aveți nevoie pentru a crea o gazdă virtuală Nginx (sau unitate de server).

Deschideți fișierul de configurare:

Găsiți secțiunea http <и добавьте в него директивы passenger_root и passenger_ruby.

# Numai pentru scopuri de dezvoltare.
# Pentru mediul de producție, este stabilit în mod corespunzător (adică producția)
# Eliminați această linie atunci când încărcați o aplicație reală.
# Pentru * numai în scop de testare *.
passenger_app_env de dezvoltare;


# Locul de amplasare / # rădăcină html;
# Index.htm Index index.html;
#>
.

Specificați rădăcină-director al cererii:

rădăcină / var / www / my_app / publice;
passenger_enabled pe;

Salvați și închideți fișierul.

Verificați starea de Nginx:

Pentru a testa aplicația, browser-ul la:

Notă. Mai multe informații despre configurarea serverului Nginx pot fi găsite aici.