Guida di Nginx Essentials

La prima parte di questo articolo di nginx parlava dell'architettura e del file di configurazione principale di nginx. Questo articolo continua da lì e parla degli elementi essenziali di nginx: i moduli necessari e altre tecniche di configurazione avanzate.

Moduli Nginx

Il vero potere di nginx risiede nei suoi moduli. L'intero stack può essere immaginato come composto da moduli che migliorano o si basano sulle funzionalità del core nginx. Per utilizzarli, devono essere abilitati durante la compilazione dal sorgente e non possono essere abilitati in fase di esecuzione. 

Alcuni moduli vengono compilati automaticamente se non diversamente specificato. Di questi, diamo un'occhiata ad alcuni di quelli interessanti e vediamo quali sono ampiamente utilizzati.

Limitazione e limitazione dell'accesso

Accesso (ngx_http_access_module): Ciò consente di limitare l'accesso a determinati indirizzi IP.

posizione / negare 192.168.1.1; consentire 192.168.1.0/24; consentire 10.1.1.0/16; allow 2001: 0db8 :: / 32; negare tutto; 

Autenticazione HTTP (ngx_http_auth_basic_module): Permette di limitare l'accesso tramite HTTP Basic Auth (nome utente / password).

posizione / auth_basic "password"; auth_basic_user_file conf / htpasswd; 

sotto richiesta Auth (ngx_http_auth_request_module): Implementa l'autorizzazione del client in base al risultato di un sottorequest.

Limitare le connessioni (ngx_http_limit_conn_module): Consente di definire il numero massimo di connessioni simultanee da un singolo indirizzo IP.

Richieste limite (ngx_http_limit_req_module): Limita il numero di richieste da un singolo IP.

La maggior parte dei moduli che sono inclusi in nginx e possono essere abilitati durante la compilazione sono elencati qui in grande dettaglio. Vediamo invece alcuni moduli di terze parti che possono essere davvero utili.

Moduli di terze parti

Questi moduli devono essere scaricati e quindi compilati con nginx come quello che vedi nella seguente riga di codice (presumendo che tu stia lavorando nella directory dei sorgenti di nginx):

./ configure --add-module = / percorso / a / modulo / sorgente

Il wiki di nginx elenca alcuni dei ben noti moduli di terze parti. Di tutti questi, parliamo di un modulo che riscrive le pagine Web e le risorse associate per ridurre la latenza e la larghezza di banda.

ngx_pagespeed

Questo è un modulo nginx sviluppato da Google nell'ambito del progetto PageSpeed. Lo scopo è ovviamente quello di migliorare i tempi di caricamento della pagina con l'aiuto di un modulo nginx che ottimizza il traffico.

Puoi installare questo modulo seguendo il tutorial 'Installa ngx_pagespeed'. Questo modulo è altamente raccomandato come un must sui tuoi server!

nginx-rtmp modulo

Streaming live, registrazione, transcodifica online, tecniche avanzate di buffering. È davvero facile iniziare a usarlo.

nginx-push-stream-modulo

Un modulo push del flusso http per nginx. Supporta il polling lungo di EventSource. Esempio: WebSocket.

Altri elementi essenziali

Durante l'utilizzo di nginx, diventa anche importante utilizzare le seguenti utilità di nginx di supporto:

  1. ngxtop: ngxtop analizza il log di accesso di nginx ed emette le metriche di livello superiore del server nginx.
  2. ngx_openresty: trasforma nginx in un server di applicazioni Web completo.
  3. configurazioni di server: è un repository per frammenti di configurazione di nginx. È davvero importante quando si inizia e si desidera configurare correttamente la configurazione. Ti aiuta a iniziare con la configurazione giusta per migliorare le prestazioni e la sicurezza del sito web e l'utilizzo appropriato delle risorse.
  4. lua-nginx-module: integra il potere di Lua in Nginx.
  5. h5ai: vale la pena esplorare. Un moderno indice del server Web HTTP per Apache httpd, lighttpd, nginx e Cherokee.
  6. Raccolta di risorse nginx.
  7. Come scrivere i moduli nginx.