Apache2 avec PHP-FPM

PHP-FPM est un autre manière d’utiliser PHP avec Apache2, on oublie le libmod-apache2-phpX. PHP-FPM est une variante de FAST-CGI.

PHP-FPM à l’avantage de ne plus être embarqué dans Apache. Du coup PHP est utilisé/appelé en cas de besoin. (Quand une image est demandée PHP n’a pas besoin d’être chargé).

PHP-FPM installe PHP en tant que service et celui-ci est donc lancé dans un autre processus que le serveur Web (Gain de sécurité).

Pour ce qui est des performances, PHP-FPM présente de meilleur de résultat lors de monter en charge du serveur Web.

Un des gros avantage aussi d’utiliser PHP-FPM est de pouvoir faire cohabiter plusieurs versions sur le serveur Web et passer un site d’une version à un autre très facilement.

Installer PHP-FPM

Entrer la commande suivante :

apt install php7.x-fpm

Configuration

1. Aller dans le dossier /var/run/php et afficher le contenu, il doit se trouver un fichier du type phpy.x-fpm.sock.

php-fpm sock

Si vous installez plusieurs versions de PHP, il y aura un fichier .sock/.pid par version d’installée.

2. Activer le mod proxy_fgci d’Apache

a2enmod proxy_fcgi

3. Redémarrer le service Apache 2.

service apache2 restart

4. Editer le fichier de configuration d’apache ou de vhost en ajouter les lignes suivantes avant :

<FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.X-fpm.sock|fcgi://localhost/"
</FilesMatch>

Adapter la version de PHP en fonction de votre configuration.

5. Recharger la configuration d’Apache :

service apache2 reload

6. Valider l’utilisation de PHP-FPM à l’aide de la fonction phpinfo(); . Il faut regarder le résultat de Server API.

phpinfo

Conclusion

En utilisant PHP-FPM, il est facile d’utiliser plusieurs version de PHP sur un même serveur Web et de choisir la version en fonction du vhost.

L’avantage aussi, en cas de modification du fichier php.ini, il n’est plus nécessaire de redémarrer le service apache, il faut redémarrer le service php-fpm.

Pour ce qui est des performances, je les trouve meilleures, génération du temps de page réduit de 10 à 20% sur un serveur GLPI avec 2K poste en inventaire.

Personnellement je préfère cette configuration qui se rapproche de IIS et qui permet l’utilisation de plusieurs de PHP sur un même serveur WEB.




Laisser un commentaire