Nginx pronunciato "engine x" è un server HTTP e proxy inverso open source ad alte prestazioni responsabile della gestione del carico di alcuni dei più grandi siti su Internet. Può essere utilizzato come server Web autonomo, bilanciamento del carico, cache dei contenuti e proxy inverso per server HTTP e non HTTP.
Rispetto ad Apache, Nginx può gestire un numero molto elevato di connessioni simultanee e ha un footprint di memoria inferiore per connessione.
Questo tutorial spiega come installare e gestire Nginx su CentOS 8.
Prerequisiti #
Prima di continuare, assicurati di aver effettuato l'accesso come utente con privilegi sudo e di non avere Apache o altri processi in esecuzione sulla porta 80 o 443.
Installazione di Nginx su CentOS 8 #
A partire da CentOS 8, il pacchetto Nginx è disponibile nei repository CentOS predefiniti.
Installare Nginx su CentOS 8 è semplice come digitare:
sudo yum install nginx
Una volta completata l'installazione, abilita e avvia il servizio Nginx con:
sudo systemctl enable nginx
sudo systemctl start nginx
Per verificare che il servizio sia in esecuzione, controlla il suo stato:
sudo systemctl status nginx
L'output dovrebbe essere simile a questo:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-06 18:35:55 UTC; 17min ago
...
Regolazione del firewall #
FirewallÈ la soluzione firewall predefinita su Centos 8.
Durante l'installazione, Nginx crea un file di servizio firewalld con regole predefinite per consentire l'accesso a HTTP (80
) e HTTPS (443
) porte.
Utilizzare i seguenti comandi per aprire le porte necessarie in modo permanente:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Ora puoi testare la tua installazione di Nginx, aprendo http://YOUR_IP
nel tuo browser web. Dovresti vedere la pagina di benvenuto predefinita di Nginx, che dovrebbe assomigliare all'immagine qui sotto:
Struttura e best practice del file di configurazione Nginx #
- Tutti i file di configurazione di Nginx si trovano in
/etc/nginx/
directory. - Il file di configurazione principale di Nginx è
/etc/nginx/nginx.conf
. - La creazione di un file di configurazione separato per ciascun dominio semplifica la manutenzione del server.
- I file di blocco del server Nginx devono terminare con
.conf
ed essere archiviato in/etc/nginx/conf.d
directory. Puoi avere tutti i blocchi di server che vuoi. - È buona norma seguire una convenzione di denominazione standard. Ad esempio, se il nome di dominio è
mydomain.com
quindi il file di configurazione dovrebbe essere chiamatomydomain.com.conf
- Se utilizzi segmenti di configurazione ripetibili nei blocchi del server di dominio, è una buona idea riformulare tali segmenti in snippet.
- File di registro Nginx (
access.log
eerror.log
) si trovano in/var/log/nginx/
directory. Si consiglia di avere unaccess
diverso eerror
log per ogni blocco di server. - Puoi impostare la directory principale del documento di dominio in qualsiasi posizione desideri. Le posizioni più comuni per webroot includono:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
/usr/share/nginx/html