Pour faire simple
(c'est tout ce que je sais), nginx gère les requêtes via fpm (pour gérer fastcgi) pour implémenter les requêtes et les réponses.
Et nginx et php-fpm peuvent être implémentés en écoutant le port 9000 (par défaut) ou le socket.
Le format de 9000 est 127.0.0.1:9000, qui est sur le réseau. Grâce au fichier de configuration ngxin, tout ce qui se termine par .php est transmis au port 9000 pour traitement. php-fpm (le gestionnaire de processus de fastggi) sélectionne et se connecte à un sous-processus fastcgi, et envoie les variables d'environnement et l'entrée standard au sous-processus fastcgi. traiter. Puis traiter en continu la demande et la réponse
Le fichier socket ne passe pas par le réseau, c'est un socket.
Bon, quant à la comparaison de vitesse et à la configuration optimisée, n'en parlons pas pour l'instant.
Parlons d'abord de la mise à niveau d'Ubuntu (14.10 lts)php7
sudo add-apt-repository ppa:ondrej/php-7.0 sudo apt-get update sudo apt-get install php7.0-fpm
Une fois la mise à niveau terminée, le fichier fpm précédent est toujours là . Vous pouvez y faire référence ou le supprimer selon le cas
php -v PHP 7.0.1-4+deb.sury.org~trusty+1 (cli) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
Changez le port d'écoute phpfpm 9000 en socket (la valeur par défaut est socket)
paramètres par défaut de php7 au socket, donc si selon le fichier nginx -conf précédent, le traitement du fichier php signalera une erreur 502.
La sock par défaut est dans le fichier de configuration php. www.conf
root@tb:/etc/php/7.0/fpm# pwd /etc/php/7.0/fpm root@tb:/etc/php/7.0/fpm# ls conf.d php-fpm.conf php.ini pool.d root@tb:/etc/php/7.0/fpm#
dans pool.d est dans ces deux lignes :
listen = /run/php/php7.0-fpm.sock ; listen = 127.0.0.1:9000 ## 更改nginx conf文件 ##
fichier de configuration nginx Le mien est Modifier le git.conf dans
root@tb:/etc/nginx/conf.d# ls git.conf svn.conf tb.conf
comme suit
server{ listen 80; server_name git.com ; root /home/gittest/; autoindex on; location ~ \.php$ { root /home/gittest; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/gittest/$fastcgi_script_name; include fastcgi_params; } }
Redémarrez php-fpm et nginx
root@tb:/etc/nginx/conf.d# service nginx reload * Reloading nginx configuration nginx [ OK ] root@tb:/etc/nginx/conf.d# service php7-fpm status * php-fpm7.0 is running root@tb:/etc/nginx/conf.d# service php7-fpm reload * Reloading PHP 7.0 FastCGI Process Manager php-fpm7.0[ OK ] root@tb:/etc/nginx/conf.d#
Veuillez noter que tout va bien. Les fichiers d'exécution de scripts nginx et fpm spécifiques (peuvent être modifiés par vous-même) se trouvent à l'adresse :
root@tb:/etc/init.d# ls /etc/init.d/ |grep php7 php7-fpm root@tb:/etc/init.d# ls /etc/init.d/ |grep nginx nginx root@tb:/etc/init.d#
Supplémentaire : si vous souhaitez revenir à la version précédente via apt-get
sudo add-apt-repository ppa:ondrej/php5 sudo apt-get update
Alors installez-le simplement
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!