[php] Nginx PHP 요청 로드 제한 설정

이 모듈을 사용하기 위해서는 Nginx를 설치할 때 이 모듈을 함께 빌드해야합니다. 대부분의 배포판에서는 이 모듈을 기본적으로 포함하고 있지만, Nginx를 직접 컴파일하여 설치한 경우에는 추가적인 설정이 필요할 수 있습니다.

이제 설정을 추가할 차례입니다. 먼저, PHP 요청에 대한 로드를 제한하려는 URL 위치를 정의해야 합니다. 예를 들어, 모든 PHP 스크립트에 대해 로드를 제한하려면 다음과 같이 작성할 수 있습니다.

http {
    limit_req_zone $binary_remote_addr zone=php_req_limit:10m rate=1r/s;
    
    server {
        location ~ \.php$ {
            limit_req zone=php_req_limit burst=5;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
}

위의 예시에서, limit_req_zone 지시문을 사용하여 php_req_limit이라는 이름의 zone을 정의하고 있습니다. 이 zone은 클라이언트 주소 별로 10MB의 메모리를 할당하고, 초당 1개의 요청 속도로 제한합니다.

그리고 limit_req 지시문을 사용하여 요청 로드를 제한하는데, burst=5는 초당 허용되는 최대 요청 수를 초과할 경우 허용되는 추가 요청 수를 나타냅니다.

이제 설정파일을 저장하고 Nginx를 재시작하여 이러한 변경 사항을 적용할 수 있습니다. 이러한 설정은 PHP 요청에 대한 로드를 효과적으로 제한하는데 도움이 될 것입니다.

참고문헌: