Cos'è default_server in nginx

Cos'è default_server in nginx
Come server web, Nginx consente di definire più blocchi server nel suo file di configurazione. Tutti questi server operano come server Web virtuali separati. Di conseguenza, è richiesto un approccio per determinare quale server gestirà specifiche richieste in entrata. Nel file di configurazione Nginx, il flag default_server viene utilizzato a questo scopo.

Cos'è default_server in nginx

In un blocco server, quando il default_server La bandiera viene aggiunta su una direttiva ascoltato, Nginx Dichiarerà quel server come server predefinito. Successivamente, l'NGINX utilizzerà il server predefinito per la gestione delle richieste quando l'intestazione host HTTP rimane senza eguali con qualsiasi altro blocco di server. Il flag default_server può essere aggiunto una sola volta in un blocco server con qualsiasi combinazione IP: porta specificata come parametro della direttiva ASCOLTA. Tuttavia, il flag default_server può essere utilizzato più volte su diverse combinazioni di IP: porta: porta.

Prima di utilizzare default_server in nginx, è necessario installare nginx sul tuo sistema se non lo si è già!

Come installare nginx in centOS

In primo luogo, apri il tuo terminale CentOS premendo "Ctrl+alt+t"E poi scrivi il comando di seguito:

$ sudo yum installa nginx

L'output senza errori dichiara che Nginx è installato correttamente sul sistema.

Come abilitare nginx in centOS

Ora, utilizza il comando di seguito per abilitare NGINX sul sistema CentrOS:

$ sudo systemctl abilita nginx

Successivamente, avvia il servizio NGINX:

$ sudo systemctl avvia nginx

Come impostare le regole del firewall per Nginx in CentOS

La prossima cosa che faremo è impostare le impostazioni del firewall per consentire le connessioni esterne per NGINX, in esecuzione sulla porta 80 Per impostazione predefinita. IL firewall-cmd è il comando utilizzato per la gestione della configurazione permanente e di runtime firewalld.

Per abilitare permanentemente le connessioni HTTP sulla porta 80, scrivi il comando di seguito nel tuo terminale CentOS:

$ sudo firewall-cmd --permanent-siervice = http

Per verificare se il file Http Il servizio firewall è stato aggiunto correttamente al sistema, eseguire questo comando:

$ sudo firewall-cmd --permanent-list-tutto

Ora devi ricaricare il servizio firewall:

$ sudo firewall-cmd--ricarichi

Come impostare i server in nginx

Nel file di configurazione Nginx, le direttive di configurazione del server, come il nome del server E Porta TCP sono specificati nel blocco server . La Direttiva Ascolta indica a NGINX di ascoltare le connessioni HTTP sulla porta IP e TCP specificata. Quando Nginx gestisce una richiesta, la direttiva del nome del server gli indica di selezionare un server specifico da un elenco di numerosi blocchi di server.

Se si desidera impostare un server virtuale in NGINX, quindi nel tuo editor Nano, apri il file di configurazione Nginx "/etc/nginx/nginx.conf":

$ sudo nano/etc/nginx/nginx.conf

Il tuo file di configurazione Nginx sembrerà così:

Il file di configurazione Nginx dovrebbe contenere almeno una direttiva del server per la definizione di un server virtuale. Durante l'elaborazione di una richiesta, Nginx prima determina quale server virtuale gestirà la richiesta. Nel contesto HTTP, un server virtuale è definito da una direttiva del server, come ad esempio:

http
server
# Configurazione del server

Nel blocco del server, è possibile configurare tutte le impostazioni relative al server particolare:

Direttive di più server vengono aggiunte al contesto HTTP per la definizione di più server virtuali. IL "Ascoltare"La direttiva nel blocco di configurazione del server viene utilizzata per l'aggiunta dell'indirizzo IP e della porta su cui il server ascolta le richieste. Gli indirizzi IPv4 e IPv6 sono consentiti e gli indirizzi IPv6 devono essere aggiunti all'interno delle staffe quadrate.

La configurazione di un server che ascolta sulla porta 8080 e l'indirizzo IP 127.0.0.1 è mostrato nell'esempio seguente:

http
server
Ascolta 127.0.0.1: 8080;
# Configurazione aggiuntiva del server

Come impostare un server predefinito in nginx

Nel Nginx File di configurazione, il default_server l'opzione specifica il server predefinito a cui verrà inoltrata una richiesta client con un dominio sconosciuto e un campo host vuoto. Ad esempio, quando un client scrive l'indirizzo IP del server in un browser o ha molti domini, come LinuxHint.com, test1.Linuxhint.com e test2.Linuxhint.com, non tutti sono menzionati nel file di configurazione Nginx.

Se non hai aggiunto il "default_server"Parametro a qualsiasi server virtuale, il primo server verrà considerato il valore predefinito. Tuttavia, è possibile specificare esplicitamente un default_server come segue:

server
Ascolta 80 Default_Server;
#..

La configurazione Nginx considererà questo server come "default_server":

È inoltre possibile aggiungere un altro parametro di configurazione come il nome del server e la directory che contiene tutti i file di configurazione:

server
Ascolta 80 Default_Server;
nome del server _;
root/usr/share/nginx/html;

Salva le righe aggiuntive in "/etc/nginx/nginx.conf"File premendo"Ctrl+O":

Ora, testa il file di configurazione Nginx e la sua sintassi eseguendo il "nginxComando "con il"-T" opzione:

$ sudo nginx -t

Dopo test riusciti, riavviare il Nginx Servizio in modo che il tuo sistema abbia effetto dalle modifiche aggiunte:

$ sudo systemctl riavvio nginx

Conclusione

Nel Nginx File di configurazione, il blocco server specifica un server virtuale per la gestione di tipi specifici di richieste. Dopo aver configurato vari blocchi di server, gli amministratori scelgono i blocchi per la connessione. Questa selezione si basa sull'indirizzo IP, la porta e il nome di dominio della richiesta. Tuttavia, puoi anche specificare un file default_server Per gestire le richieste in arrivo. In questo post, abbiamo spiegato Default_Server e come impostare i server virtuali, incluso il server predefinito in NGINX.