J'ai un VPS de 2 Go sur DigitalOcean et j'héberge WordPress 3.9.1 sous Debian 7 avec NGINX, php-fpm et socket Unix.
Il fonctionnait parfaitement jusqu'à la semaine dernière, il a commencé à afficher une erreur "502 bad gateway". J'ai vérifié les journaux et constaté que:
le journal php5-fpm montre que pm.max_children a été atteint et le journal nginx montre ce qui suit:
[erreur] 3239 # 0: * 15188 connect () à unix: /var/run/php5-fpm.sock a échoué (11: ressource temporairement indisponible) lors de la connexion en amont, client: xxx.xxx.xxx.xxx, serveur: mon.domaine, demande: "POST /xmlrpc.php HTTP/1.0", en amont: "fastcgi: // unix: /var/run/php5-fpm.sock:", hôte: "xxx.xxx.xxx.xxx"
J'ai changé manuellement pm avec différents paramètres sans succès. Je redémarre toujours les démons après chaque changement.
les paramètres pm sont:
pm = dynamic
pm.max_children = 100
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 10
pm.max_requests = 200
www.conf
a la listen = /var/run/php5-fpm.sock
activée.
Quelqu'un avec une expérience similaire?
Le premier problème est que vous spécifiez 100 max_children, ce qui est terriblement élevé pour 2 Go. Je laisserais tomber à 25 enfants. Voir mon article ici sur la façon d'optimiser votre configuration php-fpm pour votre configuration:
En outre, l'utilisation de sockets Unix est légèrement plus rapide car elle vous offre un accès direct au réseau sans surcharge TCP/IP. En revanche, il n'est pas aussi évolutif que TCP/IP. Nginx générera 502 erreurs lorsque les sockets seront épuisées. Dans un tel cas, vous pouvez soit modifier les paramètres du système d'exploitation pour accueillir le plus grand pool de connexions ou simplement basculer pour basculer vers TCP/IP.
Dans votre changement de conf fastcgi:
fastcgi_pass unix:/var/run/php5-fpm.sock;
à:
fastcgi_pass 127.0.0.1:9000;
Notez que le port 9000 est le port par défaut défini dans php-fpm, si vous avez modifié php-fpm pour écouter sur un autre port, échangez 9000 avec cette valeur. Assurez-vous de redémarrer à la fois php-fpm et nginx.
Maintenant, si après tout cela, vous ne pouvez toujours pas le faire fonctionner et free -m retourne une utilisation élevée de la mémoire, alors il est temps d'ajouter plus de RAM à votre serveur.