Différences et techniques d'optimisation dans le fichier de configuration PHP-FPM /etc/php/8.3/fpm/pool.d/

Tout fonctionne-t-il correctement une fois le serveur lancé ? En réalité, dans l’univers PHP-FPM, le fichier de configuration est le véritable maître d’œuvre, déterminant si le site peut fonctionner de manière stable, sécurisée et efficace.

Quelle est la configuration du pool de processus pour PHP-FPM ?

PHP-FPM (FastCGI Process Manager) est un gestionnaire de processus pour PHP qui utilise le concept de « pools » pour gérer les processus PHP pour différents sites web ou applications.

Chaque .conf Le fichier est une définition de pool qui spécifie des paramètres clés tels que l'utilisateur sous lequel le processus s'exécute, le port ou le socket sur lequel il écoute, le chemin du journal et le nombre de processus.

Autrement dit, ces fichiers sont comme des « clones » pour votre serveur, permettant à différents sites de fonctionner indépendamment sans interférer les uns avec les autres.

Différences et techniques d'optimisation dans le fichier de configuration PHP-FPM /etc/php/8.3/fpm/pool.d/

www.conf : Le pool de processus par défaut

Après l'installation de PHP-FPM, le système générera automatiquement un www.conf fichier.

Sa fonction est de fournir un pool par défaut opérationnel immédiatement, fonctionnant généralement sous... www-data Utilisateur.

Ce pool convient aux environnements à site unique, est facile à configurer et la plupart des paramètres sont des valeurs génériques, telles que :

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

Si vous n'utilisez qu'un seul site, cela suffit.

etUfo.org.conf : Pool de sites personnalisés

Lorsque vous avez plusieurs sites, vous devez créer un pool distinct pour chaque site.

comme etufo.org.confC'est spécifiquement pour les noms de domaine. etUfo. Org Configuration exclusive.

La pratique courante est la suivante :

  • Spécifiez différents utilisateurs et groupes, par exemple user = etufo,group = etufo
  • Configurez un port ou un socket d'écoute distinct, par exemple. listen = /run/php/etufo.sock
  • Ajustez le nombre de processus pour garantir la stabilité du site en cas de forte concurrence.
  • Des fichiers journaux indépendants facilitent le dépannage.

L'avantage de cette approche réside dans l'isolation de la sécurité : même si un site est attaqué, les autres sites ne seront pas affectés.

dummy.conf : fichier d'exemple ou de substitution

dummy.conf Il s'agit généralement de modèles ou d'exemples fournis par le système.

Elle ne sera pas activée automatiquement à moins que vous ne la modifiiez et ne l'activiez manuellement.

Son but est de vous fournir une référence et de vous montrer comment rédiger une nouvelle configuration de pool.

Il s'apparente donc davantage à un « manuel d'instructions » qu'à une véritable configuration de fonctionnement.

Pourquoi utiliser plusieurs fichiers de pool ?

  • 安全 性Chaque site devrait être géré par un utilisateur différent afin d'éviter les chevauchements d'autorisations.
  • 性能优化Le nombre de processus peut être défini individuellement pour chaque pool et ajusté en fonction de la demande de trafic.
  • IsolementLes journaux, les messages d'erreur et les ports d'écoute sont tous séparés, ce qui facilite le dépannage.

Par exemple, si www.conf Il s'est effondré.etufo.org.conf Il peut continuer à fonctionner normalement et n'entraînera pas la panne de l'ensemble du serveur.

Scénarios d'application pratiques

  • Serveur mono-siteUtilisez uniquement www.conf Ça suffit.
  • Serveur multisite: Construisez-en un pour chaque site .conf Des fichiers, tels que etufo.org.conf.
  • dummy.confÀ titre indicatif seulement, non recommandé.

Exemple de comparaison de configuration

www.conf (pool par défaut)

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5

etufo.org.conf (Pool personnalisé)

[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log

Vous constaterez que la différence réside dans l'utilisateur, l'adresse d'écoute et le nombre de processus.

Ajustement des paramètres du pool de processus PHP-FPM

Si la configuration utilise DynamicIl s'agit d'une méthode permettant de pré-démarrer certains processus de travail et de les ajuster dynamiquement en fonction du volume de demandes, ce qui permet de réagir plus rapidement lorsque le volume de demandes augmente soudainement.

Pour les sites Web avec un certain trafic, il est recommandé d'utiliser pm = dynamicParce qu'il peut maintenir une certaine quantité de processus inactifs et éviter les erreurs 500 lors d'une forte concurrence.

Il est recommandé de l'utiliser uniquement lorsque le volume d'accès est extrêmement faible et que les ressources mémoire sont limitées. pm = ondemand Pour économiser les ressources.

Il est recommandé de le passer en mode dynamique et de l'optimiser. pm.max_children Et d’autres paramètres :

pm = dynamic
pm.max_children = 16  ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4   ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2  ; 最小空闲进程数
pm.max_spare_servers = 7  ; 最大空闲进程数
pm.max_requests = 3000    ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s  ; 空闲进程 10s 后自动退出

Cette configuration garantit les performances tout en évitant le gaspillage de ressources.

Pour des instructions de configuration détaillées, veuillez consulter le tutoriel suivant ▼

D'après la documentation officielle de PHP :

« Chaque pool peut être configuré indépendamment, permettant ainsi des utilisateurs, des limites et des paramètres différents pour chaque application. »

Cette déclaration souligne clairement l'importance de la configuration multi-pools : indépendance, flexibilité et contrôlabilité.

Conclusion : Mon point de vue

La configuration du serveur est comparable à un chef d'orchestre, qui détermine comment chaque instrument doit être joué.

www.conf Il s'agit du chef d'orchestre par défaut, adapté aux performances en solo ;etufo.org.conf C'est un chef d'orchestre conçu sur mesure pour une scène spécifique ; et dummy.conf Il s'agit d'un brouillon de partitions musicales, vous rappelant comment écrire de nouvelles mélodies.

À une époque où la sécurité de l'information et l'optimisation des performances sont primordiales, savoir utiliser correctement ces fichiers de configuration est essentiel pour contrôler le fonctionnement vital d'un serveur.

La configuration n'est pas qu'un simple texte ; c'est l'âme d'un serveur.

Si vous êtes en train d'opérerWordPressPour les applications multisites, nous vous recommandons vivement de vérifier et d'optimiser immédiatement ces fichiers de pool, en particulier les paramètres du pool de processus, afin de garantir la fiabilité absolue de votre serveur.

发表 评论

Votre adresse email ne sera pas publiée. 项 已 用 * 标注

Répertoire d'articles
Remonter en haut