Nginx 서버 기능 모듈
1. Nginx 와 Apache 의 장점 비교
이 문제 에 대해 어느 것 이 좋 은 지 말 할 수 없다. 그 자체 가 장단 점 이 있다. 예 를 들 어 아파 치 는 수백 개의 모듈 을 제공 했다. 모듈 은 기능 을 의미 하지만 아파 치 서버 로 서 최대 2000 여 개의 병발 량 만 있 고 Nginx 가 제공 하 는 모듈 도 몇 십 개 이지 만 그 는 20000 개의 병 방 량 을 제공 할 수 있다.Apache 는 기능 이 많 고 Nginx 는 기능 이 적 지만 잘 설명 할 수 있 는 말 이 있 습 니 다.
Apache Office , ,
,Nginx , Apache 50 。
--Chris Lea,ChrisLea.com
2. Nginx 에서 클 라 이언 트 요청 처 리 를 받 는 각도 에서 아파 치 와 다르다.
Nginx 는 이벤트 구동 구 조 를 사용 합 니 다. 비동기 요청 소켓 을 사용 하여 요 구 를 받 아들 이 고 비 차단 구조 로 단독 현성 처리 가 적용 되 지 않 습 니 다. 메모리 와 CPU 의 비용 을 줄 이기 위해 서 입 니 다.한편, 아파 치가 사용 하 는 동기 화 소켓, 스 레 드, 프로 세 스 는 모든 요청 이 하나의 프로 세 스 와 라인 시 티 로 처 리 됩 니 다.
Nginx 서버 기능 모듈
1. 데 이 터 를 제한 하 는 것 은 다운 로드 를 제공 하 는 사이트 에 있어 데이터 현 가 를 해 야 합 니 다. Nginx 에서 우 리 는 데 이 터 를 제한 할 수 있 고 코어 모듈 에서 limit 를 제공 합 니 다.rate、limit_rate_after 명령.
(a) 지령 limitrate 명령 어 명칭: limitrate 사용 환경: http, server, location, if in location 기본 값: no
이 명령 은 클 라 이언 트 에 데 이 터 를 전송 하 는 속 도 를 지정 하 는 데 사용 되 며 속도 의 단 위 는 초당 전송 되 는 바이트 수 입 니 다.이 명령 은 하나의 연결 에 대한 설정 일 뿐이다. 즉, 두 개의 연결 이 동시에 있 으 면 그들의 속 도 는 이 명령 이 설정 한 두 배가 될 것 이다. 마치 우리 의 광대 역 대역 폭 과 같다.
서버 단계 에서 클 라 이언 트 연결 을 제한 해 야 할 경우 – 이 명령 은 적합 하지 않 을 수도 있 지만 $limit 를 설정 할 수 있 습 니 다.rate 변 수 는 이 변수 에 해당 하 는 값 을 전달 합 니 다. 예 를 들 어:
server{
if($slow){
set $limit_rate 4k;
}
}
(b) 지령 limitrate_after 명령 명: limitrate_after 사용 환경: http, server, location, if in location 의 if 필드 기본 값: limitrate_after 1m
이 명령 은 "......................................................................................rate_after 의 매개 변 수 는 시간 값 이 아 닌 다운로드 바이트 의 크기 입 니 다. 예 를 들 어 limitrate_애 프 터 3m 는 3MB 를 최대 속도 로 다운로드 한 후 를 말한다.
예 를 들 면:
location /download{ limit_rate_after 3m; limit_rate 512k; }
클 라 이언 트 가 연결 되면 가장 빠 른 속도 로 3MB 를 다운로드 한 후 512 k 의 속도 로 다운로드 한 다 는 뜻 이다.
2 、 사용자 의 동시 접속 수 제한 limitzone 모듈 은 사용자 의 연결 수 를 제한 하고 같은 사용자 의 IP 주소 의 동시 연결 수 를 제한 합 니 다.이 모듈 은 두 개의 명령 을 제공 합 니 다: limitzone 과 limitconn, 그 중 limitzone 은 http 구간 에서 만, limitconn 은 http, server, location 구간 에 사용 할 수 있 습 니 다.
예시:
http{
limit_zone one $binary_remote_addr 10m;
server{
location /download/{
limit_conn one 1;
}
}
}
(a) 지령 limitzone 명령 어 이름: limitzone 문법: limitzone zone_name $variable memory_max_size 사용 환경: http 기본 값: no
이 명령 은 zone 을 정의 하 는 데 사 용 됩 니 다. 이 zone 은 답장 상 태 를 저장 하 는 데 사 용 됩 니 다.저장 할 수 있 는 세 션 수 는 배 송 된 변수 와 memory 입 니 다.max_사이즈 의 크기 가 결 정 됩 니 다.예 를 들 어
limit_zone one $binary_remote_addr 10m;
클 라 이언 트 의 IP 주 소 는 세 션 으로 사 용 됩 니 다. 주의: 여 기 는 remote 가 아 닌 biary remoteaddr 를 사용 합 니 다.addr, 이것 은 remoteaddr 의 길 이 는 7 - 15 바이트 이 고 회화 정보의 길 이 는 32 바이트 입 니 다.1MB 의 zone 을 설정 할 때 binary 를 사용 하면remote_addr 방식 으로 이 zone 은 32000 개의 세 션 을 저장 합 니 다.(b) 지령 limitconn 명령 어 이름: limitconn 문법: limitconn zone_name max_clients_per_ip 사용 환경: http, server, location 기본 값: no
이 명령 은 세 션 의 최대 병렬 연결 수 를 설정 하 는 데 사 용 됩 니 다.요청 수가 이 제한 을 초과 하면 503 오류 가 발생 합 니 다.예 를 들 면:
limit_zone one $binary_remote_addr 10m;
server{
location /download/{
limit_conn one 1;
}
}
이 설정 은 두 글자 와 같은 ip 의 동시 연결 수 를 1 개 이상 초과 할 수 없 게 합 니 다.
(b) 지령 limitconn_log_level 명령 어 이름: limitconn_log_level 문법: limitconn_log_level log_level info | notice | warn | error 사용 환경: http, server, location 기본 값: error 이 명령 은 오류 단 계 를 설정 하 는 데 사 용 됩 니 다. 연결 이 제한 되면 오류 로그 가 발생 합 니 다.
종합 실례:
worker_progresses 4;
event{
worker_connection 10240;
}
http{
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
limit_zone flv_down $binary_remote_addr 10m;
server{
listen 80;
server_name flv.abc.com;
....
location /download{
limit_conn flv_down 1;
}
}
error_page 500 502 503 504 /50x.html;
location =/50x.html{
root html;
}
}
1 、 limit 사용zone 명령 은 zone 을 flv 로 정의 합 니 다.down
limit_zone flv_down $binary_remote_addr 10m;
flv_down: zone 이름 입 니 다. 무제 한 입 니 다.biary remoteaddr: 하나의 변수 로 클 라 이언 트 간 의 차 이 를 만 들 고 다른 변 수 를 선택 하여 구별 할 수 있 지만 가장 전형 적 인 것 은 biary 입 니 다.remote_addr, 여기 서 사용 하 는 바 이 너 리 형식의 IP 주 소 는 ASCII 형식 보다 효율 적 입 니 다.10m: 크기 제한 에 사용
2 、 limit 사용conn 명령 으로 limit 실현zone 명령 의 정의 zone, 1 은 동시 연결 수량 을 표시 합 니 다.
limit_conn flv_down 1;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.