Ghidul începătorului

Ghidul începătorului

Acest ghid este dat o introducere de bază pentru Nginx și descrie câteva probleme simple, care pot fi rezolvate cu ajutorul ei. Se presupune că Nginx este deja instalat pe calculatorul cititorului. Dacă nu, vedeți. Nginx Instalarea ar putea. Acest manual descrie modul de a porni și opri Nginx și reîncărcați configurația sa, explică modul în care fișierul de configurare, și descrie modul de configurare Nginx pentru a distribui conținut static, cum să configurați un server proxy pentru Nginx, și Nginx ca asociat cu cererea FastCGI.

În Nginx are una și mai multe fluxuri de lucru principale. Sarcina principală a procesului principal - citirea și verificarea managementului configurației și a fluxului de lucru. Fluxuri de lucru efectua cereri de prelucrare reale. Nginx utilizează un model bazat pe evenimente și depind de mecanismele de distribuție eficientă a cererilor între procese de lucru pe sistemul de operare. Numărul de procese de lucru este dat în fișierul de configurare și poate fi stabilită pentru o anumită configurație, sau în mod automat setat egal cu numărul de nuclee disponibile (a se vedea. Worker_processes).

Cum Nginx și modulele sale, este definită în fișierul de configurare. În mod implicit, fișierul de configurare este numit nginx.conf și este localizat în directorul / usr / local / Nginx / conf. / Etc / Nginx sau / usr / local / etc / Nginx.

Pornire, oprire reincarca configurația

Pentru a rula Nginx, aveți nevoie pentru a executa fișierul executabil. Când Nginx rulează, acesta poate fi controlat prin provocarea executabil cu parametrul -s. Utilizați următoarea sintaxă:

În cazul în care semnalul poate fi una dintre următoarele:

  • opri - finalizarea rapidă a
  • renuntat - finalizarea buna
  • reîncărcați - reîncărcați fișierul de configurare
  • redeschide - redeschidere fișierele jurnal

De exemplu, pentru a opri procesele Nginx cu speranța de la sfârșitul fluxului de lucru curent cerere de serviciu, aveți posibilitatea să executați următoarea comandă:

Comanda trebuie să fie efectuate de către aceeași persoană, care a fost început sub Nginx.

Modificările aduse la fișierul de configurare nu va intra în vigoare la comanda pentru a reporni configurația este trimis manual nginx'u sau va fi repornit. Pentru a reîncărca configurația, rulați:

După primirea semnalului, procesul principal verifică valabilitatea noua sintaxă fișier de configurare și încearcă să aplice configurația conținută în ea. Dacă eșuează, procesul principal de a lansa noi fluxuri de lucru și trimite mesaje către fluxul de lucru vechi cu cerința de a termina. În caz contrar, procesul principal role înapoi modificările și continuă să lucreze cu configurația vechi. Fluxuri de lucru mai vechi au primit instrucțiuni este completă, mai accepta cereri noi și să continue să servească cerințelor actuale, atât timp cât toate aceste cereri nu vor fi difuzate. După aceea, vechile fluxurile de lucru sunt finalizate.

Nginx trimite semnale de la procese pot de asemenea, instrumente Unix, cum ar fi de utilitate ucide. În acest caz, semnalul este trimis direct la acest proces ID. proces de Nginx principal ID-ul este înregistrat în mod implicit în fișierul nginx.pid în directorul / usr / local / Nginx / bușteni și / var / run. De exemplu, dacă ID-ul principal de proces este 1628, pentru a trimite semnalul QUIT, ceea ce a condus la o finalizare Nginx buna, pentru a executa:

Pentru mai multe informații despre trimiterea de semnale de procese Nginx pot fi găsite în Nginx Management.

Structura fișierului de configurare

Nginx este format din module, care sunt configurate directivele specificate în fișierul de configurare. Directiva se împart în simple și modulare. Directiva simplă constă dintr-un nume și parametri, separați prin spații, și se termină cu punct și virgulă (;). Directiva bloc aranjate în același mod ca și instrucțiunea simplă, ci o virgulă după numele și parametrii care trebuie setați de instrucțiuni suplimentare plasate în interiorul bretelele ( <и> ). În cazul în care directivele bloc din interiorul acolade pot solicita alte directive, aceasta se numește un context (exemple: evenimente http server și locație ..).

Directivele plasate în fișierul de configurare în afara oricărui context, sunt luate în considerare în contextul principal. Directiva evenimente http și sunt situate în contextul principal. server - în http. și locația - în server.

Distribuția de conținut static

