Nginx 시리즈 5: nginx 서버 의 Gzip 압축

3786 단어
nginx 서버 의 gzip 압축 설정 은 주로 ngxhttp_gzip_module 모듈 에서 처리 하 는 9 개의 명령 이 실 현 된 경우 Gzip 기능 의 오픈 과 설정 을 책임 지고 응답 하 는 데 이 터 를 온라인 으로 실시 간 으로 압축 합 니 다.
1. 설정 명령 상세 설명
  • gzip on|off gzip 기능 을 켜 거나 끄 기
  • gzip_buffers 32 4k | 16 8k 기본 값: gzipbuffers 4 4k / 8k 설정 시스템 은 gzip 의 압축 결과 데이터 흐름 을 저장 하기 위해 몇 개의 단위 의 캐 시 를 가 져 옵 니 다.예 를 들 어 48k 는 8k 단위 의 4 배 메모리 신청 을 대표 한다.
  • gzip_comp_level 4 기본 값: 1 (4 로 선택 하 는 것 을 권장 합 니 다) gzip 압축 비 / 압축 등급, 압축 등급 1 - 9, 등급 이 높 을 수록 압축 률 이 높 습 니 다. 물론 압축 시간 도 길 어 집 니 다 (cpu 소모).
  • gzip_types mime-type ... 기본 값: gziptypes text / html (기본적으로 js / css 파일 을 압축 하지 않 음) 일반적인 상황 에서 일반적인 파일 을 압축 할 때 다음 과 같이 설정 할 수 있 습 니 다. gzip_types text/plain application/x-javascript text/css application/xml text/javascript; 주의: 그림 / mp3 와 같은 바 이 너 리 파일 은 압축 할 필요 가 없습니다.압축 률 이 비교적 작 기 때문에 예 를 들 어 100 - > 80 바이트 이 고 압축 도 CPU 자원 을 소모 하기 때문이다.
  • gzip_min_length 1k 기본 값: 0. 페이지 가 아무리 많 더 라 도 압축 을 허용 하 는 페이지 의 최소 바이트 수 를 압축 하고 페이지 바이트 수 는 header 머리 에 있 는 Content - length 에서 가 져 옵 니 다.1k 이상 의 바이트 수 를 설정 하 는 것 을 권장 합 니 다. 1k 이하 일 수록 눌 릴 수 있 습 니 다.
  • gzip_http_version 1.0|1.1 기본 값: gziphttp_version 1.1 (HTTP / 1.1 프로 토 콜 에 대한 요청 이 gzip 압축 을 진행 한 다 는 뜻) 주: 99.99% 의 브 라 우 저 는 기본적으로 gzip 압축 을 지원 합 니 다.그러나 우리 가 사용 하 는 것 이 기본 값 1.1 이 라 고 가정 하면 proxy 를 사용 하면pass 에서 역방향 프 록 시 를 진행 합 니 다. 그러면 nginx 와 백 엔 드 upstream server 는 HTTP / 1.0 프로 토 콜 로 통신 합 니 다. 만약 에 nginx 를 사용 하여 역방향 프 록 시 를 통 해 Cache Server 를 만 들 고 전단 의 nginx 가 gzip 을 열지 않 았 으 며 백 엔 드 nginx 에 gzip 이 설정 되 어 있 지 않 습 니 다.http_version 이 1.0 이면 Cache 의 url 은 gzip 압축 을 하지 않 습 니 다
  • gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ... 기본 값: off Nginx 를 역방향 프 록 시 로 사용 할 때 백 엔 드 서버 를 켜 거나 닫 고 돌아 오 는 결 과 를 사용 합 니 다. 일치 하 는 전 제 는 백 엔 드 서버 가 'Via' 를 포함 한 헤더 로 돌아 가 야 한 다 는 것 입 니 다.off - 모든 프 록 시 결과 데 이 터 를 닫 는 압축 expired - 압축 사용, 헤더 에 'Expires' 헤더 정보 no - cache - 압축 사용, 헤더 에' Cache - Control: no - cache '헤더 정보 no - store - 압축 사용, 헤더 에' Cache - Control: no - store '헤더 정보 private - 압축 사용, 헤더 에' Cache - Control: no - store '헤더 정보 가 포함 되 어 있 으 면 private - 압축 사용, 헤더 에 포함 되 어 있 으 면"Cache - Control: private" 헤더 정보 no last modified - 압축 사용, 헤더 에 "Last - Modified" 헤더 정보 no etag 가 포함 되 어 있 지 않 으 면 압축 사용, 헤더 에 "ETag" 헤더 정보 auth - 압축 사용, 헤더 에 "Authorization" 헤더 정보 가 포함 되 어 있 으 면 any - 무조건 압축 사용
  • gzip_vary on | off 이 열 렸 을 때 'Vary: Accept - Encoding' 헤드 필드 의 응답 헤드 를 가지 고 있 습 니 다. 주요 기능 은 브 라 우 저 에서 보 낸 데 이 터 를 압축 처 리 했 음 을 알려 주 는 것 입 니 다. 열 린 효 과 는 응답 헤드 에 Accept - Encoding: gzip 을 추가 하 는 것 입 니 다. 이 는 Gzip 압축 을 지원 하지 않 는 브 라 우 저 에 유용 합 니 다.
  • gzip_disable "MSIE [1-6]." IE6 의 gzip 압축 을 사용 하지 않 고 다양한 유형의 브 라 우 저 에 대한 요청 을 선택 적 으로 열 거나 닫 습 니 다. 정규 표현 식 사용 을 지원 합 니 다.
  • gzip_static on|offnginx 는 정적 파일 을 처리 하 는 모듈 에서 gz 파일 을 미리 읽 을 수 있 습 니 다. 이 모듈 을 사용 하면 gzip 압축 을 요청 할 때마다 CPU 자원 소 모 를 줄 일 수 있 습 니 다. 이 모듈 을 사용 하면 nginx 는 정적 파일 을 요청 하 는 gz 끝 파일 이 있 는 지 먼저 확인 하고 있 으 면 gz 파일 내용 을 되 돌려 줍 니 다. gzip 을 지원 하지 않 는 브 라 우 저 를 호 환 하기 위해 gzip stati 를 사용 합 니 다.c 모듈 은 원본 정적 파일 과 gz 파일 을 동시에 보존 해 야 합 니 다. 그러면 대량의 정적 파일 이 있 는 상황 에서 디스크 공간 을 크게 늘 릴 수 있 습 니 다. nginx 의 역방향 프 록 시 기능 을 이용 하여 gz 파일 만 유지 할 수 있 습 니 다.
  • 2. 사용 예:
    gzip on;            #  gzip  
    gzip_min_length  1024;      #        
    gzip_buffers     4 16k;         #      
    gzip_http_version 1.1;      #http    
    gzip_comp_level  4;         #    4
    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript;
    gzip_vary on;       #      
    gzip_static on;     #       
    

    좋은 웹페이지 즐겨찾기