웹 애플리케이션의 인기와 개발을 통해 사용자 경험을 보장하고 서비스 안정성을 보장하기 위해 웹 서비스에 대한 동시 연결 횟수를 제한하는 것이 특히 중요합니다. Nginx는 우수한 성능 웹 서버 및 리버스 프록시 서버 로서이 요구 사항을 달성하는 데 도움이되는 다양한 구성 옵션을 제공합니다. 이 기사에서는 Nginx 프록시 서버를 구성하여 웹 서비스에 동시 연결 수를 제한하고 특정 코드 예제를 제공하는 방법을 소개합니다.
먼저 Nginx를 설치해야합니다. 다음은 우분투 운영 체제에 nginx를 설치하는 예제 명령입니다.
<span class="fun">$ sudo apt 업데이트</span>
<span class="fun">$ sudo apt install nginx</span>
설치가 완료되면 Nginx 구성 파일을 열고 편집해야합니다.
<span class="fun">$ sudo nano /etc/nginx/nginx.conf</span>
다음으로 HTTP 블록에 다음 구성을 추가하십시오.
http {
...
# 동시 연결 수를 제한하십시오100
limit_conn_zone $binary_remote_addr zone=concurrent:10m;
server {
...
# 동시 연결 수를 제한하십시오10
limit_conn concurrent 10;
}
}
위 구성에서`limit_conn_zone`은 클라이언트 당 동시 연결 수를 저장하기 위해 공유 메모리 영역 (크기 10MB)을 정의하는 데 사용됩니다. `limit_conn`은 각 서버 블록의 최대 동시 연결 수를 정의하는 데 사용됩니다 (예 : 10).
구성이 완료되면 구성을 발효하려면 NGINX 서비스를 다시 시작해야합니다.
<span class="fun">$ sudo systemctl nginx를 다시 시작합니다</span>
구성이 적용되는지 확인하려면 응력 테스트를 위해`AB` (APACHE 벤치 마크) 명령을 사용할 수 있습니다. 다음은`ab` 명령을 사용하는 예입니다.
<span class="fun">$ ab -c 100 -n 1000 http : // localhost/</span>
위의 예에서`-c 100`는 동시 요청 수가 100이라는 것을 의미하고`-n 1000`는 총 요청 수가 1000이라는 것을 의미합니다. 구성이 올바른 경우 다음 출력이 표시됩니다.
Concurrency Level: 100
Time taken for tests: 10.000 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 158000 bytes
...
NGINX 프록시 서버의 동시 연결 제한을 합리적으로 구성함으로써 웹 서비스는 과도한 연결로 인한 성능 문제를 효과적으로 피할 수 있습니다. 이 기사의 구성 예제는 사용자 가이 기능을 쉽게 구현하는 데 도움이됩니다. 물론 실제 요구에 따라 이러한 구성을 추가로 조정해야 할 수도 있습니다. 이 기사가 도움이되기를 바랍니다!