FastCGI(Fast Common Gateway Interface, Fast Common Gateway Interface)는 HTTP 서버와 동적 스크립팅 언어 간의 통신을 위한 확장 가능한 고속 인터페이스(또는 프로토콜)입니다.
Nginx + FastCGI 작동 원리 (추천 학습: PHP 비디오 튜토리얼#🎜 🎜#)
Nginx는 외부 프로그램의 직접 호출이나 구문 분석을 지원하지 않습니다. 모든 프로그램(PHP 포함)은 FastCGI, uwsig를 통과해야 합니다. 인터페이스 호출.
FastCGI 인터페이스는 Linux(unix sockt 또는 ip:port 형식)에서 소켓을 호출합니다. CGI 프로그램을 호출하려면 FastCGI 래퍼도 필요합니다. 래퍼는 포트나 파일 소켓과 같은 고정 소켓에 바인딩됩니다. Nginx가 FastCGI 인터페이스를 통해 이 소켓에 CGI 요청을 보내면 래퍼는 요청을 받은 다음 새 스레드를 파생시킵니다. 이 스레드는 스크립트를 처리하기 위해 인터프리터 또는 외부 프로그램을 호출합니다. . 데이터를 반환한 다음 래퍼는 반환된 데이터를 FastCGI 인터페이스를 통해 고정 소켓을 따라 Nginx에 전달합니다. 마지막으로 Nginx는 반환된 데이터를 클라이언트에 보냅니다.PHP-FPM
FastCGI 인터페이스 모드는 동적 스크립트를 구문 분석하기 위해 스크립트 구문 분석 서버에서 하나 이상의 데몬 프로세스를 시작합니다. FastCGI 프로세스 관리자 또는 FastCGI 엔진. PHP-FPM은 PHP를 지원하는 FastCGI 엔진입니다. PHP-FPM은 PHP용 패치로 개발된 타사 FastCGI 프로세스 관리자이므로 설치 중에 PHP 소스 코드와 함께 컴파일해야 합니다. 즉, PHP-FPM이 PHP 커널로 컴파일된다는 의미입니다. FastCGI의 가장 큰 장점은 동적 언어와 HTTP 서버를 분리하는 것입니다. 따라서 Nginx와 PHP/PHP-FPM은 프론트 엔드 Nginx 서버의 압력을 공유하기 위해 종종 다른 서버에 배포되어 Nginx를 만듭니다. 이는 정적 요청을 독점적으로 처리하고 동적 요청을 전달하는 반면, PHP/PHP-FPM 서버는 PHP 동적 요청을 독점적으로 구문 분석합니다.위 내용은 nginx는 PHP를 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!