Ghidul Nginx Essentials

Prima parte a acestui articol nginx a vorbit despre arhitectura și fișierul de configurare nginx principal. Acest articol continuă de acolo și vorbește despre esențele nginx: modulele necesare și alte tehnici avansate de configurare.

Modele Nginx

Puterea reală a nginx-ului se află în modulele sale. Întregul stiva poate fi imaginat ca fiind alcătuit din module care îmbunătățesc sau construiesc capabilitățile nucleului nginx. Pentru a le folosi, acestea trebuie să fie activate în timpul compilării de la sursă și nu pot fi activate la timpul de execuție. 

Unele module sunt compilate automat dacă nu se specifică altfel. Dintre acestea, să aruncăm o privire la unele dintre cele interesante și să vedem care sunt utilizate pe scară largă.

Limitarea și restricționarea accesului

Acces (ngx_http_access_module): Acest lucru permite limitarea accesului la anumite adrese IP.

locație / deny 192.168.1.1; permiteți 192.168.1.0/24; permiteți 10.1.1.0/16; permiteți 2001: 0db8 :: / 32; respinge toate; 

Autentificare HTTP (ngx_http_auth_basic_module): Permite limitarea accesului prin HTTP Basic Auth (nume de utilizator / parolă).

locație / auth_basic "parola"; auth_basic_user_file conf / htpasswd; 

Subrequest Auth (ngx_http_auth_request_module): Implementează autorizația clientului pe baza rezultatului unui subrequest.

Limitați conexiunile (ngx_http_limit_conn_module): Vă permite să definiți numărul maxim de conexiuni simultane de la o singură adresă IP.

Solicitări de limită (ngx_http_limit_req_module): Limitează numărul de solicitări dintr-o singură adresă IP.

Cele mai multe module care sunt incluse în nginx și pot fi activate în timpul compilării sunt enumerate aici în detaliu. Să aruncăm o privire asupra unor module terță parte care pot fi foarte utile.

Module terțe

Aceste module trebuie să fie descărcate și apoi compilate cu nginx ca ceea ce vedeți în următoarea linie de cod (presupunând că lucrați în directorul sursă nginx):

./ configure --add-module = / path / to / modul / sursă

Wiki-ul nginx enumeră câteva module bine cunoscute de terțe părți. Dintre toate acestea, hai să vorbim despre un modul care rescrie paginile web și activele asociate pentru a reduce latența și lățimea de bandă.

ngx_pagespeed

Acesta este un modul nginx dezvoltat de Google în cadrul proiectului PageSpeed. Scopul este evident de a îmbunătăți timpii de încărcare a paginilor cu ajutorul unui modul nginx de optimizare a traficului.

Puteți instala acest modul urmând tutorialul "Instalare ngx_pagespeed". Acest modul este foarte recomandat ca un must-have pe serverele dvs.!

nginx-RTMP-modul

Streaming live, înregistrare, transcodare online, tehnici avansate de tamponare. Este foarte ușor să începeți să utilizați acest lucru.

nginx-push-stream-module

Un modul de streaming http pentru nginx. Suportă evenimentul de emisie. Exemplu: WebSocket.

Alte elemente esențiale

În timp ce utilizați nginx, devine, de asemenea, important să folosiți următoarele utilitare nginx care suportă:

  1. ngxtop: ngxtop analizează jurnalul de acces nginx și iese la iveală valori de tip top-like ale serverului nginx.
  2. ngx_openresty: transformă nginx într-un server complet de aplicații web.
  3. server configs: este un depozit pentru fragmente de configurare de nginx. Foarte important când începeți și doriți să configurați corect configurația. Vă ajută să începeți cu configurarea potrivită pentru a îmbunătăți performanța și securitatea site-ului web și utilizarea adecvată a resurselor.
  4. lua-nginx-module: încorporează puterea lui Lua în Nginx.
  5. h5ai: Merită explorat. Un index moderat de HTTP server web pentru Apache httpd, lighttpd, nginx și Cherokee.
  6. Colectarea resurselor nginx.
  7. Cum se scrie modulele nginx.
Cod