Nginx

Come installare e configurare un server Nginx per la prima volta

Come installare e configurare un server Nginx per la prima volta
Nginx è uno dei server Web più diffusi e viene utilizzato come server proxy, server proxy inverso, bilanciamento del carico. È un'alternativa popolare al vecchio server Web Apache, poiché è progettato tenendo a mente le applicazioni ad alta intensità di risorse. È guidato dagli eventi, asincrono e non bloccante, e quindi spesso batte Apache in termini di prestazioni. Nginx viene spesso utilizzato in server Web di grandi dimensioni a cui milioni di utenti si connettono contemporaneamente per accedere alle risorse.

Essendo asincrono, la capacità di gestire milioni di utenti senza rallentare il server lo rende la scelta numero uno in molte aziende per distribuire i propri sistemi. Questa guida mostra come installare e configurare facilmente i server web Nginx. La guida utilizza Ubuntu 18.04 come versione perché è LTS; quindi ha un supporto a lungo termine che è richiesto in un ambiente di produzione. L'installazione e la configurazione di un server Web Nginx sono relativamente semplici, ma richiedono una serie di passaggi.

Installazione

Queste istruzioni sono state scritte per Ubuntu 18.04 LTS, e quindi non dovrebbe essere usato in una versione Linux diversa a meno che gli stessi comandi non funzionino anche lì. Si consiglia di installare Nginx in un normale account utente con autorizzazione sudo per mitigare il rischio per la sicurezza. Tuttavia, questo articolo non dimostra come creare un account utente in quanto non rientra nel suo ambito.

  1. Prima di installare Nginx, aggiorna le informazioni sul pacchetto locale, quindi aggiorna i pacchetti con i seguenti comandi. Si assicura che l'ultima versione di Nginx venga recuperata dal repository (server) quando viene utilizzato il comando di installazione di Nginx. Il comando Dist-upgrade gestisce in modo intelligente le dipendenze per prevenire problemi di incompatibilità tra diversi pacchetti.
apt-get update && apt-get dist-upgrade
  1. Installa Nginx con il seguente comando
apt-get install nginx
  1. L'installazione richiede solo l'utilizzo di 3 comandi principali, quindi Nginx viene installato nel server. Poiché in questa guida, Nginx viene utilizzato come server Web, l'indice.html viene creato non appena Nginx è installato ed è possibile accedervi tramite l'indirizzo IP esterno del server.

http://Indirizzo IP

  1. Anche se è installato, è importante assicurarsi che il servizio Nginx si avvii automaticamente nel caso in cui il server venga riavviato per qualche motivo. Può essere fatto come segue.
sudo systemctl abilita nginx
  1. Utilizzare i seguenti due comandi per regolare i permessi del file system. Il primo comando assegna il nome dell'utente attualmente connesso al permesso del file. Se è root, allora è root, se è un nome personalizzato, allora è il suo nome. Con il secondo comando si impostano i permessi del file. Poiché l'autorizzazione per "tutti gli utenti" è impostata su R, il file può essere letto da chiunque, il che è consigliato per i file accessibili pubblicamente. Standard W per il permesso di scrittura, che è richiesto al proprietario per apportare modifiche al file e risulta utile quando un file viene modificato tramite uno script mentre si trova nel server, ad esempio nella dashboard di WordPress.
sudo chown -R $USER:$USER /var/www/html
sudo chmod -R 755 /var/www/esempio.come

Configurazione

L'installazione di Nginx è semplice come descritto sopra, ma la configurazione richiede uno sforzo maggiore e dipende anche dai requisiti e dall'ambiente del server. Questa guida mostra come configurare un server web nginx per un dominio, come regolare le impostazioni di base, come impostare SSL/TLS, che è richiesto da Google per migliorare il rango del sito web, e infine quali comandi sono coinvolti nell'impostazione su un server Nginx.

  1. Usa il seguente comando per aprire il file predefinito di Nginx tramite l'editor nano. Il file predefinito viene creato automaticamente quando Nginx viene installato per la prima volta e definisce la configurazione per un server web. Questa configurazione contiene un blocco server dedicato a un nome di dominio ed elabora le richieste al suo dominio secondo le regole all'interno del suo confine. Nano editor è solo un editor di console che aiuta ad aprire facilmente i file di testo. Si consiglia vivamente di utilizzare un editor migliore come Notepad ++ con estensione NppFTP in quanto è abbastanza intuitivo rispetto a un editor di testo della console.
