Server Web · 3 min read · Feb 06, 2026
Installazione di Nginx Con PHP 5.3 E PHP-FPM Su Ubuntu Lucid Lynx (10.04) Senza Compilare Nulla
Installazione di Nginx Con PHP 5.3 E PHP-FPM Su Ubuntu Lucid Lynx (10.04) Senza Compilare Nulla
Versione 1.0
Seguimi su Twitter
Poiché Apache è per la maggior parte del tempo un processo che consuma molta memoria, le persone hanno iniziato a cercare modi diversi per ospitare il proprio sito web. Apache non è chiaramente l’unico server web disponibile. Alcuni buoni esempi sono lighttpd e nginx. In questo tutorial ti mostrerò come installarlo sul tuo server Ubuntu. Questo tutorial si applica anche a Debian, anche se c’è solo una piccola differenza.
Pronto? Iniziamo, vero?
Passo 0 - Note Preliminari
Per completare questo tutorial, presumo che tu abbia installato un sistema base di Ubuntu Lucid (10.04). Come questo può essere fatto, può essere letto in diversi tutorial. Questo tutorial si concentra solo sull’ottenere nginx+php in esecuzione senza troppi problemi.
Passo 1 - Nginx
Installare nginx è il primo passo che dobbiamo fare. Questo può essere facilmente fatto scaricandolo dal repository.
sudo apt-get install nginxIl vhost predefinito deve essere modificato per funzionare correttamente.
sudo vim /etc/nginx/sites-available/defaultUn buon punto di partenza per la tua configurazione è:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Posizione predefinita
location / {
root /var/www;
index index.php;
}
## Le immagini e i contenuti statici vengono trattati in modo diverso
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Analizza tutti i file .php nella directory /var/www
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Disabilita la visualizzazione di .htaccess & .htpassword
location ~ \/\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Ok, abbiamo finito qui. Ora installeremo i file necessari per PHP.
Passo 2 - Installazione di PHP
Molti siti si affidano a PHP per fornire loro contenuti dinamici, sia che si tratti di un wiki, di un software per forum, di un weblog o di qualcos’altro di completamente diverso.
Non c’è bisogno di usare DotDeb, poiché PHP5.3 è ora ufficialmente supportato in Ubuntu Lucid (10.04). È facile come
sudo apt-get updateIl testo risultante dovrebbe includere dotdeb.
Ora installeremo PHP. Per installare PHP-FPM, dovremo aggiungere il PPA poiché non è ufficialmente supportato.
add-apt-repository ppa:brianmercer/phpsudo apt-get update && sudo apt-get install php5-fpmSe hai intenzione di utilizzare un database o richiedere moduli specifici (mcrypt, ldap, snmp, ecc.) puoi installarli anche.
Ok, quindi ora abbiamo nginx e PHP installati e pronti per partire.
Passo 3 - Finalizzazione
Riavvia nginx per aggiornare le modifiche di configurazione che abbiamo fatto in precedenza.
sudo service nginx restartIl riavvio dovrebbe essere andato senza problemi.
Dopo aver installato php5-fpm, dovrebbe essere stato avviato. Se hai modificato i tuoi file php.ini, devi riavviare php5-fpm.
sudo service php5-fpm restartVa bene. Ora dovrebbero entrambi essere in esecuzione.
Passo 4 - Test
Per testare se l’esecuzione di PHP funziona, crea un file index.php in /var/www con il seguente contenuto:
Visita il tuo server web e dovresti essere in grado di vedere il phpinfo generato. Se non lo vedi, qualcosa è andato storto.
Passo 5 - Risoluzione dei problemi & Note finali
Se non hai visto il phpinfo, potrebbe esserci qualcosa di sbagliato. Per rintracciare cosa è andato storto, puoi controllare il log degli errori di nginx:
sudo tail /var/log/nginx/error.logRicorda, se hai modificato il tuo php.ini devi riavviare php5-fpm. Non è necessario riavviare nginx.
Nel mio esempio di configurazione ho abilitato l’intercettazione degli errori fastcgi. Se si verifica un errore grave (ad esempio, un “impossibile ridefinire la classe xyz”), nginx può catturare questa pagina e mostrare una “bella” pagina di errore che qualcosa è andato storto. In questo modo, vengono fornite meno informazioni nel caso in cui qualcosa vada seriamente storto.
Se non ti piace questo, puoi disattivarlo.
Se php5-fpm non è in esecuzione, i tuoi file PHP non possono essere analizzati e nginx mostrerà all’utente una pagina di errore.
Bene, credo che abbiamo finito e ora sei in grado di servire PHP con il tuo nuovo server web basato su nginx. Nginx è davvero bello e puoi configurare molto. Se hai bisogno di riscritture, fai attenzione che nginx non funziona con i file .htaccess. Dovrai modificare le impostazioni del tuo vhost affinché le riscritture funzionino.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.