[php] Nginx PHP 요청 리미팅 설정

Nginx는 PHP 요청에 대한 리소스 소비를 제어하기 위해 “limit_req_zone” 모듈을 사용하여 요청 리미팅을 설정할 수 있습니다. PHP 애플리케이션이 과도한 요청으로 인해 과부하가 걸릴 수 있는 경우, Nginx를 사용하여 이를 방지할 수 있습니다.

이 포스트에서는 Nginx에서 PHP 요청 리미팅을 설정하는 방법을 살펴보겠습니다.

1. limit_req_zone 디렉티브 설정

먼저, Nginx 서버 블록에서 “limit_req_zone” 디렉티브를 사용하여 요청 리미팅 존을 설정해야 합니다. 이 디렉티브는 존 이름, 존 크기, 그리고 존에 대한 맵 크기를 정의합니다.

예를 들어:

http {
    limit_req_zone $binary_remote_addr zone=my_zone:10m rate=10r/s;
}

위의 예시에서는 “my_zone”이라는 존을 설정하고, 이 존은 10m의 메모리를 사용하며 초당 10개의 요청을 처리할 수 있습니다.

2. limit_req 디렉티브 사용

다음으로, 설정한 존을 사용하기 위해 PHP 요청을 리미팅하는 데 사용할 수 있는 “limit_req” 디렉티브를 설정해야 합니다. 이 디렉티브는 존 이름과 초당 요청 처리 속도를 정의합니다.

예를 들어:

server {
    location / {
        limit_req zone=my_zone burst=20 nodelay;
    }
}

위의 예시에서는 “/my_zone” 존에 대한 리미팅을 설정하고, 초당 10개의 요청을 처리하며, 초과 요청 수는 20개로 허용됩니다.

요약

Nginx를 사용하여 PHP 요청 리미팅을 설정하는 방법을 살펴보았습니다. 이를 통해 PHP 애플리케이션의 과부하를 방지하고 안정적으로 운영할 수 있습니다.

더 많은 설정 옵션 및 디렉티브에 대해 알아보려면 Nginx 공식 문서를 참고하시기 바랍니다.

포스트가 도움이 되었기를 바랍니다!