> 운영 및 유지보수 > 엔진스 > Nginx 속도 제한 구성을 구현하는 방법

Nginx 속도 제한 구성을 구현하는 방법

王林
풀어 주다: 2023-11-08 21:22:55
원래의
1554명이 탐색했습니다.

Nginx 속도 제한 구성을 구현하는 방법

Nginx 속도 제한 구성을 구현하려면 특정 코드 예제가 필요합니다.

Nginx는 고성능 웹 서버 및 역방향 프록시 서버로서 실제 애플리케이션에서 안정성을 보장하기 위해 특정 인터페이스 또는 리소스의 속도를 제어해야 하는 경우가 많습니다. 그리고 시스템의 공정성. 다음은 Nginx 구성 파일을 통해 속도 제한 제어를 구현하는 방법을 소개하고 구체적인 코드 예제를 첨부합니다.

  1. 구성 파일에 속도 제한 영역 정의
    먼저, 속도 제한 관련 정보를 저장하고 관리하려면 Nginx 구성 파일에 속도 제한 영역을 정의해야 합니다. Nginx 구성 파일(일반적으로 nginx.conf 또는 sites-available/default)을 열고 http 모듈에 다음 구성을 추가합니다.

1

2

3

4

5

http {

  ...

  limit_req_zone $binary_remote_addr zone=rate_limit:10m rate=10r/s;

  ...

}

로그인 후 복사

위 구성에서 limit_req_zone은 속도를 정의하는 데 사용됩니다. 제한 영역, 여기서 $binary_remote_addr는 클라이언트 IP 주소를 기반으로 한 속도 제한을 의미합니다. zone 매개변수는 속도 제한 영역의 이름을 rate_limit로 지정하고 10m< /code>는 속도 제한 영역의 메모리 크기가 10MB임을 의미하며, <code>rate 매개변수는 허용되는 최대 요청 수가 초당 10개임을 지정합니다. limit_req_zone用于定义一个限速区域,其中$binary_remote_addr表示根据客户端IP地址进行限速,zone参数指定了限速区域的名称为rate_limit,10m表示限速区域的内存大小为10MB,rate参数指定了允许的最大请求数量是每秒10个。

  1. 配置文件中应用限速
    接下来,在配置文件中需要对具体的接口或资源进行限速控制。打开配置文件,在server块内添加以下配置:

1

2

3

4

5

6

7

8

server {

  ...

  location /api/limited {

    limit_req zone=rate_limit burst=20 nodelay;

    ...

  }

  ...

}

로그인 후 복사

在以上配置中,location指令表示限速控制应用于路径为/api/limited的URL。limit_req指令用于设置限速规则,其中zone参数指定了使用前面定义的限速区域rate_limit,burst参数表示在超过限速后允许的最大请求数量,nodelay

    구성 파일에 속도 제한 적용
      다음으로 구성 파일에서 특정 인터페이스나 리소스에 대한 속도 제한을 제어해야 합니다. 구성 파일을 열고 서버 블록에 다음 구성을 추가합니다.

    1. 1

      sudo service nginx reload

      로그인 후 복사
    2. 위 구성에서 location 지시어는 속도 제한 제어가 경로가 /api인 URL에 적용되어야 함을 나타냅니다. /제한된. limit_req 명령은 속도 제한 규칙을 설정하는 데 사용됩니다. zone 매개변수는 이전에 정의된 속도 제한 구역 rate_limit의 사용을 지정합니다. 제한을 초과하면 속도 제한이 초과됨을 나타냅니다. nodelay 매개변수는 속도 제한을 초과하는 요청에 대해 즉시 오류를 반환할지 여부를 나타냅니다.

    Nginx 구성 다시 로드 및 테스트

    위 구성을 완료한 후 구성 파일을 저장하고 Nginx 구성을 다시 로드하여 설정을 적용합니다. 다음 명령을 사용하여 Nginx 구성을 다시 로드할 수 있습니다.

    1

    ab -n 1000 -c 100 http://your-domain.com/api/limited

    로그인 후 복사
    그런 다음 도구를 사용하여 동시 요청을 테스트하고 시뮬레이션하고 속도 제한의 효과를 확인할 수 있습니다. 테스트를 위해 ab(ApacheBench) 또는 wrk와 같은 도구를 사용할 수 있습니다. 예: 🎜rrreee🎜위 명령은 1000개의 동시 요청, 매번 100개의 동시 요청을 보내는 것을 의미하며 액세스 URL은 http://your-domain.com입니다. /api/제한적 . 반환된 테스트 결과를 보면 속도 제한 구성이 올바른지 확인할 수 있습니다. 🎜🎜위는 Nginx를 통해 속도 제한 구성을 구현하는 방법에 대한 단계입니다. 속도 제한 영역을 정의하고 속도 제한 규칙을 적용하면 인터페이스나 리소스의 액세스 속도를 효과적으로 제어하고 시스템의 안정성과 공정성을 유지할 수 있습니다. 위 내용이 도움이 되었기를 바랍니다! 🎜

    위 내용은 Nginx 속도 제한 구성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