Maison >développement back-end >PHP7 >Explication détaillée de la configuration du socket fpm lors de la mise à niveau d'Ubuntu vers php7.0
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!