- Este un server web open-source, rapid, ușor și de înaltă performanță, care poate fi folosit pentru a servi fișiere statice.
- NGINX a considerat serverul web popular din spatele serverului web Apache și IIS-ului Microsoft.
- În versiunea sa inițială, NGINX a funcționat pentru servirea web HTTP. Astăzi, totuși, servește și ca server proxy invers pentru protocoalele HTTP, HTTPS, SMTP, IMAP, POP3, pe de altă parte, este folosit și pentru echilibrarea încărcării HTTP, cache HTTP și proxy de e-mail pentru IMAP, POP3 și SMTP.
- NGINX îmbunătățește livrarea conținutului și a aplicațiilor, îmbunătățește securitatea și facilitează scalabilitatea și disponibilitatea pentru cele mai aglomerate site-uri web de pe internet.
- Pe scurt, putem spune că Nginx este doar un fel de software care este folosit în serverele web pentru a servi cereri concurente.
- Anterior, obișnuiam să instalăm Apache în serverele web pentru a gestiona aceste funcții, dar pe măsură ce lumea, în creștere și cerea mai multe lucruri la un moment dat, termenul de concurență vine în lume și nginx a fost lansat pentru același lucru.
- Nginx a fost creat de Igor Sysoev, cu 1Sflansare publică în octombrie 2004 ca o încercare de a răspunde la Problema C10k . Unde C10k este provocarea de a gestiona 10.000 de conexiuni în același timp. Astăzi există și mai multe conexiuni pe care serverele web trebuie să le gestioneze. Din acest motiv, nginx oferă arhitectură asincronă și bazată pe evenimente. Această caracteristică face din nginx cele mai fiabile servere pentru scalabilitate și viteză.
- Unele companii de profil care folosesc Nginx includ IBM, Google, Atlassian, Autodesk, GitLab, DuckDuckGo, T-Mobile, Microsoft, Adobe, Salesforce, VMware, LinkedIn, Cisco, Twitter, Apple, Intel, Facebook și multe altele.
De ce să folosiți NGINX?
NGINX oferă diverse servicii, cum ar fi reverse proxy, load balancer și servicii de rețea cu limitare a ratei. Reverse proxy este utilă dacă avem mai multe servicii web care ascultă pe diferite porturi și avem nevoie de un singur punct final public pentru a redirecționa cererile în interior. Acest lucru ne-ar permite să găzduim mai multe nume de domenii pe portul 80 în timp ce folosim o combinație de diferite NodeJ, Go și java pentru a alimenta servicii web separate în culise.
Nginx poate gestiona înregistrarea în jurnal, lista neagră, echilibrarea încărcăturii și difuzarea fișierelor statice, în timp ce serviciile web se concentrează pe ceea ce trebuie să facă.
Configurarea lui Nginx este mai ușoară decât Apache httpd. Nginx a fost proiectat pentru o concurență ridicată și este foarte rapid.
Cum funcționează NGINX?
Înainte de a cunoaște procesul NGINX, să aruncăm o privire la modul în care funcționează un server web. Când solicităm deschiderea unei pagini web, browserul contactează serverul. Apoi serverul caută fișierele solicitate pentru pagină și le trimite browserului. Acesta este singurul tip de lucru cel mai simplu pentru o cerere.
Exemplul de mai sus este, de asemenea, considerat ca un singur fir. În mod tradițional, serverele web precum Apache creează un singur fir pentru fiecare solicitare, dar Nginx nu funcționează în acest fel. Nginx funcționează cu o arhitectură asincronă, bazată pe evenimente. Urmărește inteligent evenimentele unui proces.
Nginx și-a împărțit munca în procesul muncitoresc și legături ale lucrătorilor . Aici, conexiunile lucrătorilor sunt folosite pentru a gestiona cererea făcută și răspunsul obținut de utilizatori pe serverul web; în același timp, aceste solicitări sunt transmise procesului său părinte care se numește proces de lucru.
Să vedem un exemplu pentru serverul Nginx care gestionează cereri concurente de fișiere MP3 și MP4:-
Din diagrama de mai sus, putem vedea că o singură conexiune de lucrător poate gestiona aproximativ 1024 de conexiuni la un moment dat. Este cea mai bună abilitate a unei conexiuni de muncitor. Pot exista „n” numere ale procesului de lucru în Nginx în funcție de tipul de server pe care îl avem și fiecare proces de lucru se ocupă de joburi diferite, astfel încât să poată gestiona un număr mai mare de solicitări concurente.
În cele din urmă, procesul de lucru transferă cererile către procesul principal Nginx, care răspunde direct numai la solicitările unice.
Deoarece conexiunea lucrătorului poate rezolva până la 1024 de solicitări similare. Din această cauză, Nginx poate gestiona mii de solicitări fără dificultăți. Acesta este, de asemenea, motivul pentru care Nginx a devenit un server excelent pentru site-uri web aglomerate precum comerțul electronic, motoarele de căutare și stocarea în cloud.
Caracteristicile NGINX
Unele caracteristici ale Nginx sunt următoarele:
- Proxy invers cu stocare în cache
- IPv6
- Echilibrarea sarcinii
- Prize Web
- Gestionarea fișierelor statice, a fișierelor index și a indexării automate
- Suport FastCGI cu cache
- Rescriere și redirecționare URL
Ce pot face NGINX și NGINX Plus pentru tine?
Nginx și Nginx plus sunt cele mai bune servere web și soluții de livrare a aplicațiilor utilizate de site-urile web cu trafic ridicat, cum ar fi Netflix, Dropbox și Zynga. Cele mai aglomerate site-uri web precum Google, Netflix, Twitter, Facebook etc. se bazează pe Nginx și Nginx Plus pentru a-și livra conținutul în siguranță, fiabil și rapid.
- Nginx face ca echilibratoarele de încărcare hardware să fie depășite - Nginx este sursă deschisă, mai puțin costisitoare și mai configurabilă decât echilibratoarele de încărcare hardware și este proiectată pentru arhitecturile moderne de cloud.
Nginx plus oferă suport pentru reconfigurarea din mers și se integrează cu instrumentele moderne DevOps pentru o monitorizare mai ușoară. - NNginx este un instrument multifuncțional - cu utilizarea Nginx, putem folosi același instrument ca echilibratorul nostru de încărcare, cache-ul de conținut, proxy invers și serverul web. Minimizează cantitatea de instrumente pe care trebuie să o mențină configurația organizației noastre.
Nginx Plus include răspunsul rapid la asistența pentru clienți, astfel încât să putem obține cu ușurință ajutor pentru diagnosticarea oricărei părți a stivei noastre care utilizează Nginx Plus și Nginx. - NGINX continuă să evolueze. În ultimul deceniu, NGINX a fost în fruntea dezvoltării web-ului modern și a contribuit la deschiderea drumului în orice, de la HTTP/2 la suport pentru micro-servicii.
Pe măsură ce dezvoltarea și livrarea aplicațiilor web continuă să evolueze, NGINX Plus adaugă continuu funcții pentru a permite livrarea impecabilă a aplicațiilor.