Installazione Server · 4 min read · Oct 24, 2025

Come Installare Nginx Con PHP E MySQL (LEMP Stack) Su CentOS 7

Nginx (pronunciato “engine x”) è un server HTTP gratuito, open-source e ad alte prestazioni. Nginx è noto per la sua stabilità, ricca gamma di funzionalità, configurazione semplice e basso consumo di risorse. Questo tutorial mostra come puoi installare Nginx su un server CentOS 7 con supporto PHP (tramite PHP-FPM) e supporto MySQL (Mariadb).

1 Nota Preliminare

In questo tutorial utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.1.105. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

2 Abilitare Repository Aggiuntivi

Nginx non è disponibile nei repository ufficiali di CentOS, quindi includiamo il repository del progetto Nginx per installarlo:

vi /etc/yum.repos.d/nginx.repo
 [nginx]
     name=nginx repo
     baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
     gpgcheck=0
     enabled=1

3 Installare MySQL

Prima installiamo Mariadb. Mariadb è un fork gratuito di MySQL. Esegui questo comando nel terminale:

yum install mariadb mariadb-server net-tools

Poi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:

systemctl enable mariadb.service  
systemctl start mariadb.service

Ora controlla che la rete sia abilitata. Esegui

netstat -tap | grep mysql

Dovrebbe mostrare qualcosa di simile:

[root@example ~]# netstat -tap | grep mysql  
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 10623/mysqld 

Esegui

mysql_secure_installation

per impostare una password per l’utente root (altrimenti chiunque può accedere al tuo database MySQL!):

[root@example ~]# mysql_secure_installation  
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI I SERVER MariaDB  
IN USO IN PRODUZIONE! PER FAVORE LEGGI ATTENTAMENTE OGNI PASSO!
Per accedere a MariaDB per metterlo in sicurezza, avremo bisogno della password  
attuale per l'utente root. Se hai appena installato MariaDB, e  
non hai ancora impostato la password di root, la password sarà vuota,  
quindi dovresti semplicemente premere invio qui.
Inserisci la password attuale per root (premi invio per nessuna):  
OK, password utilizzata con successo, procedendo...
Impostare la password di root garantisce che nessuno possa accedere all'utente root di MariaDB  
senza la corretta autorizzazione.
Impostare la password di root? [Y/n] <-- ENTER  
Nuova password: <-- yourrootsqlpassword  
Reinserisci la nuova password: <-- yourrootsqlpassword  
Password aggiornata con successo!  
Ricaricamento delle tabelle dei privilegi..  
... Successo!
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque  
di accedere a MariaDB senza dover avere un account utente creato per  
loro. Questo è destinato solo per test, e per rendere l'installazione  
un po' più fluida. Dovresti rimuoverli prima di passare a un  
ambiente di produzione.
Rimuovere gli utenti anonimi? [Y/n] <-- ENTER  
... Successo!
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo  
assicura che qualcuno non possa indovinare la password di root dalla rete.
Negare l'accesso remoto a root? [Y/n] <-- ENTER  
... Successo!
Per impostazione predefinita, MariaDB viene fornito con un database chiamato 'test' a cui chiunque può  
accedere. Questo è anche destinato solo per test, e dovrebbe essere rimosso  
prima di passare a un ambiente di produzione.
Rimuovere il database di test e l'accesso ad esso? [Y/n] <-- ENTER  
- Eliminazione del database di test...  
... Successo!  
- Rimozione dei privilegi sul database di test...  
... Successo!
Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora  
entreranno in vigore immediatamente.
Ricaricare le tabelle dei privilegi ora? [Y/n] <-- ENTER  
... Successo!
Pulizia in corso...
Tutto fatto! Se hai completato tutti i passaggi sopra, la tua installazione di MariaDB  
dovrebbe ora essere sicura.
Grazie per aver utilizzato MariaDB!  
[root@example ~]#

[root@server1 ~]# mysql_secure_installation

4 Installare Nginx

Nginx è disponibile come pacchetto da nginx.org che possiamo installare come segue:

yum install nginx

Poi creiamo i collegamenti di avvio del sistema per nginx e lo avviamo:

systemctl enable nginx.service  
systemctl start nginx.service

Ci sono possibilità che tu riceva un errore come porta 80 già in uso, il messaggio di errore sarà simile a questo

[root@server1 ~]# service nginx start  
Avviando nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] ancora non riesce a bind()  
                                                           [FALLITO]  
[root@server1 ~]#

Allora significa che ci sono possibilità che il servizio apache stia girando lì. Ferma il servizio e avvia ulteriormente il servizio per NGINX come segue

systemctl stop httpd.service  
yum remove httpd  
systemctl disable httpd.service
systemctl enable nginx.service  
systemctl start nginx.service

E apri le porte http e https nel firewall

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

L’output risultante nel terminale apparirà simile a questo:

[root@example ~]# firewall-cmd --permanent --zone=public --add-service=http  
success  
[root@example ~]# firewall-cmd --permanent --zone=public --add-service=https  
success  
[root@example ~]# firewall-cmd --reload  
success  
[root@example ~]#

Digita l’indirizzo IP o il nome host del tuo server web in un browser (ad es. http://192.168.1.105), e dovresti vedere la pagina di benvenuto di nginx:

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.