Nginx è un servizio web open source ad alte prestazionir . È noto per la sua stabilità, configurazione molto semplice, ricco set di funzionalità e basso consumo di risorse.
Nginx ti consente di usarlo come proxy inverso, bilanciamento del carico, cache HTTP e proxy di posta.
Questo post mostra come installare Nginx su CentOS 8 / RHEL 8 con supporto PHP (tramite PHP-FPM) e supporto MariaDB.
PHP-FPM è un'implementazione alternativa di PHP FastCGI. Dispone di funzionalità aggiuntive utili per siti di qualsiasi dimensione, in particolare per i siti più affollati.
Installa Linux
Segui i link per installare un sistema operativo Linux
LEGGI: Come installare CentOS 8 (con screenshot)
LEGGI: Come installare Red Hat Enterprise Linux 8 (con screenshot) o eseguire l'aggiornamento da RHEL 7 a RHEL 8.
A questo punto dovresti avere un sistema Linux pronto con te. Ora installeremo Nginx, MariaDB e PHP-FPM su di esso.
I passaggi menzionati in questo articolo funzioneranno solo se hai abilitato l'abbonamento a Red Hat su RHEL 8 o hai configurato il repository yum locale sul tuo sistema.Accedi al sistema come utente root o passa all'utente root.
$ su -
Installa Nginx
Installa Nginx utilizzando il repository di base
In RHEL 8, Nginx è disponibile nel repository rhel-8-for-x86_64-appstream-rpms. Quindi, non è necessario configurare manualmente il repository Nginx.
Installa Nginx usando il comando YUM.
yum -y install nginx
Installa Nginx utilizzando il repository ufficiale di Nginx
Aggiungi il repository Nginx al tuo sistema.
### CentOS 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF ### RHEL 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/rhel/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF
Installa Nginx dal repository ufficiale di Nginx disabilitando temporaneamente il repository AppStream.
yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline
Avvia il servizio del server web Nginx dopo l'installazione.
systemctl start nginx
Controlla lo stato del servizio del server web Nginx usando il comando seguente.
systemctl status nginx
Firewall
Consenti alle richieste web di fluire attraverso il firewall eseguendo i comandi seguenti.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Se ricevi un errore per SELinux sui log di Nginx, ecco il tutorial sull'impostazione della politica di SELinux per Nginx.
Altrimenti, puoi disabilitare temporaneamente SELinux usando il comando seguente. Tuttavia, ti suggeriamo di disabilitare permanentemente SELinux.
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Verifica l'installazione di Nginx
Apri il tuo browser web e visita l'URL sottostante.
http://il-tuo-indirizzo-ipInstallato Nginx dal repository Red Hat:
Dovresti vedere la seguente pagina Benvenuto in nginx su Red Hat Enterprise Linux . Questa pagina conferma che il server web Ngnix è stato installato correttamente sul server.
Installato Nginx utilizzando il repository ufficiale di Nginx:
La radice del documento predefinita di Nginx su CentOS 8 / RHEL 8 è /usr/share/nginx/html/. Altri file di configurazione si trovano nella directory /etc/nginx.Abilita il servizio Nginx all'avvio del sistema.
systemctl enable nginx
Installa MariaDB
CentOS 8 / RHEL 8 viene fornito con MariaDB 10.3. Installa il server MariaDB usando il comando yum.
Puoi anche installare i pacchetti MariaDB dalla community di MariaDB.
LEGGI :Come installare MariaDB su CentOS 8 / RHEL 8
yum -y install mariadb mariadb-server
Avvia il server MariaDB usando il seguente comando.
systemctl start mariadb
Abilita l'avvio automatico del servizio MariaDB durante l'avvio del sistema.
systemctl enable mariadb
Una volta completata l'installazione del server MariaDB, esegui il comando mysql_secure_installation per proteggere MariaDB.
Installa PHP
CentOS 8 / RHEL 8 viene fornito con PHP 7.2. Installa PHP tramite PHP-FPM (FastCGI Process Manager utilizzando il comando YUM.
Se vuoi, puoi installare PHP 7.3 usando il repository Remi.
LEGGI: Come installare PHP 7.3 su CentOS 8 / RHEL 8
yum -y install php-fpm php-mysqlnd php-cli
Modifica /etc/php.ini.
vi /etc/php.ini
imposta cgi.fix_pathinfo su 0.
cgi.fix_pathinfo=0
Modifica il file /etc/php-fpm.d/www.conf.
vi /etc/php-fpm.d/www.conf
Assicurati che i seguenti valori siano commentati dall'ONU.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Modifica il parametro Ascolta.
DA
listen = /run/php-fpm/www.sock
A
listen = 127.0.0.1:9000
Quindi, avvia il servizio PHP-FPM.
systemctl start php-fpm
Abilita il servizio PHP-FPM per l'avvio automatico all'avvio del sistema.
systemctl enable php-fpm
Abilita il supporto PHP-FPM sull'host virtuale
Ora creeremo un host virtuale sul server Nginx per i seguenti dettagli per testare il PHP.
Nome server: web.itzgeek.local
Radice del documento: /usr/share/nginx/html/web.itzgeek.local
Crea un file di configurazione chiamato web.itzgeek.local.conf in /etc/nginx/conf.d e modificalo.
vi /etc/nginx/conf.d/web.itzgeek.local.conf
Aggiungi il seguente contenuto.
server { server_name web.itzgeek.local; root /usr/share/nginx/html/web.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Crea una directory principale del documento.
mkdir /usr/share/nginx/html/web.itzgeek.local
Per testare il PHP, collocheremo un file PHP nella radice del documento dell'host virtuale creato.
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/web.itzgeek.local/index.php
Riavvia i servizi.
systemctl restart nginx systemctl restart php-fpm
Testare lo stack LEMP
Crea una voce host per il dominio del tuo server web (server.itzgeek.local) nel file /etc/hosts (Linux) e hosts (Windows).
192.168.1.10 web.itzgeek.local
Apri un browser web e inserisci il tuo dominio nella barra degli indirizzi.
http://web.itzgeek.localLa pagina apparirà come sotto.
Dallo screenshot sopra, PHP funziona come previsto e funziona tramite FPM/FastCGI, come mostrato nella riga dell'API del server.
Puoi scorrere la pagina più in basso per vedere i dettagli del supporto di MariaDB.
Argomenti interessati
Come configurare Let's Encrypt SSL con Nginx su CentOS 8 / RHEL 8
Come installare WordPress con Nginx su CentOS 8 / RHEL 8
Come installare phpMyAdmin con Nginx su CentOS 8 / RHEL 8
Conclusione
Hai imparato come installare lo stack LEMP su CentOS 8 / RHEL 8. Condividi il tuo feedback nella sezione commenti.