Il existe deux manières pour Nginx de se connecter à fastcgi : le socket de domaine Unix et le socket de domaine Unix ou le socket IPC est un terminal qui permet à deux processus ou plus sur le même système d'exploitation de communiquer des données. Contrairement aux canaux, les sockets de domaine Unix peuvent utiliser à la fois des flux d'octets et des files d'attente de données, tandis que la communication par canal ne peut s'effectuer que via des flux d'octets. L'interface des sockets de domaine Unix est très similaire à celle des sockets Internet, mais elle n'utilise pas le protocole réseau sous-jacent pour communiquer. La fonction du socket de domaine Unix est un composant du système d'exploitation POSIX.
Comparaison entre les méthodes de socket de domaine TCP et Unix
TCP utilise le port TCP pour se connecter 127.0.0.1:9000, Socket utilise le socket de domaine Unix pour connecter le socket /dev/shm/php-cgi.sock (de nombreux tutoriels utilisent le chemin /tmp , et le chemin /dev/shm est un tmpfs, qui est beaucoup plus rapide que le disque)
fastcgi_pass unix:/tmp/php-cgi.sock fastcgi_pass 127.0.0.1:9000
Lorsque la pression du serveur n'est pas élevée, il n'y a pas beaucoup de différence entre tcp et socket, mais lorsque la pression est relativement pleine, utilisez la méthode socket. L'effet est en effet meilleur.
Voici la méthode de configuration pour passer TCP en mode socket dans PHP 5.3 et supérieur :
Modifier php-fpm.conf (/usr/local/php/etc/php-fpm.conf)
;listen = 127.0.0.1:9000 listen = /dev/shm/php-cgi.sock
Modifier la configuration nginx Configuration de la section serveur de fichiers, changez le mode http en mode socket
location ~ .*.(php|php5)?$ { #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
Redémarrez php-fpm et nginx
service nginx restart service php-fpm restart ls -al /dev/shm
Vous pouvez voir le type de socket unix du fichier php-cgi.sock En théorie, le socket unix ne passe pas par le. réseau et est très efficace, mais la stabilité n'est pas idéale.
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!