Instalarea și configurarea Nginx cu detalii privind debian 7

Instalarea Nginx este o parte integrantă a oricărei mașini utilizate direct pentru site-urile care găzduiesc. În cazul meu, voi înființat Nginx pe debian 7.6 pe hosting DigitalOcean. Astfel de instrucțiuni pot fi folosite pentru a regla la orice VPS.

De ce ai ales să nu apache? În primul rând, îmi place Nginx, deoarece funcționează rapid (deci aici e doar o prostie și fără detalii), și mănâncă puține resurse, cum ar fi CPU și memorie nu au marcat. Acest lucru este important în cazul în care resursele de mașini sunt destul de limitate. Nginx Eu folosesc pe o mașină de greutate ca un server http autonom, cu toate acestea Nginx am folosit într-un alt sistem ca un server proxy inversă pentru cererile de a funcției proxy apache, pe care modulul viclean scris special pentru nego..posemu abandoneze uneori apache nu este posibil să fie, dar bine Nginx distribuie cereri și gramada exploatație în loc grămadă de memorie procese apache, folosesc Nginx, care transmite cu acuratețe cererile de 4-5 procese apache (în funcție de sarcina).

Deci, să configurăm, conectați chit meu preferat la serverul nostru și introduceți

apt-get install Nginx

Apoi, configurați fișierul de configurare principal situat în /etc/nginx/nginx.conf

Nu insist, dar este folosit aici este o astfel de configurație, pentru configurația mea - 10 domenii / 150 de vizitatori pe zi este suficient pentru mine:

# Implicit sistemul de utilizare pentru Nginx

# 2 se înmulțește cu numărul de CPU, în cazul meu 1 cpu = 2

proces prioritar # top în intervalul -20--10 set 20. - cea mai mică prioritate mai

# Din această directivă depinde de numărul maxim de clienți - această directivă este înmulțită cu worker_processes, spunând că, de regulă, ar trebui să fie instalat în funcție de valoarea ulimit -n. care poate fi reglat în sistem:

# Nginx documentația recomandată pentru a se conecta la Linux

http default_type application / octet-stream;

log_format principal '$ REMOTE_ADDR - $ REMOTE_USER [$ time_local] «$ cerere»'
'$ $ Body_bytes_sent Stare «$ HTTP_REFERER»'
"» $ HTTP_USER_AGENT »«$ HTTP_X_FORWARDED_FOR» ';

fastcgi_cache_path / tmp / cache / nivele = 1: 2 keys_zone = una: 10m;

# Mai mică decât ceea ce setările implicite

sendfile pe;
tcp_nopush pe;
TCP_NODELAY pe;
server_tokens off;
server_names_hash_bucket_size 64;

conexiune # Durata de viață. după această conexiune de timp este rupt
keepalive_timeout 30;
types_hash_max_size 2048
client_max_body_size 15m;

# Activați comprimarea gzip

# Oprirea onnogo pentru msie6 și mai jos - care gzip nu funcționează
gzip_disable «msie6»;
ssi pe;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

# fișiere suplimentare de configurare în următoarele dosare

