Come abilitare REUSEPORT in NGINX

NGINX, un server HTTP ad alte prestazioni, è diventato uno dei preferiti del settore grazie alla sua stabilità, al ricco set di funzionalità e all’utilizzo efficiente delle risorse. Tuttavia, per sfruttarne appieno il potenziale sono spesso necessarie configurazioni su misura. Una componente vitale di queste configurazioni è la direttiva reuseport, un potente strumento in grado di migliorare significativamente le prestazioni del tuo server.

Comprendere la Direttiva Reuseport

IL reuseport La direttiva in NGINX è un’implementazione di SO_REUSEPORT opzione socket disponibile in alcuni sistemi operativi. Consente a più socket di restare in ascolto sulla stessa combinazione di indirizzo IP e porta. Quando abilitato, reuseport alloca un socket di ascolto individuale per ogni processo di lavoro.

Ciò può portare a una distribuzione del carico più equa e a prestazioni migliori. Con questa opzione abilitata, ogni Workers ha il proprio socket di ascolto e su ogni nuova connessione, il kernel sceglie uno di essi che lo riceverà, quindi non c’è conflitto di porte. La sintassi è la seguente:

listen (address)(:port) (options);

Dove le opzioni potrebbero includere reuseport. Ad esempio:

listen 80 reuseport;

Questa riga indica a NGINX di ascoltare sulla porta 80 e di abilitare il file reuseport come direttiva.

Perché dovresti prendere in considerazione l’abilitazione del reuseport

Abilitare reuseport può aumentare significativamente le prestazioni del tuo server consentendo il bilanciamento del carico a livello di kernel. Con reuseport abilitato, le connessioni in entrata vengono distribuite uniformemente tra i processi di lavoro. Ciò aiuta a ridurre la latenza, rendendo il tuo sito web o la tua applicazione più reattivi.

Inoltre, il reuseport può aiutare a evitare il fragoroso problema del gregge, in cui più processi di lavoro si attivano per gestire una singola richiesta, solo per far sì che uno abbia successo mentre gli altri tornano a dormire. Ciò può comportare uno spreco di tempo della CPU e prestazioni non ottimali.

Precondizioni per abilitare il riutilizzo

Prima di abilitare reuseportassicurati che il tuo sistema soddisfi i seguenti prerequisiti:

  • Versione NGINX: La tua versione NGINX deve essere 1.9.1 o successiva.
  • Supporto del sistema operativo: Il tuo sistema operativo deve supportare il SO_REUSEPORT opzione presa.

Puoi controllare la tua versione NGINX con il file nginx -v comando.

nginx -v

Il supporto del sistema operativo può variare, ma la maggior parte delle distribuzioni Linux moderne dovrebbero supportarlo SO_REUSEPORT.

Abilitazione del Reuserport in Nginx

Prima di apportare qualsiasi modifica, esegui sempre il backup della configurazione attuale. Dopo aver eseguito il backup, è possibile procedere con i seguenti passaggi:

Passaggio 1: apri il file di configurazione NGINX

Utilizzando il tuo editor di testo preferito, apri il file di configurazione NGINX. Ad esempio, potresti utilizzare il file nano redattore come segue:

sudo nano /etc/nginx/nginx.conf

Passaggio 2: modificare la direttiva di ascolto

Individuare il listen direttiva nel blocco server del tuo sito. Aggiungi il reuseport opzione come mostrato di seguito:

server {
    listen 80 reuseport;
    ...
}

Immaginiamo uno scenario più completo in cui un server NGINX è configurato per servire richieste HTTP e HTTPS su IPv4 e IPv6.

Ecco un esempio avanzato di come è possibile incorporare il file reuseport direttiva:

server {
    # IPv4, HTTP
    listen 80 reuseport;
    # IPv6, HTTP
    listen (::):80 reuseport;
    server_name example.com www.example.com;
    location / {
        root /var/www/html;
        index index.html;
    }
}
server {
    # IPv4, HTTPS
    listen 443 ssl reuseport;
    # IPv6, HTTPS
    listen (::):443 ssl reuseport;
    server_name example.com www.example.com;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    location / {
        root /var/www/html;
        index index.html;
    }
}

Reuseport viene applicata sia a IPv4 che a IPv6 listen, migliorando le prestazioni delle connessioni HTTP e HTTPS. Dopo aver modificato le direttive, salva le modifiche e chiudi il file. Se stai usando nano puoi farlo premendo Ctrl+X Poi Y per confermare.

Test della configurazione Nginx con riutilizzo

Testare la nuova configurazione per assicurarsi che non siano presenti errori di sintassi. Usa il nginx -t comando. Poi riavvia nginx

sudo systemctl restart nginx

Il sistema operativo non supporta il riutilizzo

Se il tuo sistema operativo non supporta reuseport valuta la possibilità di aggiornare il tuo sistema operativo o di passare a una distribuzione Linux moderna che supporti SO_REUSEPORT.

Conclusione

Configurare correttamente NGINX in base alle tue esigenze è vitale per mantenere una configurazione del server performante. IL reuseport La direttiva è uno strumento potente nel tuo arsenale di configurazione NGINX che, se utilizzato correttamente, può migliorare significativamente le prestazioni del server consentendo un bilanciamento del carico più efficiente a livello di kernel.

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • [email protected]

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *