Maison > Opération et maintenance > Nginx > le corps du texte

Quelle est la différence entre le socket Unix et le socket TCP dans Nginx

WBOY
Libérer: 2023-05-16 13:37:06
avant
1683 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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;
}
Copier après la connexion

Redémarrez php-fpm et nginx

service nginx restart
service php-fpm restart
ls -al /dev/shm
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!