Come installare e configurare Nginx su CentOS 7

Quando si gestiscono server con le distribuzioni CentOS 7 è l'ideale per conoscere tutti i vantaggi e le ampie possibilità che abbiamo quando si tratta di espandere l'uso e il funzionamento del sistema poiché grazie all'essere open source possiamo aggiungere infinite nuove applicazioni o servizi che senza un dubito che sarà di grande aiuto quando si lavora su CentOS 7.

Una delle possibilità che come amministratori o parte del supporto IT dobbiamo aggiungere CentOS 7 è sfruttare il suo potenziale per creare un server proxy che espanda le possibilità di connettività e comunicazione all'interno dell'organizzazione e lo otteniamo grazie a Nginx.

Oggi questo tutorial analizzerà in dettaglio come possiamo installare e configurare Nginx in CentOS 7 con totale affidabilità e in questo modo estenderemo le capacità naturali di questa grande distribuzione Linux.

Cos'è NginxNginx [engine x] è un server HTTP e proxy inverso che può svolgere i ruoli di un server proxy di posta o di un server proxy TCP/UDP consentendo maggiori opzioni di connettività all'interno dell'organizzazione.

Nginx è stato scritto da Igor Sysoev in Russia, dove è stato a lungo eseguito con successo su popolari siti russi come Yandex, Mail.Ru, VK e Rambler, ma attualmente Nginx fornisce supporto e sicurezza a siti noti come Netflix, Wordpress.com, FastMail.FM.

Tutti i sorgenti e la documentazione di Nginx sono distribuiti con la licenza di tipo BSD.

Sistemi operativi supportatiNginx può funzionare correttamente su uno dei seguenti sistemi operativi:

  • FreeBSD 3-11 / i386; FreeBSD 5-11 / amd64;
  • Linux 2.2 - 4 / i386; Linux 2.6 - 4 / amd64; Linux 3-4 / armv6l, armv7l, aarch64, ppc64le;
  • Solaris 9/i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • macOS/ppc, i386;
  • Windows XP: Windows 10, Windows Server 2003-2012.

Caratteristiche di Nginx come server HTTPNginx è una risorsa software piena di funzionalità che sarà utile per tutte le organizzazioni che desiderano espandere la propria gamma di servizi e ruoli, queste funzionalità come server HTTP sono determinate dalle categorie come segue:

  • Supporto per HTTP/2 con priorità ponderata e dipendente.
  • Supporto SSL e TLS SIN.
  • Supporto accelerato con FastCGI, uwsgi, SCGI e cache server memcached.
  • Bilanciamento del carico e tolleranza ai guasti.
  • Architettura modulare.
  • Proxy inverso accelerato con memorizzazione nella cache.
  • File server statico e indicizzato, autoindicizzato.
  • Include filtri gzipping, intervalli di byte, risposte chunky, XSLT, SSI e filtro di trasformazione dell'immagine.
  • supporta connessioni keep-alive e pipeline.
  • Reindirizza i codici di errore 3xx-5xx.
  • Server virtuali basati su nome e IP.
  • Include il modulo di riscrittura che modifica l'URI tramite le espressioni regolari.
  • Esegue diverse funzioni a seconda della direzione del cliente.
  • Controllo degli accessi in base all'indirizzo IP del client, tramite password (autenticazione HTTP di base).
  • Ha i metodi PUT, DELETE, MKCOL, COPY e MOVE.
  • Convalida i riferimenti HTTP.
  • Possibilità di limitare il numero di connessioni simultanee o richieste da un indirizzo.
  • Geolocalizzazione basata su IP.
  • Include Perl.
  • Supporta NginScript.

Funzionalità di Nginx come server proxy di posta

  • Supporta i metodi di autenticazione POP3: USER/PASS, APOP, AUTH LOGIN / PLAIN / CRAM-MD5, IMAP: LOGIN, AUTH LOGIN / PLAIN / CRAM-MD5, SMTP: AUTH LOGIN / PLAIN / CRAM-MD5.
  • Consente di reindirizzare un utente a un server IMAP o POP3 utilizzando un server di autenticazione HTTP esterno.
  • Supporto SSL, STARTTLS e STLS.
  • Consente l'autenticazione dell'utente tramite un server di autenticazione HTTP esterno e reindirizza a un server SMTP interno.

