Mise en place de Nginx avec PHP7

installation du paquet de base :

apt-get install nginx

On déclare le dépôt pour installer php7 :

echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list

Ajouter cette clef pour que l'on ait l'autorisation d'utiliser ce dépôt privé :

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

Mise à jour de la base de donnée du gestionnaire de paquet puis installation php7 :

apt-get update && apt-get install php7.0 php7.0-opcache php7.0-fpm

configurer PHP-FPM (alternative à PHP FastCGI) :

nano /etc/php/7.0/fpm/php.ini

On change la valeur 1 par 0 :

cgi.fix_pathinfo=0

Nous allons ouvrir un port d'écoute pour exécuter les scripts PHP envoyé par Nginx :

nano /etc/php/7.0/fpm/pool.d/www.conf

on modifie cette ligne :

;listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000

Reste plus qu'a configurer un VirtualHost:

unlink /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-available/default

On ajoute les paramètres ci-dessous :

example.com
server {
        listen   80;
 
        root /var/www;
        index index.php index.html;
        server_name  example.com;
 
        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

On réalise le lien symbolique :

ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

Reste plus qu'a relancer les services :

service nginx restart
service php7.0-fpm restart