PHP-fpm이란?


FastCGI Process Manager (PHP-fpm)

Nginx 웹서버는 정적인 HTML 웹문서 파일만을 처리하며, 동적인 페이지 구현을 위해서는 외부 프로그램을 이용해야 합니다.

이를 위해 CGI 방식을 사용할 수 있는데, 이는 요청할 때마다 새로운 프로세스를 생성하여 구동합니다. 그러나 이 방식은 부하가 많아지면 처리 속도가 느려질 수 있습니다.

이를 해결하기 위해 나온 것이 FastCGI 방식으로, 이미 생성한 프로세스를 재활용하여 처리속도가 빠릅니다.

PHP FastCGI Process Manager인 php-fpm은 이 FastCGI 방식을 구현한 것으로, CGI와 비교해 보다 빠른 성능을 보여줍니다.

Apache는 자체적으로 mod_php라는 Apache 모듈을 가지고 있어서 처리가 가능하지만, Nginx는 해당 모듈이 없기 때문에 php-fpm을 별도로 설치하여 Nginx와 연동해야 합니다.


  • 한마디로 정의하면 기존 PHP는 웹서버에 의존해서 동작했기 때문에 느렸지만

    PHP-fpm은 독립적으로 프로세스를 가지며 웹서버에 의존하지 않기때문에 빠르다

  • PHP-fpm는 리눅스등에서 서비스를 확인하면 php7.2-fpm.service와 같은 서비스가 표시되지만

    일반 PHP는 표시되지 않는다



참조

https://conory.com/blog/42956

May 7, 2023 Views 1355