[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 요청에 대한 로드를 효과적으로 제한하는데 도움이 될 것입니다.
참고문헌:
- https://nginx.org/en/docs/http/ngx_http_limit_req_module.html