>  기사  >  백엔드 개발  >  CGI, FastCGI 및 PHP_FPM의 관계는 무엇입니까?

CGI, FastCGI 및 PHP_FPM의 관계는 무엇입니까?

不言
不言원래의
2018-04-04 14:14:561781검색

最近在使用vagrant搭建php的开发环境。
其中在搭建调试过程中,发现了很多问题(毕竟之前一直在用集成开发环境,一键安装搞定。。)。
进而调查了下CGI FastCGI 与 PHP-FPM 现总结如下:

요청 프로세스 요약

브라우저를 사용하여 index.php에 액세스했을 때 정확히 어떤 경험을 하셨나요?

CGI, FastCGI 및 PHP_FPM의 관계는 무엇입니까?

이 사진을 읽고 나니 조금 더 선명해졌나요? 아래에서 자세히 설명하겠습니다.

index.php에 액세스하기 위해 URL 주소를 입력하면 브라우저(클라이언트)가 서버(nginx, apache 등)에 요청을 보내지만 서버는 php 등 html과 같은 정적 리소스만 처리할 수 있습니다. , jsp 등 동적 리소스는 서버에서 처리할 수 없으므로 이를 처리하려면 특정 파서가 필요합니다. 그러면 서버와 파서는 어떻게 통신(접촉)합니까? CGI를 사용하며 통신 후에는 PHP-FPM을 사용하여 php 파일을 파싱해야 하며, 파싱이 완료된 후 서버에서 브라우저(클라이언트)로 반환됩니다. 이렇게 하면 요청 프로세스가 완료됩니다.

그래서:

  • CGI는 웹 서버와 웹 애플리케이션 간의 데이터 교환을 위한 프로토콜입니다.

  • FastCGI: CGI와 동일하며 통신 프로토콜이지만 CGI보다 효율성이 일부 최적화되었습니다.

  • PHP-CGI: Web Server에서 제공하는 CGI 프로토콜에 대한 PHP(Web Application)의 인터페이스 프로그램입니다.

  • PHP-FPM: PHP(웹 애플리케이션)에서 웹 서버에 제공하는 FastCGI 프로토콜용 인터페이스 프로그램이며 비교적 지능적인 작업 관리 기능도 제공합니다.

참고자료
CGI, FastCGI 및 PHP-FPM의 관계 그림

관련 권장 사항:

php-fpm - php_fpm 실행의 구성 파일 경로를 확인하는 방법은 무엇입니까?

위 내용은 CGI, FastCGI 및 PHP_FPM의 관계는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.