Nginx

Come installare Nginx e configurare su CentOS 8

Come installare Nginx e configurare su CentOS 8
Nginx è un server web veloce e leggero. I file di configurazione di Nginx sono davvero semplici e facili da usare. È un'ottima alternativa al server web Apache.  In questo articolo, ti mostrerò come installare e configurare il server web Nginx su CentOS 8. Quindi iniziamo.

Installazione di Nginx:

Nginx è disponibile nel repository ufficiale dei pacchetti di CentOS 8. Quindi, è molto facile da installare.

Innanzitutto, aggiorna la cache del repository del pacchetto DNF come segue:

$ sudo dnf makecache

Ora installa Nginx con il seguente comando:

$ sudo dnf install nginx

Per confermare l'installazione, premere e poi premere .

Nginx dovrebbe essere installato.

Gestire il servizio nginx:

Per impostazione predefinita, nginx il servizio dovrebbe essere non attivo (non in esecuzione) e Disabilitato (non si avvia automaticamente all'avvio).

$ sudo systemctl status nginx

Puoi iniziare il nginx servizio come segue:

$ sudo systemctl start nginx

nginx il servizio dovrebbe essere in esecuzione.

$ sudo systemctl status nginx

Ora, aggiungi nginx servizio all'avvio del sistema come segue:

$ sudo systemctl abilita nginx

Configurazione del firewall:

È necessario configurare il firewall per consentire l'accesso alla porta HTTP 80 e alla porta HTTPS 443 per accedere al server Web Nginx da altri computer sulla rete.

Puoi consentire l'accesso alla porta HTTP e HTTPS con il seguente comando:

$ sudo firewall-cmd --add-service=http,https --permanent

Ora, affinché le modifiche abbiano effetto, esegui il seguente comando:

$ sudo firewall-cmd --reload

Test del server Web:

Devi conoscere l'indirizzo IP o il nome di dominio del server web Nginx per accedervi.

Puoi trovare l'indirizzo IP del tuo server web Nginx con il seguente comando:

$ ip a

Nel mio caso, l'indirizzo IP è 192.168.20.175. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo d'ora in poi.

Ora, visita http://192.168.20.175 dal tuo browser web. Dovresti vedere la pagina seguente. Significa che il server web Nginx sta funzionando.

File di configurazione di nginx:

I file di configurazione del server web Nginx si trovano nel /etc/nginx/ directory.

$ albero /etc/nginx

/etc/nginx/nginx.conf è il file di configurazione principale di Nginx.

La directory radice Web predefinita del server Web Nginx è /usr/share/nginx/html/. Quindi, è qui che dovresti conservare i file del tuo sito web.

Configurazione di un server Web di base:

In questa sezione, ti mostrerò come configurare un server web Nginx di base.

Innanzitutto, esegui un backup del file di configurazione Nginx originale con il seguente comando:

$ sudo mv -v /etc/nginx/nginx.conf /etc/nginx/nginx.conf.originale

Ora, crea un nuovo file di configurazione Nginx come segue:

$ sudo nano /etc/nginx/nginx.conf

Ora, digita le seguenti righe nel /etc/nginx/nginx.conf file e salva il file.

utente nginx nginx;
worker_processes automatico;
error_log /var/log/nginx/error.registro;
pid /run/nginx.pid;
 
eventi
connessioni_lavoratori 1024;

 
http
include             /etc/nginx/mime.tipi;
default_type        application/octet-stream;
 
server
ascolta          80;
nome_server     esempio.com www.esempio.com;
root            /usr/share/nginx/html;
indice           indice.html;
access_log      /var/log/nginx/access.registro;

Qui, utente l'opzione viene utilizzata per impostare l'utente e il gruppo di esecuzione di Nginx su nginx rispettivamente.

Il error_log l'opzione viene utilizzata per impostare il percorso del file di registro degli errori su /var/log/nginx/error.log. Qui è dove verranno memorizzati gli errori relativi al server Nginx.

La configurazione del server Nginx principale è definita nel file server sezione all'interno del http sezione. Puoi definirne più di uno server sezione all'interno del http sezione se necessario.

Nel server sezione,

ascolta l'opzione viene utilizzata per configurare Nginx per ascoltare la porta 80 (porta HTTP) per le richieste web.

nome del server l'opzione viene utilizzata per impostare uno o più nomi di dominio per il server web Nginx. Se le tue impostazioni DNS sono corrette, puoi accedere al server web Nginx utilizzando questi nomi di dominio.

access_log viene utilizzato per impostare il percorso del file di registro di accesso su /var/log/nginx/access.log. Quando qualcuno tenta di accedere al server web Nginx, le informazioni di accesso (i.e. indirizzo IP, URL, codice di stato HTTP) verrà registrato in questo file.

Il Posizione l'opzione viene utilizzata per impostare la directory principale del server Web Nginx.

qui, il radice la directory è /usr/share/nginx/html/.

Qui è dove dovrebbero essere conservati tutti i file del sito web. Il indice set di opzioni indice.html come file predefinito da servire se non è richiesto alcun file specifico. Ad esempio, se visiti http://192.168.20.175/miofile.html , quindi Nginx ritornerà il mio file.html file. Ma, se visiti http://192.168.20.175/, quindi Nginx ti invierà l'indice.html in quanto non è stato richiesto alcun file specifico.

Ora, rimuovi tutti i file dal /usr/share/nginx/html/ directory (radice web) come segue:

$ sudo rm -rfv /usr/share/nginx/html/*

Ora, crea un nuovo indice.html file nel /usr/share/nginx/html/ directory come segue:

Ora, digita le seguenti righe in indice.html file e salva il file.

Ciao mondo


© 2020 LinuxSuggerimento.come

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Ora, visita http://192.168.20.175 dal tuo browser web e dovresti vedere la seguente pagina. congratulazioni! Hai configurato il tuo primo server web Nginx.

Configurazione delle pagine di errore:

Puoi configurare le pagine di errore in Nginx. Ad esempio, se una pagina/file/directory non è disponibile, il codice di stato HTTP 404 verrà restituito al browser. Puoi impostare una pagina di errore HTML personalizzata per il codice di stato HTTP 404 che verrà restituito al browser.

Per farlo, aggiungi la seguente riga nel server sezione di nginx.conf file.

server

error_page 404 /404.html;

Ora crea un file 404.html nella radice web di Nginx /usr/share/nginx/html/ come segue:

$ sudo nano /usr/share/nginx/html/404.html

Ora, digita le seguenti righe in 404.html e salva il file.

Errore 404


pagina non trovata


© 2020 LinuxSuggerimento.come

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Ora prova ad accedere a un percorso inesistente (http://192.168.20.175/nopage.html) e dovresti vedere la seguente pagina di errore.

Se la 404.html il file si trova in un percorso del filesystem diverso (diciamo /usr/share/nginx/html/errors/ directory), puoi mappare l'URL /404.html ad esso come segue:

server

error_page 404 /404.html;
posizione /404.html
root            /usr/share/nginx/html/errors;


Ora, crea una nuova directory  /usr/share/nginx/html/errors/ come segue:

$ sudo mkdir /usr/share/nginx/html/errors

Ora crea un nuovo file 404.html nella directory /usr/share/nginx/html/errors/ come segue:

$ sudo nano /usr/share/nginx/html/errors/404.html

Ora, digita le seguenti righe nel 404.html file e salva il file.

PAGINA NON TROVATA


TORNA A CASA

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Ora prova ad accedere a un percorso inesistente (http://192.168.20.175/nopage.html) e dovresti vedere la pagina di errore aggiornata.

Allo stesso modo, puoi impostare la pagina di errore per altri codici di stato HTTP.

Puoi anche impostare la stessa pagina di errore per più codici di stato HTTP. Ad esempio, per impostare la stessa pagina di errore /404.html per i codici di stato HTTP 403 e 404, Scrivi la error_page opzione come segue:

error_page    403 404    /404.html;

Configurazione dei registri:

In Nginx, il error_log e access_log le opzioni vengono utilizzate per registrare i messaggi di errore e accedere alle informazioni.

Il formato del error_log e access_log le opzioni sono:

log_errori /percorso/a/errore/log/file [opzionale:nome-log-personalizzato];
access_log /percorso/a/accesso/log/file [opzionale:nome-log-personalizzato];

Puoi definire il tuo registro degli errori e accedere ai formati di registro se lo desideri.

Per farlo, usa il log_format opzione nel http sezione per definire il formato di registro personalizzato come segue.

http

log_format semplice     '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_sent byte';

server

access_log /var/log/nginx/access.registro semplice;


Qui, il nome del formato di registro è semplice. Alcune variabili nginx vengono utilizzate per definire il formato di registro personalizzato. Visita il Nginx Embedded Variables Manual per conoscere tutte le variabili Nginx.

Il formato del registro personalizzato deve essere racchiuso tra virgolette singole. Il formato del registro può essere definito in una singola riga o in più righe. Ho mostrato come definire il formato del registro in più righe in questo articolo. Non avrai alcun problema con il formato di registro a riga singola, fidati di me!

Una volta formato il registro log semplice è definito, access_log l'opzione è usata per dire a Nginx di usarlo come log di accesso.

Allo stesso modo, puoi impostare un formato di registro degli errori personalizzato utilizzando il error_log opzione.

Ho configurato solo il formato di registro personalizzato per il registro di accesso in questo articolo.

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Ora puoi monitorare il file di registro degli accessi come segue:

$ sudo tail -f /var/log/nginx/access.log

È inoltre possibile monitorare il file di registro degli errori come segue:

$ sudo tail -f /var/log/nginx/error.log

Se lo desideri, puoi monitorare contemporaneamente il registro di accesso e i file di registro degli errori come segue:

$ sudo tail -f /var/log/nginx/error,access.log

Come puoi vedere, viene utilizzato il nuovo formato del registro di accesso.

Negare l'accesso a determinati percorsi:

Puoi usare espressioni regolari per abbinare determinati percorsi URI e negare l'accesso ad esso in Nginx.

Diciamo che il tuo sito web è gestito da Git e vuoi negare l'accesso al .idiota/ directory sulla tua radice web.

Per farlo, digita le seguenti righe nel server sezione di /etc/nging/nginx.conf file:

server

posizione ~ \.idiota
negare tutto;


Come puoi vedere, accedi a qualsiasi percorso che contenga .idiota è negato.

Configurazione della compressione:

Puoi comprimere i contenuti web prima di inviarli al browser usando gzip per risparmiare l'utilizzo della larghezza di banda del server web Nginx.

Ho alcune immagini JPEG nel /usr/share/nginx/html/images/ directory.

Posso accedere a queste immagini utilizzando il percorso URI /immagini.

Per abilitare la compressione gzip solo per le immagini JPEG nel percorso URI /immagini, digitare le seguenti righe nel server sezione di /etc/nginx/nginx.conf file.

server

posizione/immagini
gzip su;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types immagine/jpeg;


Qui, gzip_comp_level viene utilizzato per impostare il livello di compressione. Può essere qualsiasi numero compreso tra 1 e 9. Più alto è il livello, più piccolo sarà il file compresso.

Il file verrà compresso solo se la dimensione del file è superiore gzip_min_length. L'ho impostato su circa 100 KB in questo esempio. Quindi, i file JPEG inferiori a 100 KB non verranno compressi con gzip.

Il  gzip_types è usato per impostare il tipo mime dei file che verranno compressi.

Puoi trovare il tipo MIME dalle estensioni dei file come segue:

$ grep jpg /etc/nginx/mime.tipi

Come puoi vedere, per .jpg o .jpeg estensione del file, il tipo mime è immagine/jpeg.

Puoi impostare uno o più tipi di MIME usando gzip_types opzione.

Se vuoi impostare più tipi di MIME, assicurati di separarli con spazi come segue:

"
gzip_types immagine/immagine jpeg/immagine png/gif;

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Come puoi vedere, Nginx invia file di immagine compressi gzip al browser quando richiesto.

Come puoi vedere nello screenshot qui sotto, il file compresso gzip è più piccolo del file originale.

$ sudo tail -f /var/log/nginx/access.log

Abilitazione di HTTPS:

Puoi abilitare SSL in Nginx molto facilmente. In questa sezione, ti mostrerò come impostare il certificato SSL autofirmato in Nginx.

Per prima cosa, vai a /etc/ssl/ directory come segue:

$ cd /etc/ssl

Ora genera una chiave SSL server.chiave e certificato server.crt con il seguente comando:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
server.server key-out.crt

NOTA: Tu devi avere si apre installato per farlo funzionare. Se il comando openssl non è disponibile, installa si apre con il seguente comando:

$ sudo dnf install openssl  -y

Ora digita il codice del tuo paese di 2 lettere (i.e. US per USA, UK per Regno Unito, RU per Russia, CN per Cina) e premere .

Ora digita il nome del tuo stato/provincia e premi .

Ora digita il nome della tua città e premi .

Ora digita il nome della tua azienda e premi .

Ora digita il nome dell'unità organizzativa della tua azienda che utilizzerà questo certificato e premi .

Ora, digita il nome di dominio completo (FQDN) del tuo server web Nginx e premi . Il certificato SSL sarà valido solo se si accede al server web Nginx utilizzando questo nome di dominio.

Ora digita il tuo indirizzo e-mail e premi .

Il tuo certificato SSL dovrebbe essere pronto.

Il certificato SSL e la chiave devono essere generati nel /etc/ssl/ directory.

$ ls -lh

Ora apri il file di configurazione di Nginx /etc/nginx/nginx.conf e cambia ascolta porta a 443 e digita le seguenti righe nel server sezione.

server

ssl acceso;
certificato_ssl /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.chiave;

Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Nella vita reale, avrai una corretta configurazione del DNS. Ma a scopo di test, ho configurato il nome di dominio basato su file locale sul computer che ho utilizzato per accedere al server Web Nginx da.

Se vuoi seguire, apri il /etc/host file come segue:

$ sudo nano /etc/hosts

Quindi, aggiungi la seguente riga a /etc/host file.

192.168.20.175 www.esempio.come

Ora prova a visitare https://www.esempio.com e dovresti vedere la pagina seguente. Vedrai La tua connessione non è sicura messaggio perché è un certificato autofirmato. Questo va bene solo a scopo di test.

Nella vita reale, acquisterai certificati SSL dalle autorità di certificazione (CA) e li utilizzerai. Quindi, non vedrai questo tipo di messaggio.

Come puoi vedere, Nginx ha servito la pagina web su HTTPS. Quindi, SSL sta funzionando.

Le informazioni SSL di www.esempio.come.

Reindirizzamento delle richieste HTTP a HTTPS:

Se qualcuno visita il tuo sito web tramite il protocollo HTTP (http://www.esempio.com o http://192.168.20.175) invece di HTTPS (https://www.esempio.com), non vuoi rifiutare la richiesta HTTP. Se lo fai, perderai un visitatore. Quello che dovresti davvero fare è reindirizzare l'utente al sito abilitato SSL. È davvero semplice da fare.

Per prima cosa, apri il file di configurazione di Nginx /etc/nginx/nginx.conf e crea un nuovo server sezione all'interno del http sezione come segue:

http

server
ascolta 80;
nome_server www.esempio.com;
ritorno 301 https://www.esempio.com$request_uri;


Questa è la finale /etc/nginx/nginx.conf file:

utente nginx nginx;
worker_processes automatico;
error_log /var/log/nginx/error.registro;
pid /run/nginx.pid;
eventi
connessioni_lavoratori 1024;

http
include             /etc/nginx/mime.tipi;
default_type        application/octet-stream;
log_format simple   '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_sent byte';
 
server
ascolta 80;
nome_server www.esempio.com;
ritorno 301 https://www.esempio.com$request_uri;

server
ascolta          443;
nome_server     www.esempio.com;
ssl acceso;
certificato_ssl /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.chiave;
access_log      /var/log/nginx/access.registro semplice;
Posizione /
root            /usr/share/nginx/html;
indice           indice.html;

posizione/immagini
gzip su;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types immagine/jpeg;

error_page 404 /404.html;
posizione /404.html
root            /usr/share/nginx/html/errors;

posizione ~ \.idiota
negare tutto;


Ora, riavvia nginx servizio come segue:

$ sudo systemctl riavvia nginx

Ora, se provi ad accedere a http://192.168.20.175 o http://www.esempio.com, verrai reindirizzato a https://www.esempio.come.

Quindi, è così che installi e configuri il server web Nginx su CentOS 8. Grazie per aver letto questo articolo.

Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...
Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...