PHP-FPM 설정 파일 /etc/php/8.3/fpm/pool.d/의 차이점 및 최적화 기법

서버가 실행되면 모든 것이 제대로 작동하는 걸까요? 사실 PHP-FPM 환경에서는 설정 파일이 사이트의 안정성, 보안성, 효율성을 좌우하는 핵심적인 역할을 합니다.

PHP-FPM의 프로세스 풀 구성은 어떻게 되나요?

PHP-FPM(FastCGI Process Manager)은 PHP용 프로세스 관리자로, "풀" 개념을 사용하여 여러 웹사이트 또는 애플리케이션의 PHP 프로세스를 관리합니다.

모든 .conf 해당 파일은 프로세스가 실행되는 사용자, 수신 대기하는 포트 또는 소켓, 로그 경로 및 프로세스 수와 같은 주요 매개변수를 지정하는 풀 정의입니다.

즉, 이러한 파일은 서버의 "복제본"과 같아서 서로 다른 사이트가 서로 간섭하지 않고 독립적으로 실행될 수 있도록 해줍니다.

PHP-FPM 설정 파일 /etc/php/8.3/fpm/pool.d/의 차이점 및 최적화 기법

www.conf: 기본 프로세스 풀

PHP-FPM을 설치하면 시스템에서 자동으로 파일이 생성됩니다. www.conf 파일.

이 기능은 별도의 설정 없이 바로 사용할 수 있는 기본 풀을 제공하는 것으로, 일반적으로 다음과 같은 환경에서 실행됩니다... www-data 사용자.

이 풀은 단일 사이트 환경에 적합하고 구성이 간편하며 대부분의 매개변수는 다음과 같은 일반 값입니다.

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

만약 한 사이트에서만 운영한다면, 이것으로 충분합니다.

etUFO.org.conf: 사용자 지정 사이트 풀

사이트가 여러 개인 경우 각 사이트마다 별도의 풀을 생성해야 합니다.

예를 들어 etufo.org.conf도메인 이름 전용입니다. etUFO.ORG 독점 구성.

일반적인 관행은 다음과 같습니다.

  • 예를 들어, 서로 다른 사용자와 그룹을 지정합니다. user = etufo,group = etufo
  • 예를 들어, 별도의 수신 포트 또는 소켓을 구성하십시오. listen = /run/php/etufo.sock
  • 높은 동시 접속 환경에서도 사이트 안정성을 유지하려면 프로세스 수를 조정하십시오.
  • 독립적인 로그 파일은 문제 해결을 용이하게 합니다.

이 접근 방식의 장점은 보안 격리입니다. 즉, 한 사이트가 공격을 받더라도 다른 사이트는 영향을 받지 않습니다.

dummy.conf: 예시 또는 자리 표시자 파일

dummy.conf 이것들은 대개 시스템에서 제공하는 템플릿이나 예시입니다.

사용자가 직접 수정하고 활성화하지 않는 한 실제로는 활성화되지 않습니다.

이 문서의 목적은 참고 자료를 제공하고 새로운 풀 구성을 작성하는 방법을 보여주는 것입니다.

따라서 이는 실제 작동 설정이라기보다는 "사용 설명서"에 더 가깝습니다.

여러 개의 풀 파일을 사용하는 이유는 무엇입니까?

  • 安全 性권한 중복을 방지하기 위해 각 사이트는 서로 다른 사용자가 관리해야 합니다.
  • 성신화각 풀별로 프로세스 수를 개별적으로 설정하고 트래픽 수요에 따라 조정할 수 있습니다.
  • 격리로그, 오류 출력 및 수신 포트가 모두 분리되어 있어 문제 해결이 더 쉬워집니다.

예를 들어, 만약 www.conf 무너졌다.etufo.org.conf 정상적으로 작동할 수 있으며 서버 전체가 다운되지는 않습니다.

실제 적용 시나리오

  • 단일 사이트 서버사용 전용 www.conf 그 정도면 충분해요.
  • 멀티사이트 서버사이트마다 하나씩 만드세요 .conf 파일, 예를 들어 etufo.org.conf.
  • 더미.conf참고용으로만 사용하시고, 권장하지 않습니다.

구성 비교 예시

www.conf (기본 풀)

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5

etufo.org.conf (사용자 지정 풀)

[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log

차이점은 사용자, 수신 주소 및 프로세스 수에 있다는 것을 알게 될 것입니다.

PHP-FPM 프로세스 풀 매개변수 조정

구성에서 사용하는 경우 동적일부 업무 프로세스를 미리 시작하고 요청량에 따라 동적으로 조정하는 방식으로, 요청량이 갑자기 늘어나도 더 빠르게 대응할 수 있습니다.

일정량의 트래픽이 있는 웹사이트의 경우, 다음을 사용하는 것이 좋습니다. pm = dynamic높은 동시성 중에 일정량의 유휴 프로세스를 유지하고 500개의 오류를 방지할 수 있기 때문입니다.

접근 볼륨이 매우 낮고 메모리 리소스가 부족한 경우에만 사용하는 것이 좋습니다. pm = ondemand 자원을 절약하기 위해서.

이를 동적 방식으로 변경하고 최적화하는 것이 좋습니다. pm.max_children 그리고 다른 매개변수:

pm = dynamic
pm.max_children = 16  ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4   ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2  ; 最小空闲进程数
pm.max_spare_servers = 7  ; 最大空闲进程数
pm.max_requests = 3000    ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s  ; 空闲进程 10s 后自动退出

이 구성은 리소스 낭비를 방지하면서 성능을 보장합니다.

자세한 설정 방법은 아래 튜토리얼을 참조하십시오 ▼

PHP 공식 문서에 따르면:

"각 풀은 독립적으로 구성할 수 있으므로 애플리케이션별로 다른 사용자, 제한 및 설정을 적용할 수 있습니다."

이 설명은 멀티풀 구성의 중요성, 즉 독립성, 유연성 및 제어 가능성을 명확하게 보여줍니다.

결론: 나의 견해

서버 구성은 오케스트라의 지휘자와 같아서 각 악기를 어떻게 연주해야 하는지를 결정합니다.

www.conf 기본 지휘 모드로, 독주에 적합합니다.etufo.org.conf 특정 무대에 맞춰 특별히 제작된 지휘자입니다. dummy.conf 이것은 새로운 멜로디를 작곡하는 방법을 상기시켜주는 악보 초안입니다.

정보 보안과 성능 최적화가 중시되는 시대에 이러한 구성 파일을 올바르게 사용하는 방법을 아는 것은 서버의 생명선을 제어하는 ​​데 매우 중요합니다.

설정은 단순한 텍스트가 아니라 서버의 핵심입니다.

만약 당신이 운영하고 있다면워드프레스(WordPress)여러 사이트를 사용하는 애플리케이션의 경우, 서버의 안정성을 극대화하기 위해 이러한 풀 파일, 특히 프로세스 풀 매개변수 설정을 즉시 확인하고 최적화하는 것이 좋습니다.

희망 첸 웨이량 블로그( https://www.chenweiliang.com/ 여기에 공유된 "PHP-FPM /etc/php/8.3/fpm/pool.d/ 설정 파일의 차이점 및 최적화 기법"이라는 글이 도움이 될 수 있습니다.

이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-33845.html

더 많은 숨겨진 트릭을 알아보려면🔑 Telegram 채널에 가입하세요!

마음에 드셨다면 공유하고 좋아요를 눌러주세요! 여러분의 공유와 좋아요는 저희의 지속적인 원동력이 됩니다!

 

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

기사 디렉토리
위쪽으로 스크롤