> 백엔드 개발 > PHP7 > 본문

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

藏色散人
풀어 주다: 2023-02-17 14:16:02
앞으로
3476명이 탐색했습니다.

간단히 말하면

(내가 아는 전부임) 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