간단히 말하면
(내가 아는 전부임) 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!