Maison  >  Article  >  développement back-end  >  Explication détaillée de la configuration du socket fpm lors de la mise à niveau d'Ubuntu vers php7.0

Explication détaillée de la configuration du socket fpm lors de la mise à niveau d'Ubuntu vers php7.0

藏色散人
藏色散人avant
2020-04-13 14:12:303356parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Utiliser l'opérateur "??"Article suivant:Utiliser l'opérateur "??"