Nginx è un server HTTP gratuito, open source e ad alte prestazioni. Nginx è noto per la sua stabilità, il ricco set di funzionalità, la configurazione semplice e il basso consumo di risorse. Questo tutorial mostra come installare Nginx su Ubuntu 14.10 con supporto PHP (tramite PHP-FPM) e supporto MySQL. PHP-FPM è un'implementazione alternativa di PHP FastCGI, ha alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, in particolare i siti più trafficati).
Installa MySQL
Per prima cosa installeremo MySQL emettendo il seguente comando. Ti verrà chiesto di creare una password amministratore MySQL.
$ sudo apt-get install mysql-server
Installa Nginx
Scarica la chiave di firma dal sito Web ufficiale.
$ wget http://nginx.org/keys/nginx_signing.key
Aggiungilo per evitare avvisi durante l'installazione di nginx.
$ sudo apt-key add nginx_signing.key
Aggiungi il repository Nginx inserendo le seguenti informazioni.
$ sudo nano /etc/apt/sources.list deb http://nginx.org/packages/mainline/ubuntu/ utopic nginx deb-src http://nginx.org/packages/mainline/ubuntu/ utopic nginx
Aggiorna i repository.
$ sudo apt-get update
Installa Nginx usando il seguente comando.
$ sudo apt-get install nginx
Apri il browser web e visita http://tuo-indirizzo-ip , dovresti vedere la pagina seguente; questo ti confermerà che ngnix è stato installato correttamente sul server.

La radice del documento nginx predefinita su Ubuntu 14.10 è /usr/share/nginx/html/ . I file di configurazione si trovano nella directory /etc/nginx.
Installa PHP5-FPM
Successivamente è installare PHP tramite PHP-FPM (PHP-FPM (FastCGI Process Manager), è un'implementazione alternativa di PHP FastCGI. Ha alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, in particolare i siti più frequentati). Installalo eseguendo il seguente comando.
$ sudo apt-get install php5-fpm php5-mysql php5-cli
Modifica /etc/php.ini.
$ sudo nano /etc/php5/fpm/php.ini
imposta cgi.fix_pathinfo=0
cgi.fix_pathinfo=0
Modifica il file /etc/php5/fpm/pool.d/www.conf,
$ sudo nano /etc/php5/fpm/pool.d/www.conf
Assicurati che i seguenti valori siano commentati dall'ONU.
listen = /var/run/php5-fpm.sock
Abilitazione del supporto PHP-FPM su host virtuale
Creiamo un host virtuale basato sul nome sul server Nginx per i seguenti dettagli.
Nome del server:server.itzgeek.com
Radice del documento:/usr/share/nginx/html/itzgeek.com
Crea il file di configurazione chiamato virtual.conf e Modifica /etc/nginx/conf.d/virtual.conf .
$ sudo nano /etc/nginx/conf.d/virtual.conf
Aggiungi il seguente contenuto.
server { server_name server.itzgeek.com; root /usr/share/nginx/html/itzgeek.com; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/itzgeek.com$fastcgi_script_name; } }
Crea una voce host per il tuo dominio (server.itzgeek.com) nel file /etc/hosts.
$ sudo nano /etc/hosts
Aggiungi la voce host , la riga dovrebbe apparire come sotto.
127.0.0.1 localhost.localdomain localhost server.itzgeek.com
Test del supporto PHP-FPM su host virtuale
Crea la directory principale del documento.
$ sudo mkdir /usr/share/nginx/html/itzgeek.com
Per testare il PHP, posiziona un file PHP nella radice del documento dell'host virtuale creato, nel terminale copia/incolla la seguente riga:
# sudo nano /usr/share/nginx/html/itzgeek.com/index.php
Questo aprirà un file chiamato index.php, copia/incolla questa riga nel file index.php:
<?php phpinfo(); ?>
Salva e chiudi il file.
Riavvia i servizi.
$ sudo service nginx reload $ sudo service php5-fpm reload
Ora apri il tuo browser web e digita il tuo dominio nell'indirizzo web:
http://server.itzgeek.com
La pagina appare come di seguito:

Dalla schermata sopra, PHP funziona e funziona tramite FPM/FastCGI, come mostrato nella riga dell'API del server. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP.
Scorri il browser verso il basso e cerca le informazioni sul supporto MySQL.

Extra
Se ricevi un errore di gateway errato o relativo all'autorizzazione negata come di seguito su /var/log/nginx/error.log.
connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream.
Modifica il seguente file.
sudo nano /etc/php5/fpm/pool.d/www.conf
Cambia proprietario da www-data a nginx e abilita anche l'autorizzazione.
listen.owner = nginx listen.group = nginx listen.mode = 0660
Questo è tutto!