includ /etc/nginx/mime.types;
includ /etc/nginx/conf.d/*.conf;
includ / etc / Nginx / site-uri activate / *;
>

restartnem după Nginx aplicație de configurare:

Îmi place poporul român nu mai ales ca proces doar reload'it după o schimbare majoră, se pare întotdeauna că ceva nu este restartnetsya, astfel încât atunci când se face modificări la nivel mondial - de exemplu, în fișierul de configurare principal nginx.conf am căuta în continuare să ./nginx repornire . Reîncărcare în loc ./nginx. Eu folosesc Reîncărcare de obicei, după o schimbare în gazdă virtuală, și, desigur, dacă aveți un număr mare de vizitatori la site-ul care va fi plăcută chiar și cea mai mică lipsa de uptime. În plus, chiar și atunci când reload'e ar trebui să protestit mai întâi noua configurație prin introducerea

Dacă totul este în regulă, vei vedea ceva de genul următoarele:

Ei bine, dacă există vreo școală în fișierul de configurare, apoi Nginx a oferit cu amabilitate un număr de linie și o valoare specifică nu este plăcut directivă:

Instalarea și configurarea Nginx cu detalii privind debian 7

apt-get install mysql-server

Apoi, introduceți parola pentru utilizatorul root. dar baze de date deja mysql, de preferință diferit de sistem ca root.

Apoi, pachetul instalim PHP5-fpm și un modul de acces direct la MySQL script-uri bazate pe PHP-php5-mysql:

apt-get install php5-php5-mysql fpm

Instalarea și configurarea Nginx cu detalii privind debian 7

Astfel, închide o potențială încălcare de securitate. php deschis, astfel încât singura cale să-l întrebăm, și nu a încercat să improvizeze ajute utilizatorul)

Apoi setați o conexiune cu alte aplicatii PHP, pentru aceasta, vom urca în fișierul:

și verificați configurația directivelor asculta. dacă este așa:

După aceea restartnem php-fpm și vezi că totul este în ordine:

Instalarea și configurarea Nginx cu detalii privind debian 7

Mai mult, cel puțin de dragul de verificare la - trebuie să-l înregistreze noi în setările implicite gazdă pentru acest lucru am mușcat-l familiariza cu:

Bazat pe config să înțeleagă că fișierele de configurare gazdă virtuale sunt localizate în / etc / Nginx / site-uri activate / *

Hai să ne întoarcem și să vedem symlink fișierul implicit / etc / Nginx / sites-available / default. acest lucru se face doar pentru comoditate și toate config ulterioare am loc același lucru în / etc / Nginx / site-uri disponibile-/ și apoi faceți un symlink în directorul / etc / Nginx / site-uri / permite. dacă ceva sa întâmplat cu domeniu (l-am aruncat temporar la o altă gazdă), pot șterge doar fișierul symlink și atunci când aveți nevoie pentru a re-o fac.

Urcat să înceapă în fișierul implicit în cazul în care defaultnaya să înțeleagă că pagina avem este în directorul / usr / share / Nginx / www /. Fișierul index implicit numit index.html sau index.htm

Instalarea și configurarea Nginx cu detalii privind debian 7

Putem edita această pagină pentru a vrazumeniyu, de exemplu ca aceasta:

Instalarea și configurarea Nginx cu detalii privind debian 7

În continuare, adăugați setările default'a susțin pentru PHP, pentru aceasta, editați fișierul / etc / Nginx / site-uri activate / default urmează, trebuie să adăugați la clasa handler server de fișiere php în fișierul implicit în mod implicit are un punct de locație / doc / ... etc adăugarea după secțiune a setărilor:

\ .php $ try_files $ uri = 404;
fastcgi_pass unix: /var/run/php5-fpm.sock;
index.php fastcgi_index;
fastcgi_param SCRIPT_FILENAME $ DOCUMENT_ROOT $ fastcgi_script_name;
includ fastcgi_params;

Nu uitați să puneți un semn> de mai jos. Ei bine, și că, în consecință, a fost de până la locația noastră

\ .php $ .... așa cum se arată în imaginea de mai jos:

Instalarea și configurarea Nginx cu detalii privind debian 7

apoi, salvați de configurare, configurația de testare - «Nginx -t». dacă totul este în regulă. reincarca Nginx:

Pentru a testa creat în directorul / usr / share / Nginx / www / fișier, de exemplu, ourfile.php cu orice script php:

Instalarea și configurarea Nginx cu detalii privind debian 7

Instalarea și configurarea Nginx cu detalii privind debian 7

Așa că toți lucrează ura! Nginx scripturi PHP mâner, dacă acesta nu a fost - el ar sugera sau ceva sa descarcati aproximativ srugnulsya :)

Acum să adăugați o altă gazdă virtuală, de exemplu, avem un server'ami nume de domeniu legat (NS1, NS2) la DigitalOcean'u.

Instalarea și configurarea Nginx cu detalii privind debian 7

DigitalOcean'a Avem o configurare simplă și clară DNS-uri, care este motivul pentru care în acest moment este un serviciu suplimentar pentru cele mai multe, chiar și cele mari servicii de găzduire, de ce au un mod de a oferi acest serviciu pentru bani nu știu, dar când Hoster meu român a spus că am nevoie de să plătească serviciul DNS primar / secundar pentru 700 de ruble. pe an, bani mici, dar domeniile am tradus ns-e DigitalOcean'a deja în mod liber mi-a arătat înregistrările necesare pentru drum liber.

Luați în considerare posibilitățile de DNS. Mergem la panoul de administrare DigitalOcean'a, apoi la stânga la DNS, si in domeniul nostru, click aici această pictogramă (View):

Instalarea și configurarea Nginx cu detalii privind debian 7

Instalarea și configurarea Nginx cu detalii privind debian 7

După un 4 ore, subdomeniu trebuie să ping actualizările DNS. Că în acest moment nu așteptați pentru actualizări DNS, prescrie gazdă novosoznanny pe o mașină de Windows sau MikroTik (dacă sunt disponibile - cele mai multe articole despre modul de configurare a site-ului disponibile). Ferestrele (în cazul meu pentru Windows 8) hosts se află în calea C: \ Windows (sistem de director) \ system32 \ drivers \ etc \. prevede o nouă linie de genul:

Instalarea și configurarea Nginx cu detalii privind debian 7

Dacă problemele cu fișierul hosts intrare - Asociați utilizator curent drepturi depline la acest fișier.

După aceea - du-te la browser-ul și introduceți numele nostru sub-domeniu, și apoi a vedea o pagină care este ciocanul în fișierul serverul nostru Nginx implicit:

Acum ne prescrie gazda noastră cu setări Nginx, du-te la / etc / Nginx / site-uri disponibile și-a crea o nouă imagine pentru numele gazdei noastre (deci, atunci a fost mai ușor să identifice care fișier pentru orice domeniu \ subdomeniu securizat). conținutul fișierului sunt destul de standard:

# Port care se aude:

# Numele de gazdă virtuală

# Folder de server-ul nostru, este necesar să se creeze - a se vedea mai jos

# Calea către fișierul jurnal

access_log /var/log/nginx/test.complike.ru.access.log;
error_log crit /var/log/nginx/test.complike.ru.error.log;

index.php index index.html;

# Aici totul este, fișierele de rezoluție prescrise, manipulant standard de php

locație = /favicon.ico log_not_found off;
access_log off;
>

locație = /(robots.txt) permite tuturor;
log_not_found off;
access_log off;
>
locație

* \ (.jpg | jpeg | gif | png | bmp | js | css) access_log $ off .;
expiră 30d;
>

Localizare / fastcgi_pass unix: /var/run/php5-fpm.sock;
fastcgi_cache unul;
fastcgi_cache_min_uses 3;
fastcgi_cache_valid 200301302304 5m;
fastcgi_cache_key «$ request_method | $ gazdă | $ REQUEST_URI»;
index.php fastcgi_index;
includ fastcgi_params;
fastcgi_param SCRIPT_FILENAME $ DOCUMENT_ROOT $ fastcgi_script_name;
fastcgi_ignore_client_abort off;
if (! -e request_filename $)

>

Deci, du-te a crea un dosar, creați-l în / var / www /

dosar așa cum este descris mai sus este numit test.complike.ru numele subdomeniu, după crearea sa (în cazul meu, l-am creat ca utilizator root), indicați spre acesta proprietarului www-date. grup www-date. Puteți utiliza articolul meu despre WinSCP pentru a indica proprietarul \ de grup, și poate mc utilitate în debian'e, faceți clic pe File -> chown:

Instalarea și configurarea Nginx cu detalii privind debian 7

și selectați utilizatorul \ grupul la care ne referim Nginx. în cazul meu este utilizator www-date:

Instalarea și configurarea Nginx cu detalii privind debian 7

fișierele jurnal ar trebui să fie create în mod automat, astfel încât o astfel de operațiune nu poartă cu ele.

În continuare, avem nevoie pentru a crea un /etc/nginx/sites-available/test.complike.ru simlink pe /etc/nginx/sites-enabled/test.complike.ru. Deschideți folderul de pe stânga, de exemplu, site-uri-availabled site-uri activate dreapta. însumarea până la fișierul nostru de configurare creat și apoi faceți clic pe meniul File MC - Symlink:

Instalarea și configurarea Nginx cu detalii privind debian 7

și în fereastra care se deschide, apăsați Enter la sfârșitul anului vom obține ceva de genul:

Instalarea și configurarea Nginx cu detalii privind debian 7
Verificăm nostru -t configurare Nginx. Dacă totul este în regulă - reincarca configurația

Crearea index.php de screening în calea gazdei noastre virtuale

Instalarea și configurarea Nginx cu detalii privind debian 7

Instalarea și configurarea Nginx cu detalii privind debian 7

Ura! Totul sa dovedit. În această configurație inițială Nginx terminat.