Node. js 사이트 에서 Nginx 를 역방향 에이전트 로 사용 할 때 GZip 압축 튜 토리 얼 을 설정 합 니 다.
그러면 서버 에서 gzip 압축 을 쉽게 실현 하여 사이트 탐색 을 더욱 원활 하 게 할 수 있 습 니 다.
전제조건: node. js + nginx 역방향 에이전트.
node. js 가 해 야 할 일:
express 4.0 이하 버 전:
app.use(express.compress()); //
app.use(express.json());
app.use(express.urlencoded());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
모든 요청 을 압축 시 키 기 위해 copress 를 위 에 놓 습 니 다.
express 4.0 이상 버 전 (4.0 포함)
var compress = require('compression');
app.use(compress());
4.0 이상 버 전 은 중간 부품 을 독립 적 으로 꺼 냈 다.
그래서 먼저 rquire ('compression') 가 필요 합 니 다.
여 기 를 클릭 하여 express 3.5 와 express 4.0 의 주요 차이 점 을 봅 니 다.
node. js 가 해 야 할 일 은 이렇게 간단 합 니 다.
nginx 가 해 야 할 일:
nginx 프로필 열기, 설정 수정, gzip 스위치 열기
nano /usr/local/nginx/conf/nginx.conf
서버 에 있 는 nginx 가 반드시 / usr / local / 디 렉 터 리 에 설치 되 어 있 는 것 은 아니 므 로 설치 디 렉 터 리 에 따라 설정 파일 nginx. conf 를 찾 습 니 다.
http 설정 노드 에 다음 설정 을 추가 합 니 다:
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
http (
//
)
모든 설정 항목 은 어떤 의 미 를 표시 합 니까?
1) gzip
문법: gzip on / off
기본 값: off
역할 영역: http, server, location
설명: gzip 모듈 을 열거 나 닫 습 니 다. 여기 서 on 을 사용 하면 시작 을 표시 합 니 다.
2) gzip_min_length
문법: gzipmin_length length
기본 값: gzipmin_length 0
역할 영역: http, server, location
설명: 압축 을 허용 하 는 페이지 의 최소 바이트 수 를 설정 하고 페이지 바이트 수 는 header 머리 에 있 는 Content - Length 에서 가 져 옵 니 다.기본 값 은 0 입 니 다. 페이지 가 아무리 압축 되 더 라 도.1k 이상 의 바이트 수 를 설정 하 는 것 을 권장 합 니 다. 1k 이하 일 수록 눌 릴 수 있 습 니 다. |
3) gzip_buffers
문법: gzipbuffers number size
기본 값: gzipbuffers 4 4k/8k
역할 영역: http, server, location
설명: gzip 의 압축 결과 데이터 흐름 을 저장 하기 위해 시스템 에서 몇 개의 캐 시 를 가 져 옵 니 다.4 16k 대 표 는 16k 단위 로 원시 데이터 크기 에 따라 16k 단위 의 4 배 신청 메모리 입 니 다.
4) gzip_comp_level
문법: gzipcomp_level 1..9
기본 값: gzipcomp_level 1
역할 영역: http, server, location
설명: gzip 압축 비, 1 압축 비 최소 처리 속도 가 가장 빠 르 고 9 압축 비 는 가장 크 지만 처리 가 가장 느리다 (전송 은 빠 르 지만 cpu 소모).여 기 는 5 로 설정 되 어 있 습 니 다.
5) gzip_types
문법: gziptypes mime-type [mime-type ...]
기본 값: gziptypes text/html
역할 영역: http, server, location
설명: MIME 형식 과 일치 하여 압축 합 니 다. (지정 여부 와 상 관 없 이) "text / html" 형식 은 항상 압축 됩 니 다.여 기 는 application / x - javascript text / css application / xml 로 설정 되 어 있 습 니 다.
자주 사용 하 는 정적 type 은 압축 이 필요 한 상황 을 보고 정 합 니 다.
text/html
text/plain
text/css
application/x-javascript
text/javascript
application/xml
OK, 여기까지 기본 서버 설정 이 완료 되 었 습 니 다. Nginx 는 reload 만 하면 됩 니 다.
서버 가 gzip 을 열 었 는 지 curl 로 어떻게 테스트 하 는 지 테스트 해 보 겠 습 니 다. (테스트 조건 은 기본 gzip types 입 니 다. 즉, text. html 만 압축 하고 다른 type 은 압축 되 지 않 았 습 니 다)
gzip 을 열 었 는 지 확인 하려 면 클 라 이언 트 가입 이 필요 합 니 다. "Accept - Encoding: gzip, deflate" 헤더 정보 입 니 다.
$ curl -I -H "Accept-Encoding: gzip, deflate" "http://localhost/tag.php"
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 08 Mar 2012 07:23:46 GMT
Content-Type: text/html
Connection: close
Content-Encoding: gzip
$ curl -I -H "Accept-Encoding: gzip, deflate" "http://localhost/style.css"
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 08 Mar 2012 07:23:54 GMT
Content-Type: text/css
Connection: close
Last-Modified: Tue, 27 Dec 2011 10:00:51 GMT
ETag: "BC612352322D435769C4BDC03DDB2572"
Content-Length: 22834
알 수 있 겠 지?두 번 째 예 는 압축 되 지 않 았 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.