fcgi 예제

FcgidCmdOptions /usr/local/bin/래퍼 InitialEnv MAX_REQUESTS=2000 MaxRequestsPerProcess 2000 IOTimeout 90 현재 점수가 FcgidSpawnScoreUpLimit의 값보다 높을 때 추가 응용 프로그램 프로세스가 생성되지 않습니다. 후속 요청은 기존 프로세스가 무료일 때까지 또는 점수가 한도 이하로 떨어질 때까지 기다려야 합니다. 핵심 지시문 ErrorDocument를 사용하면 특정 HTTP 오류 코드에 대한 사용자 지정 오류 페이지를 지정할 수 있습니다. 중요한 참고 사항: 오류 페이지가 fastcgi 스크립트에 의해 생성되는 경우 mod_fcgid는 아파치의 ErrorDocuments를 우회하여 출력 필터 체인으로 응답을 전달합니다. 반대로 아파치 자체에서 오류가 생성되면(예: 누락된 리소스로 인해 HTTP 404) ErrorDocument 집합이 사용됩니다. 이 동작은 fastcgi의 응답 생성 논리를 가능한 한 적게 방해하는 가장 보수적인 동작입니다. mod_proxy는 동일한 동작을 보여 주지만, ErrorErrorOverride를 제공하여 ErrorDocuments를 강제로 사용하지만 mod_fcgid는 사용하지 않습니다. 일반적인 해결 방법은 fcgi 스크립트에 ErrorDocuments를 생성하여 응답 콘텐츠를 완전히 제어하도록 지시하는 것입니다. 이 설정된 경우 자주 프로세스 를 만들어야 하므로 FcgidSpawnScoreUpLimit 또는 기타 점수 관련 지시문을 조정하여 더 자주 프로세스를 만들 수 있습니다.

FcgidSpawnScore의 값은 생성된 모든 응용 프로그램 프로세스에 대한 점수에 추가됩니다. FcgidTerminationScore의 값은 모든 종료 된 응용 프로그램 프로세스에 대 한 점수에 추가 됩니다. FcgidTimeScore의 값은 매 초마다 점수에서 뺍니다. 일반 부하에서 제한에 도달하면 한도에 다시 도달하기 전에 시간만 지연하므로 제한을 단순히 늘리는 것으로는 충분하지 않을 수 있습니다. FcgidSpawnScore 및/또는 FcgidTerminationScore값을 줄이거나 FcgidTimeScore 값을 증가시키면 스폰 속도가 더 높아지도록 됩니다. 모듈은 이 간격으로 FcgidBusyTimeout 검사를 수행합니다. 해결 방법은 프로그래밍 언어로 사용할 수 있는 모든 흐름 제어를 사용하여 스크립트를 자체적으로 완료하는 것입니다. 다음은 일부 의사 코드가있는 Perl의 이전 및 이후 예제입니다 : 위의 위치가 /scripts /test/에 대한 요청을 처리하기 위해 선택된 경우 SCRIPT_FILENAME값은 루트 지시문, 요청 URI 및 fastcgi_index의 값의 조합입니다.

지시문. 이 예제에서는 매개 변수가 /var/www/html/스크립트/테스트/index.php로 설정됩니다.

Bez kategorii