nano /etc/nginx/sites-available/default

Il file di configurazione contiene alcune righe importanti come mostrato nel seguente frammento di codice.

nome_server google.com www.Google.come server
ascolta 80 default_server;
ascolta [::]:80 default_server;
nome del server _;
root   /var/www/html/;
indice indice.indice php.indice html.htm;
Posizione /
       try_files $uri $uri/ =404;
     
  1. Si consiglia di riavviare il server una volta configurato inizialmente. Riavviando il servizio nginx, ricarica anche il file di configurazione. Se è stata apportata una semplice modifica al file di configurazione, è sufficiente anche utilizzare reload anziché riavviare per evitare che la connessione cada al server.
sudo systemctl riavvia nginx
  1. Oggigiorno è importante crittografare la connessione al sito Web per migliorare il posizionamento del sito nell'indice di Google. La crittografia può essere eseguita implementando il certificato SSL/TLS nel server web. Esistono numerosi certificati disponibili sul mercato, sia a pagamento che gratuiti, ma questa guida utilizza un certificato gratuito noto come Let's Encrypt. È gratuito ma è necessario rinnovare il certificato una volta ogni 3 mesi rispetto a un anno nei certificati commerciali. Il seguente comando aggiunge certbot PPA (archivio di pacchetti personali) al sistema. Questi PPA sono ospitati nel launchpad.net, e quando si usa apt-get, vengono scaricati immediatamente nel sistema.
sudo add-apt-repository ppa:certbot/certbot
  1. Il seguente comando scarica e installa certbot sapore per nginx. Come accennato in precedenza, viene scaricato dal launchpad.netto.
sudo apt-get install python-certbot-nginx
  1. Una volta installato, usa il seguente comando per abilitare SSL/TLS per il nome di dominio specificato e il suo sapore www. Questo dovrebbe essere lo stesso dominio configurato nei passaggi sopra indicati. Se il dominio non è configurato, assicurati di averlo fatto prima di questo passaggio.
sudo certbot --nginx -d domain.estensione
-d www.dominio.estensione
  1. Quando SSL/TLS è stato installato come sopra, riavviare nuovamente il server per rendere effettive le modifiche.
sudo systemctl riavvia nginx
  1. Si consiglia inoltre di utilizzare la configurazione indicata nel seguente sito Web poiché modifica la configurazione SSL/TLS per un requisito specificato. Le opzioni importanti nel seguente sito Web sono, moderne, intermedie e vecchie. L'opzione moderna rende la connessione altamente sicura, ma a scapito della compatibilità, e quindi il sito non verrà caricato su browser meno recenti. L'opzione intermedia bilancia sia la compatibilità che la sicurezza e quindi consigliata per la maggior parte dei siti web. Il vecchio tipo è per i sistemi legacy. Non è consigliato per i siti di produzione, ma per avvisare gli utenti quando visitano il sito da browser Web antichi, come Internet Explorer 5.

https://ssl-config.mozilla.org/

Conclusione

Nginx è un server proxy, un server proxy inverso e un bilanciatore del carico e, grazie alle sue elevate prestazioni, viene spesso utilizzato nelle aziende per servire i propri servizi web. Questa guida insegna come installare e configurare facilmente un server Nginx per la prima volta su un server Ubuntu. L'installazione e la configurazione non sono così difficili poiché tutti i comandi astraggono le attività complicate sotto il livello. Tutto sommato, non c'è motivo di non utilizzare Nginx a meno che l'azienda non si aspetti un requisito diverso che Nginx non offre.

OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...
SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...