fcgi 예제

위의 위치가 /scripts/test/에 대한 요청을 처리하도록 선택한 경우 SCRIPT_FILENAME값은 루트 지시문, 요청 URI 및 fastcgi_index 지시문의 값을 조합한 값입니다. 이 예제에서는 매개 변수가 /var/www/html/스크립트/테스트/index.php로 설정됩니다. 일반 부하에서 제한에 도달하면 한도에 다시 도달하기 전에 시간만 지연하므로 제한을 단순히 늘리는 것으로는 충분하지 않을 수 있습니다. FcgidSpawnScore 및/또는 FcgidTerminationScore값을 줄이거나 FcgidTimeScore 값을 증가시키면 스폰 속도가 더 높아지도록 됩니다. # FcgidMaxRequestsPerProcess는 <= PHP_FCGI_MAX_REQUESTS여야 합니다. FcgidMaxRequestsPerProcess 10000 # 다음 줄의 주석 을 해제 cgi.fix_pathinfo # php.ini에서 1로 설정 하는 경우: # FcgidFixPathinfo 1 별칭 /phpapp/ /usr/로컬/로컬/phpapp/ AddHandler fcgid-script .php 옵션 +ExecCGFcGidWrapper/usr bin/php 래퍼 .php # 요구 사항에 대 한 다음 두 지시문을 사용자 지정 합니다. 주문 허용,거부 모든 허용 요청 처리에 대한 최대 시간 제한입니다. FcgidBusyTimeout 초 내에 FastCGI 요청이 완료되지 않으면 종료될 수 있습니다. 검사는 FcgidBusyScanInterval에 의해 정의된 간격으로 수행되므로 요청 처리를 더 긴 기간 동안 진행할 수 있습니다. 예를 들어 다음과 같은 모양의 /etc/nginx/fastcgi.conf(또는 /etc/nginx/fastcgi_params) 파일이 있을 수 있습니다: 루비 온 레일, 촉매, 장고, 케플러 및 플랙과 같은 최근 프레임워크는 임베디드에 포함됩니다.

인터프리터(mod_ruby, mod_perl, mod_python 또는 mod_lua, 예를 들어), 또는 FastCGI. 또한 예제 구성은 아파치 2.0 및 2.2와 함께 작동하는 액세스 제어 지시문을 사용하여 응용 프로그램에 대한 전체 액세스를 제공합니다. 이러한 지시문은 모든 환경에 적합하지 않으며 아파치 HTTP 서버(Subversion 트렁크)의 개발 수준에는 적합하지 않습니다. 다음은 래퍼 스크립트를 사용하여 PHP를 호출하는 예제입니다. $request_method 변수에는 항상 클라이언트가 요청한 http 메서드가 포함됩니다. FcgidSpawnScore의 값은 생성된 모든 응용 프로그램 프로세스에 대한 점수에 추가됩니다. FcgidTerminationScore의 값은 모든 종료 된 응용 프로그램 프로세스에 대 한 점수에 추가 됩니다. FcgidTimeScore의 값은 매 초마다 점수에서 뺍니다. 이 유휴 시간 확인은 구성된 FcgidIdleScanInterval의 빈도로 수행됩니다. 위의 예에서는 fastcgi_param 선언과 fastcgi_index 지시문 모두 이후의 위치 블록 모두에서 사용할 수 있습니다. 이것은 반복적 인 선언을 제거하는 한 가지 방법입니다.

PHP 응용 프로그램은 일반적으로 FcgidWrapper 지시문 및 해당 래퍼 스크립트를 사용하여 구성됩니다. 래퍼 스크립트는 PHP_FCGI_MAX_REQUESTS 등 응용 프로그램에 필요한 환경 변수를 정의하는 적절한 위치일 수 있습니다. 환경 변수는 FcgidInitialEnv로 설정할 수도 있지만 모든 응용 프로그램에 적용됩니다. 이 지시문은 PHP가 추가 경로 정보를 제공할 수 있도록 하는 특수 SCRIPT_NAME 처리를 가능하게 합니다. FcgidFixPathinfo의 설정은 php.ini의 cgi.fix_pathinfo 설정을 미러로 표시해야 합니다. 이렇게 하면 PHP가 경로의 마지막 구성 요소에서만 실행을 시도합니다. 따라서 위의 예제에서 /test.jpg/index.php 파일이 존재하지 않으면 PHP가 /test.jpg를 실행하는 대신 올바르게 오류가 발생합니다. 이 시점에서 언급할 가치가 있는 한 가지는 단일 컨텍스트 내에서 동일한 매개 변수에 대해 여러 값을 설정하는 것이 의미하는 바입니다.