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 sì 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.