Nginx pronunciava engine x
è un server HTTP e proxy inverso gratuito, open source e ad alte prestazioni, responsabile della gestione del carico di alcuni dei più grandi siti su Internet.
Nginx può essere utilizzato come server Web autonomo e come proxy inverso per Apache e altri server Web.
Rispetto ad Apache, Nginx può gestire un numero molto elevato di connessioni simultanee e ha un footprint di memoria inferiore per connessione.
Questo tutorial ti insegnerà come installare e gestire Nginx sul tuo computer CentOS 7.
Prerequisiti #
Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo e di non avere Apache o altri servizi in esecuzione sulla porta 80 o 443.
Installazione di Nginx su CentOS #
Segui i passaggi seguenti per installare Nginx sul tuo server CentOS:
-
I pacchetti Nginx sono disponibili nei repository EPEL. Se non hai già installato il repository EPEL puoi farlo digitando:
sudo yum install epel-release
-
Installa Nginx digitando il seguente comando yum:
sudo yum install nginx
Se è la prima volta che installi un pacchetto dal repository EPEL, yum potrebbe chiederti di importare la chiave EPEL GPG:
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]:
In tal caso, digita
y
e premiEnter
. -
Una volta completata l'installazione, abilita e avvia il servizio Nginx con:
sudo systemctl enable nginx
sudo systemctl start nginx
Verifica lo stato del servizio Nginx con il seguente comando:
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 Mon 2018-03-12 16:12:48 UTC; 2s ago Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1680 (nginx) CGroup: /system.slice/nginx.service ├─1680 nginx: master process /usr/sbin/nginx └─1681 nginx: worker process
-
Se il tuo server è protetto da un firewall devi aprire entrambi gli HTTP (
80
) e HTTPS (443
) porte.Utilizzare i seguenti comandi per aprire le porte necessarie:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
-
Per verificare la tua installazione di Nginx, apri
http://YOUR_IP
nel tuo browser preferito e vedrai la pagina di benvenuto di Nginx predefinita come mostrato nell'immagine qui sotto:
Gestisci il servizio Nginx con systemctl #
Puoi gestire il servizio Nginx allo stesso modo di qualsiasi altra unità di sistema.
Per interrompere il servizio Nginx, esegui:
sudo systemctl stop nginx
Per ricominciare, digita:
sudo systemctl start nginx
Per riavviare il servizio Nginx:
sudo systemctl restart nginx
Ricarica il servizio Nginx dopo aver apportato alcune modifiche alla configurazione:
sudo systemctl reload nginx
Se vuoi disabilitare il servizio Nginx per l'avvio all'avvio:
sudo systemctl disable nginx
E per riattivarlo di nuovo:
sudo systemctl enable nginx
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
. - Per semplificare la manutenzione della configurazione di Nginx, si consiglia di creare un file di configurazione separato per ciascun dominio.
- I nuovi 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 di cui hai bisogno. - È una buona idea seguire una convenzione di denominazione standard, ad esempio se il tuo nome di dominio è
mydomain.com
quindi il tuo file di configurazione dovrebbe essere chiamato/etc/nginx/conf.d/mydomain.com.conf
- Se utilizzi segmenti di configurazione ripetibili nei blocchi del server del tuo dominio, è una buona idea creare una directory denominata
/etc/nginx/snippets
refactoring di quei segmenti in snippet e includere il file snippet nei blocchi del server. - 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