>  기사  >  백엔드 개발  >  Ubuntu를 php7.0으로 업그레이드할 때 fpm 소켓을 구성하는 방법에 대한 자세한 설명

Ubuntu를 php7.0으로 업그레이드할 때 fpm 소켓을 구성하는 방법에 대한 자세한 설명

藏色散人
藏色散人앞으로
2020-04-13 14:12:303356검색

간단히 말하면

(내가 아는 전부임) nginx는 fpm을 통해 요청을 처리하여(fastcgi를 관리하기 위해) 요청과 응답을 구현합니다.

그리고 nginx와 php-fpm은 포트 9000(기본값) 또는 소켓을 수신하여 구현할 수 있습니다.

9000의 형식은 127.0.0.1:9000이며 인터넷을 통해 전송됩니다. ngxin conf 파일을 통해 .php로 끝나는 모든 항목은 처리를 위해 포트 9000으로 전달됩니다. php-fpm(fastggi의 프로세스 관리자)은 fastcgi 하위 프로세스를 선택하고 연결하고 환경 변수와 표준 입력을 fastcgi 하위 프로세스로 보냅니다. 그러면 요청과 응답이 계속해서 처리됩니다.

소켓 파일은 네트워크를 거치지 않고 소켓입니다.

알겠습니다. 속도 비교와 최적화 구성에 대해서는 지금은 이야기하지 않겠습니다.

우분투(14.10 lts) 업그레이드에 대해 먼저 이야기해 볼까요php7

sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get update
sudo apt-get install php7.0-fpm

업그레이드가 완료된 후에도 이전 fpm 파일이 그대로 남아 있습니다. 적절하게 참조하거나 삭제할 수 있습니다

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

phpfpm 수신 포트 9000을 소켓으로 변경합니다(기본값은 소켓)

php7은 기본값이 소켓이므로 이전 nginx -conf 파일을 따르면 php 파일 처리 중 502 오류가 보고됩니다.

기본 양말은 php 구성 파일에 있습니다. pool.d의 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#

에는 다음 두 줄이 있습니다.

listen = /run/php/php7.0-fpm.sock
; listen = 127.0.0.1:9000
## 更改nginx conf文件 ##

nginx 구성 파일은

  root@tb:/etc/nginx/conf.d# ls
  git.conf  svn.conf  tb.conf

에 있습니다.

 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;
    }
}

php-fpm 및 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#

특정 nginx 및 fpm 스크립트 실행 파일(직접 수정 가능)은

    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#

에 있습니다. apt를 사용하고 싶다면 이전 버전으로 다시 변경하세요

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update

그런 다음 다시 설치하세요

위 내용은 Ubuntu를 php7.0으로 업그레이드할 때 fpm 소켓을 구성하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제