Nginx se prononce comme "Engine-X", qui est un serveur Web et un serveur proxy inverse. Nginx est bien connu pour sa rapidité et sa capacité à gérer simultanément un grand nombre de requêtes avec une utilisation optimale des ressources.
PHP-FPM signifie « gestionnaire de processus PHP-FastCGI ». CGI fait référence à l'interface de passerelle commune qui est conçue pour fonctionner comme une interface entre le serveur Web et les programmes de diffusion de contenu dynamique. Il écoute sur un port un peu comme le serveur Web lui-même, et transmet la requête entre PHP et le serveur Web.
Ce didacticiel fournit des instructions sur la façon d'installer et de configurer Nginx avec PHP-FPM, ce qui vous aidera à exécuter des programmes PHP dans Nginx.
Comme nous l'avons vu précédemment dans Apache vs Nginx, par rapport à Nginx, Apache est relativement lent lorsqu'il gère de lourdes charges et traite un grand nombre de requêtes.
1. Installer Nginx
Vous pouvez soit installer Nginx à partir de la source, soit l'installer à l'aide de l'outil de gestion de packages fourni avec votre distribution.
Par exemple, sur Ubuntu, vous pouvez installer nginx en utilisant apt-get comme indiqué ci-dessous.
$ sudo apt-get install nginx
Démarrez le serveur nginx comme indiqué ci-dessous :
$ sudo service nginx start
Accédez à http://{your-ip-address} et assurez-vous de voir la page d'accueil de Nginx.
2. Installer PHP5-FPM
Ensuite, installez php5-fpm à l'aide de l'outil de gestion de paquets fourni avec votre distribution.
Par exemple, sur Ubuntu, vous pouvez installer php5-fpm en utilisant apt-get comme indiqué ci-dessous.
$ sudo apt-get install php5-fpm
3. Ajouter la configuration PHP à Nginx
Ensuite, modifiez le fichier /etc/nginx/sites-available/default et ajoutez les lignes suivantes.
$ sudo vi /etc/nginx/sites-available/default server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
4. Définir le paramètre d'écoute dans php5-fpm www.conf
Ensuite, nous devons apporter les modifications suivantes à la configuration de php-frpm.
Par défaut, vous verrez l'entrée d'écoute suivante dans le fichier www.conf
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = 127.0.0.1:9000
Dans le fichier www.conf, laissez tout tel quel et remplacez la ligne d'écoute ci-dessus par celle ci-dessous.
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = /var/run/php5-fpm.sock
5. Redémarrez Nginx et PHP5-FPM et testez-le
Redémarrez php5-fpm et nginx comme indiqué ci-dessous
$ sudo service nginx restart $ sudo service php5-fpm restart
Enfin, créez le fichier index.php suivant à la racine du document nginx et testez-le.
$ sudo vi /usr/share/nginx/www <?php phpinfo( ); ?>
Enfin, ouvrez votre navigateur et accédez à http://localhost/index.php (ou utilisez votre adresse IP), qui exécutera le fichier index.php et affichera les informations php.