PHP FPM 구성 시 Apache SetHandler 지시문 구문

PHP FPM 구성 시 Apache SetHandler 지시문 구문

나는 몇 가지 튜토리얼을 따르고 PHP FPM을 사용하도록 Apache를 구성했습니다. 그러나 라인의 어떤 부분이 수행되고 있는지 이해할 수 없으며 SetHandler일부 실험에 따르면 중복된 것으로 보입니다. 나는 다음 줄을 가지고 있습니다 :

SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"

이는 |fcgi://localhost존재 여부에 관계없이 작동합니다.

Plesk 구성 등 다양한 곳에서 해당 부분 fcgi://localhostfcgi://127.0.0.1:9000

의 목적은 무엇입니까 |fcgi://localhost? 중복되어 제거할 수 있나요?

sock과 fcgi를 분리하는 파이프가 sock|fcgi'또는'으로 해석됩니까? 즉, unix 소켓이 없으면 대신 tcp 연결을 사용합니까?

내 FPM 풀 구성에서 Listen 지시문을 호스트와 포트, 그리고 포트만으로 바꾸려고 시도했지만 제대로 작동하지 않는 것 같습니다. Unix 소켓이 아닌 TCP를 통해 PHP FPM을 사용할 수 있도록 어떻게 구성하시겠습니까? 지금은 이 일을 하고 싶은 이유가 없습니다. 단지 배우기 위한 것뿐입니다.

마지막으로. 이 질문을 하는 것이 올바른 '스택' 사이트입니까?


내가 발견했다고 편집약간의 문서아파치에서. 예제 섹션의 마지막 예제에서는 |fcgi://something역방향 프록시 요청을 강제하는 맥락에서 를 사용하는 방법에 대해 설명하지만 실제로는 이해가 되지 않습니다.

답변1

문서에는 필수는 아니지만 포함해야 하는 이유가 명확하게 설명되어 있습니다.

성능상의 이유로 동일한 백엔드를 나타내는 작업자를 정의해야 합니다 fcgi://. 이 형식의 이점은 서버에서 발생하는 URI와 파일 이름의 일반적인 매핑을 허용하고 로컬 파일 시스템 결과가 백엔드로 전달된다는 것입니다. FastCGI가 이런 방식으로 구성되면 서버는 가장 정확한 PATH_INFO를 계산할 수 있습니다.

관련 정보