J'essaye d'installer php avec fpm sur macports. J'ai lu quelque part que fpm signifie gestionnaire de processus FastCGI. Est-ce que cela signifie que fastcgi et fpm sont identiques? Si elles sont identiques, pourquoi avons-nous deux variantes différentes de macports pour php, à savoir "php5 + fastcgi" et "php5 + fpm"
FPM est un gestionnaire de processus chargé de gérer FastCGI SAPI (API de serveur) en PHP.
Fondamentalement, il remplace le besoin de quelque chose comme SpawnFCGI . Il engendre les enfants FastCGI de manière adaptative (ce qui signifie en lancer plus si la charge actuelle le nécessite).
Sinon, il n'y a pas beaucoup de différence de fonctionnement entre FastCGI et lui (le pipeline de demandes du début à la fin est le même). C'est juste là pour faciliter la mise en œuvre.
Ce que Anthony dit est tout à fait correct, mais j'aimerais ajouter que votre expérience démontrera probablement de bien meilleures performances et efficacité (grâce à fpm
- vs -fcgi
mais davantage à la mise en œuvre. de votre httpd
).
Par exemple, une machine quadricœur exécutant lighttpd
+ fcgi
fredonnait bien. Je suis passé à une machine à 16 cœurs pour faire face à la croissance et deux choses ont explosé: RAM utilisation et segfaults. Je me suis retrouvé à redémarrer lighttpd
toutes les 30 minutes pour conserver le site Web. up.
Je suis passé à php-fpm et nginx, et RAM est passée de> 20 Go à 2 Go. Segfaults a également disparu. Après quelques recherches, j'ai appris que lighttpd et fcgi ne s'entendaient pas bien. sur des machines multi-core en charge, et ont également des problèmes de fuite de mémoire dans certains cas.
Est-ce dû à php-fpm
étant meilleur que fcgi
? Pas tout à fait, mais comment vous vous connectez à php-fpm
semble être bien plus efficace que votre façon de servir via fcgi
.