Server Dedicati search
clear

Come configurare un web server Nginx su un ambiente Linux

Nginx è un software gratuito e open source. È un'applicazione server web rilasciata nel 2004, creata per risolvere il cosiddetto “problema c10k”, ossia l’incapacità di un server web, che utilizza i thread per gestire le richieste degli utenti, di gestire più di 10.000 connessioni contemporaneamente.

Nginx è un'alternativa ad Apache ed è considerato uno dei server web HTTP più popolari al mondo. A differenza di Apache, tende a consumare meno risorse e migliora la reattività del server. Il suo design basato sugli eventi consente di impostare configurazioni avanzate e gestire un carico elevato di connessioni simultanee. Inoltre funziona anche come proxy inverso, bilanciatore del carico e server di posta standard.

Nginx risulta molto più adatto di Apache (che utilizza la struttura basata su thread) per i siti web ad alto traffico che necessitano di prestazioni elevate e di velocità. Il modello basato su eventi distribuisce le richieste degli utenti tra i processi di lavoro in modo efficiente, garantendo quindi una scalabilità migliore.

É una scelta eccellente per la gestione di siti ad alto traffico con l’utilizzo di minime risorse. É infatti utilizzato da siti web ad alto traffico come Netflix, Hulu, Pinterest e Airbnb.


Per installare Nginx, è necessario utilizzare il seguente comando:

su ambiente linux Debian/Ubuntu:

 

sudo apt update

sudo apt install nginx

 

su ambiente linux CentOS:

 

sudo yum install epel-release

sudo yum install nginx

sudo systemctl enable nginx

sudo systemctl start nginx

 

Se il server è protetto da un firewall, è necessario aprire le porte HTTP (80) e HTTPS (443), utilizzando i seguenti comandi:

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

 

L’utente per verificare che l’installazione sia stata completata correttamente dovrà puntare il suo browser all'indirizzo IP del suo server. Se la procedura è andata a buon fine l’utente visualizzerà la seguente immagine. É bene ricordare però che nel caso in cui ambiente linux sia CentOS potrebbe apparire una diversa schermata.

Qualora l’utente ricevesse un messaggio di errore "test failed" per il file nginx.conf, potrebbe riscontrare un problema con l'indirizzo IP.

Il servizio Nginx consente connessioni IPv4 e IPv6, per impostazione predefinita. Il test avrà esito negativo se il server non supporta IPv6. Tuttavia, questo problema può essere risolto modificando il file di configurazione principale, seguendo pochi semplici passaggi:

Aprire il file di configurazione principale, /etc/nginx/nginx.conf. 

 

Trovare e commentare la seguente riga:

 

listen [::]:80 default_server;


A
ggiungere "#" all'inizio della riga.

 

Salvare le modifiche apportate e ricaricare Nginx.

 

sudo systemctl reload nginx

 

Una volta inserito l’indirizzo IP del server nel browser, l’utente potrà visualizzare la pagina di test Nginx predefinita.

 

 

Gestione del servizio NGINX


È possibile gestire il servizio Nginx allo stesso modo di qualsiasi altra unità di sistema. 

 

Per interrompere il servizio Nginx, eseguire:

sudo systemctl stop nginx


Per avviarlo di nuovo, digitare:

sudo systemctl start nginx


Per riavviare il servizio Apache:

sudo systemctl restart nginx


Per ricaricare il servizio NGINX dopo aver apportato alcune modifiche alla configurazione:

sudo systemctl reload nginx


Se si desidera disabilitare l'avvio del servizio Apache all'avvio:

sudo systemctl disable nginx


E per riattivarlo di nuovo:

sudo systemctl enable nginx

 

Creare un sito web

La pagina predefinita su Debian/Ubntu si trova in /var/www/html/ mentre su CentOS potrebbe essere /usr/share/nginx. Puoi posizionare le tue pagine statiche qui o utilizzare l'host virtuale e posizionarlo altrove.

La root directory che contiene i files html del server Nginx predefinita, su CentOS è /usr/share/nginx/html,  mentre su Debian/Ubuntu è /var/www/html.


Creiamo una semplice pagina HTML in /var/www/keliweb/ e crea il file index.html all’interno della cartella.

cd /var/www mkdir keliweb cd keliweb nano index.html


Incolla il seguente codice all’interno del file index.html:

<html> <head> </head> <body> <h1>Keliweb Spacca con Nginx!</h1> <p>Il nostro nginx web server sta funzionando!</p> </body> </html>

 


Impostare il Virtual Host


Il Virtual Host è un metodo per ospitare più nomi di dominio sullo stesso server.


NB: nelle distribuzioni basate su Ubuntu e Debian, i file di configurazione sono memorizzati nella directory /etc/nginx/sites-available, mentre su CentOS nella directory /etc/nginx/conf.d.

 

cd /etc/nginx/sites-enabled nano keliweb

 

Incolla il seguente codice all’interno del file:

server { listen 80; listen [::]:80; server_name esempio.keliweb.com; root /var/www/keliweb; index index.html; location / { try_files $uri $uri/ =404; } }

 

root è la directory in cui abbiamo inserito il nostro file .html. index viene utilizzato per specificare il file disponibile quando si visita la directory principale del sito. server_name sarà l’indirizzo al quale sarà puntato il server web.

 

Per essere sicuri che il sito funzioni, riavviamo adesso Nginx con il seguente comando:

 

sudo systemctl restart nginx

 

Controlliamo se tutto funziona come dovrebbe. Apriamo il sito appena creato nel browser web.

 

Il server web Nginx è stato correttamente configurato.

Hai trovato utile questa risposta?

Hai ancora bisogno di aiuto?

Contatti

Contatti

Richiedi informazioni, assistenza o preventivi

Chat

Chat

Chiedi informazioni su servizi e promo

Ticket

Ticket

Invia una richiesta per supporto tecnico

Pagamenti

Pagamenti

Effettua un pagamento in pochi click