Que faire si php-cgi s'arrête sous Linux
La solution à l'arrêt de php-cgi sous Linux est la suivante : modifiez les éléments de configuration de nginx, réduisez le nombre de requêtes FastCGI et essayez de conserver les tampons inchangés, tels que [fastcgi_buffer_size 128k;].
L'environnement d'exploitation de cet article : Linux 5.9.8, php 7, ordinateur thinkpad t480.
Avant-propos :
J'ai découvert par hasard qu'un serveur en production (mémoire centos 5.2 64 bits 4G) avait toujours le problème que le site Web ne pouvait pas être ouvert. Plus tard, je suis allé sur le serveur pour vérifier et j'ai découvert que nginx et php-cgi étaient en cours d'exécution, mais l'utilisation du processeur de php-cgi était de 0 à ce moment-là. J'ai donc immédiatement vérifié la limite de handle de fichier :
ulimit -n
Le résultat était : 1024, ce qui est trop petit pour les services en production.
La plupart des solutions proposées en ligne consistent à saisir directement
ulimit -SHn 51200 # 51200可自己根据应用调整
L'inconvénient de cette méthode est évident Une fois déconnecté, les paramètres deviendront invalides.
Il est également dit d'écrire la commande directement dans /etc/rc.d/rc.local Aujourd'hui, j'ai trouvé une manière correcte
Ouvrir /etc/security/limits.conf Il contient des commentaires très détaillés. l'ensemble suivant (sinon, insérez-le)
Le code est le suivant
* soft nofile 51200 * hard nofile 51200
Connectez-vous à nouveau après avoir quitté et vérifiez le nombre de poignées. Il a été correctement réglé sur 51200.
Si vous rencontrez une situation similaire, vous pouvez vérifier si elle est causée par un paramètre de numéro de descripteur de fichier trop petit.
Solution à 502 Bad Gateway lors de l'accès
Nginx 502 Bad Gateway signifie que le php-cgi demandé a été exécuté, mais pour une raison quelconque (généralement un problème de lecture des ressources), il n'a pas été terminé, ce qui entraîne php-cgi Le processus se termine. Généralement, les sites Web avec une concurrence trop élevée sont sujets à cette erreur. Il existe de nombreuses raisons pour lesquelles 502 Bad Gateway apparaît, mais la plupart des gens peuvent le résoudre en modifiant les paramètres ci-dessous.
Modifiez plusieurs éléments de configuration de nginx pour réduire le nombre de requêtes FastCGI et essayez de garder les tampons inchangés :
Le code est le suivant
fastcgi_buffer_size 128k; fastcgi_buffers 2 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;
Ouvrez le fichier /usr/local/php/etc/php-fpm.conf et modifiez les quelques paramètres suivants :
Le code est le suivant
25 requests">2048 65535 30s 60s
request_terminate_timeout fait référence au temps d'exécution du script de fast-cgi, qui est par défaut de 0s. La signification des 0 est de laisser php-cgi continuer à s'exécuter sans limite de temps. Si vous le réglez sur 0 ici, alors lorsqu'une mauvaise passerelle 502 apparaît, l'état 502 continuera et ne changera pas. Mais si vous le définissez sur 5 secondes, alors php-cgi récupérera automatiquement après 5 secondes. Cette valeur peut être définie en fonction des performances de votre serveur. Ici, je la fixe à 60s.
max_children représente le processus de traitement de php-cgi. Si max_children est défini sur une valeur plus petite, comme 5-10, alors php-cgi sera "très fatigué", la vitesse de traitement sera très lente et le temps d'attente sera plus long. Si la demande n'est pas traitée pendant une longue période, une erreur 504 Gateway Time-out se produira. Le paramètre max_children doit également être défini en fonction des performances du serveur. À mesure que le nombre de processus augmente, l'utilisation de la mémoire augmentera en conséquence, la mémoire consommée par chaque php-cgi est d'environ 20 Mo. Ici, je l'ai défini sur. 25.
La méthode de traitement statique par défaut de php-fpm fera que le processus php-cgi occupera de la mémoire pendant une longue période et ne pourra pas être libéré. C'est également l'une des raisons des erreurs nginx. Par conséquent, la méthode de traitement de php-fpm. peut être modifié en mode de type Apache.
Une fois la modification terminée, exécutez lu-restart (système de gestion de serveur LuManager).
Apprentissage recommandé : Formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Bitget est un échange de crypto-monnaie qui fournit une variété de services de trading, notamment le trading au comptant, le trading de contrats et les dérivés. Fondée en 2018, l'échange est basée à Singapour et s'engage à fournir aux utilisateurs une plate-forme de trading sûre et fiable. Bitget propose une variété de paires de trading, notamment BTC / USDT, ETH / USDT et XRP / USDT. De plus, l'échange a une réputation de sécurité et de liquidité et offre une variété de fonctionnalités telles que les types de commandes premium, le trading à effet de levier et le support client 24/7.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Gate.io est un échange de crypto-monnaie populaire que les utilisateurs peuvent utiliser en téléchargeant son package d'installation et en l'installant sur leurs appareils. Les étapes pour obtenir le package d'installation sont les suivantes: Visitez le site officiel de Gate.io, cliquez sur "Télécharger", sélectionnez le système d'exploitation correspondant (Windows, Mac ou Linux) et téléchargez le package d'installation sur votre ordinateur. Il est recommandé de désactiver temporairement les logiciels antivirus ou le pare-feu pendant l'installation pour assurer une installation fluide. Une fois terminé, l'utilisateur doit créer un compte Gate.io pour commencer à l'utiliser.

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Utilisation de Python dans Linux Terminal ...

Le problème de la comparaison et de la synchronisation des fichiers au-delà de la compare: défaillance de la sensibilité à la casse lors de l'utilisation de Beyond ...