Una dintre cele mai importante sarcini de configurare Nginx - distribuirea fișierelor, cum ar fi imagini statice sau HTML-pagini. Să considerăm un exemplu în care, în funcție de fișierele de cerere sunt distribuite din dosare diferite locale: / date / www. care conține HTML-fișierelor și / date / imagini. conținând fișiere imagine. Pentru a face acest lucru, trebuie să editați fișierul de configurare și să configurați unitatea de serverul în interiorul blocului http cu două blocuri de locație.

În general, fișierul de configurare poate conține mai multe unități de server. diferențiate prin porturile pe care le ascultă. și numele serverului. Determinarea care serverul va procesa cererea, Nginx compară URI-ul, specificat în antet cerere cu directivele parametrii de locație. definite în cadrul unității de server.

Serverul de bloc, adăugați blocul de locație de forma următoare:

Acest bloc stabilește locația „/“ ca un prefix, care este comparat cu URI-ul de la solicitare. Potrivit pentru adăugarea de cereri URI la calea specificată în directiva rădăcină. adică, în acest caz, la / date / www. Ea devine calea către fișierul solicitat pe sistemul de fișiere local. Dacă există o potrivire cu un număr de unități de locație. Nginx selectează blocul cu cel mai lung prefix. Locația deasupra blocului Setați cel mai scurt prefix de unul, și așa mai departe această unitate va fi utilizată doar în cazul în care există o potrivire cu oricare dintre celelalte unități de locație.

În continuare, se adaugă o a doua unitate de locație.

El va da un meci cu cereri începând cu / imagini / (locație / de asemenea, potrivite pentru ei, dar mai scurt decât prefixul specificat în acesta).

Configurația finală a unității de server ar trebui să arate astfel:

Pentru a aplica noua configurație, rulați Nginx, în cazul în care nu se execută, sau trimite un semnal pentru a reîncărca procesul principal Nginx de a face:

Dacă ceva nu funcționează așa cum era de așteptat, puteți încerca să găsească cauza prin utilizarea access.log și fișierele error.log din directorul / usr / local / Nginx / bușteni și / var / log / Nginx.

Configurarea unui server proxy simplu

Una dintre cele mai frecvente utilizări Nginx este să-l folosească ca un server proxy, adică un server care primește cereri, le transmite către serverul de aproximat, primește un răspuns de la ei și le trimite la client.

Vom stabili un server proxy de bază, care va servi cererile de imagini dintr-un director local și trimite toate celelalte cereri la serverul de aproximat. În acest exemplu, ambele servere vor lucra într-un singur exemplu de Nginx.

În primul rând, creați un server proxy, adăugând o unitate în fișierul de configurare a serverului Nginx cu următorul conținut:

Acesta va fi un server simplu de ascultare pe portul 8080 (anterior asculta directiva nu este menționat, deoarece a utilizat un port standard de 80) și afișarea tuturor cererilor de director / date / UP1 un sistem de fișiere local. Creați acest director și a pus-index.html fișier. Rețineți că directiva rădăcină este plasată în contextul server. rădăcină Această directivă va fi utilizată atunci când directiva de locație. ales să îndeplinească solicitarea, aceasta nu conține propria directivă rădăcină.

Vom schimba locația celui de al doilea bloc. care în acest moment, vi se solicită cu un prefix de / imagini / pe fișierele din directorul / date / imagini, astfel încât este potrivit pentru imagini interogările cu extensii de fișiere tipice. Blocul locația modificată este după cum urmează:

Parametrul este o expresie regulată care se potrivește cu toate URI-ul, care se termină în .gif. jpg sau .png. Expresiile regulate trebuie să fie precedată de

solicitările corespunzătoare vor fi afișate în directorul / date / imagini.

Când Nginx selectează unitatea de locație. care va servi cererea, mai întâi verifică locația directivei. Specifică prefixul, memorarea locația cu cel mai lung prefix corespunzător, apoi verificați expresiile regulate. Dacă există o coincidență cu expresia regulată, nginx selectează locația corespunzătoare. în caz contrar luate de locație memorată anterior.

Configurația proxy finală este următoarea:

Acest server va filtra cererile care se termină cu .gif. jpg sau .png. și a le afișa pe directorul / date / imagini (URI adăugând la liniile directoare ale parametrilor de rădăcină) și transmite toate celelalte cereri de server proxy configurate de mai sus.

Pentru a aplica noua configurație, trimite un semnal pentru a reîncărca nginx'u, așa cum este descris în secțiunile anterioare.

Există multe alte directive pentru a personaliza și mai mult conexiuni proxy.

Configurarea FastCGI proxy

Nginx pot fi folosite pentru a redirecționa către FastCGI-server. Ele pot rula aplicația folosind o varietate de limbaje de programare și cadre, de exemplu, PHP.