2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

PHP-FPM

작성: sangseek | 게시 날짜: 2026/01/10 | 조회수: 36
[ 편집불가 ]

PHP-FPM은 "PHP FastCGI Process Manager"의 약자입니다. 간단히 말해, PHP 코드를 웹서버와 분리해 FastCGI 프로토콜로 실행하고 PHP 워커(프로세스)를 관리하는 데몬(프로세스 관리자)입니다. 주요 기능과 특성은 다음과 같습니다. - 역할 - 웹서버(Nginx, Apache(mod_proxy_fcgi) 등)로부터 요청을 받아 PHP로 처리하고 결과를 반환. - PHP 프로세스 풀을 생성·관리(생성, 종료, 재사용)해 동시성·성능을 향상시킴. - 장점 - 웹서버와 분리되어 메모리·프로세스 관리를 최적화하고 안정성 향상. - PHP가 충돌해도 웹서버 자체가 멈추지 않음. - 각 풀(pool)을 별도 사용자/그룹, 설정으로 분리 가능(권한·보안 관리 용이). - 동적·온디맨드 프로세스 생성으로 자원 절약 가능. - 요청당 프로세스 재시작 등을 통해 메모리 누수 완화(pm.max_requests 등). - 프로세스 관리 모드(pm) - static: 고정 수의 자식 프로세스 유지. - dynamic: 최소/최대/초기 프로세스 수를 설정해 필요에 따라 조절. - ondemand: 요청이 있을 때만 프로세스를 생성하고 유휴 시 종료(자원 절약). - 주요 설정(예) - listen: FPM이 바인드할 소켓(유닉스 소켓 또는 IP:포트). 예: listen = /run/php/php7.4-fpm.sock 또는 127.0.0.1:9000 - pm.max_children, pm.start_servers, pm.min/max_spare_servers, pm.max_requests - user, group: 풀을 실행할 사용자/그룹 - request_terminate_timeout: 요청 강제 종료 시간 - slowlog: 느린 스크립트 로깅 - 웹서버 연동 - Nginx: fastcgi_pass를 통해 FPM 소켓 또는 포트로 전달. - Apache: mod_proxy_fcgi 등을 사용해 FastCGI로 연결. - 운영 및 모니터링 - 각 풀별 상태 페이지(status)와 ping을 설정해 상태 확인 가능. - 로그(오류, slowlog)로 느린 요청·메모리 이슈 추적. - 설정 변경 시 재시작/재로드로 무중단 배포 지원(그레이스풀 재시작 등). - 보안 권장사항 - 가능한 경우 유닉스 도메인 소켓을 사용하고 소유권·권한을 제한. - 풀별로 다른 사용자로 실행해 격리. - 외부에 불필요한 TCP 포트를 열지 않음. 요약: PHP-FPM은 PHP 실행을 웹서버에서 분리해 FastCGI로 서비스하고, 프로세스 풀과 요청 처리를 효율적으로 관리해 성능, 안정성, 보안성을 높여주는 프로세스 매니저입니다.
내용이 부정하다면 싫어요를 누르세요.