Funzionalità di Nginx come server TCP/UDP

  • Proxy TCP e UDP generico.
  • Bilanciamento del carico e tolleranza ai guasti.
  • Supporto SSL e TLS SNI per TCP.
  • Geolocalizzazione basata su IP.
  • Esegue diverse funzioni a seconda della direzione del cliente.
  • Controllo degli accessi in base all'indirizzo del cliente.
  • Supporta formati di log di accesso, scrittura di log del buffer, rotazione veloce dei log e log di syslog.

Funzionalità aggiuntive di Nginx

  • Consente la riconfigurazione e l'aggiornamento di un eseguibile senza interrompere il servizio clienti.
  • Supporto per kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), / dev / poll (Solaris 7 11/99 +), porte eventi (Solaris 10), select e poll.
  • Supporta varie funzionalità di kqueue tra cui EV_CLEAR.
  • Configurazione flessibile.
  • Accetta filtri (FreeBSD 4.1+, NetBSD 5.0+) e supporto per TCP_DEFER_ACCEPT (Linux 2.4+).
  • Le operazioni di copia dei dati sono ridotte al minimo per evitare di influire sulle prestazioni del sistema.

1. Aggiorna CentOS 7


Il primo passo da eseguire è aggiornare i pacchetti di sistema, per i quali eseguiremo la seguente riga:
 yum -y aggiornamento

2. Installa Nginx su CentOS 7

Passo 1
Una volta aggiornato CentOS 7, sarà necessario per noi installare i repository EPEL per la corretta installazione di Nginx, per installare questi repository eseguiremo la seguente riga:

 yum install epel-release

Passo 2
Inseriamo la lettera per confermare il download e l'installazione del repository EPEL e una volta terminato vedremo quanto segue:

Passaggio 3
Con questo procediamo all'installazione di Nginx eseguendo il seguente comando. Accettiamo il download e l'installazione di pacchetti Nginx.

 yum installa nginx

3. Gestisci il server HTTP Nginx su CentOS 7

Passo 1
Una volta installato Nginx, sarà necessario eseguire le seguenti righe:

 systemctl start nginx (avvio del servizio) systemctl enable nginx (servizio abilitato) systemctl status nginx (stato del servizio) 

Come possiamo vedere, Nginx è attivo e in esecuzione.

4. Configura Firewall per Nginx Access su CentOS 7

Il passaggio successivo consiste nell'abilitare l'accesso Nginx su firewalld poiché il firewall integrato di CentOS 7 è configurato per bloccare il traffico Nginx. Per questo dobbiamo creare le regole che abilitano i pacchetti in entrata in HTTP e HTTPS in CentOS 7 utilizzando le seguenti righe:

 firewall-cmd --zone = public --permanent --add-service = http firewall-cmd --zone = public --permanent --add-service = https firewall-cmd -reload

5. Accedi a Nginx su CentOS 7

Passo 1
Una volta abilitati i permessi nel firewall CentOS 7, accederemo a un browser e nella barra degli indirizzi inseriremo la seguente sintassi.

 http: // Server_IP

INGRANDIRE

Passo 2
Come possiamo vedere, Nginx è stato installato e configurato correttamente. Alcune delle principali directory di Nginx sono:

  • Root directory
 / etc / nginx
  • File di configurazione Nginx
 /etc/nginx/nginx.conf
  • Configurazione blocco server:
 /etc/nginx/conf.d
  • Directory della documentazione
     / usr / condividi / nginx / html

Passaggio 3
Alcuni dei parametri che possiamo usare con Nginx sono:

  • -? | -h: Visualizza la guida di Nginx.
  • -c file: Utilizzare un file di configurazione alternativo.
  • -g direttive: Imposta criteri globali.
  • -p prefisso: Imposta il prefisso del percorso di nginx, ovvero una directory che conterrà i file sul server.
  • -Q: Sopprime i messaggi di errore durante il test.
  • -s segnale: Invia un segnale al processo master, le opzioni sono:
    • Fermare: spegnere rapidamente.
    • Esentato: Chiudi il processo.
    • Ricaricare: Ricarica la configurazione.
    • Riaprire: Riapri i file di registro.
  • -T: Testare la configurazione di un file.
  • -v: Visualizza la versione di Nginx

In questo modo abbiamo installato e configurato Nginx in CentOS 7 per ottenere il massimo dal server e aumentare le opzioni di gestione.

wave wave wave wave wave