>  기사  >  운영 및 유지보수  >  Nginx에 Brotli 압축 알고리즘을 활성화하는 방법

Nginx에 Brotli 압축 알고리즘을 활성화하는 방법

王林
王林앞으로
2023-05-15 15:52:061297검색

brotli 압축 알고리즘은 무엇인가요?

brotli는 원래 웹 글꼴의 오프라인 압축을 위해 2015년에 출시되었습니다. Google 소프트웨어 엔지니어는 2015년 9월에 http 압축에 특히 중점을 두고 일반적인 무손실 데이터 압축을 포함하는 향상된 brotli 버전을 출시했습니다. 압축률을 향상시키기 위해 인코더가 부분적으로 다시 작성되었으며, 인코더와 디코더 모두 속도가 향상되었으며, 스트리밍 API가 개선되어 더 많은 압축 품질 수준이 추가되었습니다. 새 버전은 또한 크로스 플랫폼 성능 향상과 디코딩에 필요한 메모리 감소를 보여줍니다.

일반적인 범용 압축 알고리즘과 달리 brotli는 미리 정의된 120KB 사전을 사용합니다. 사전에는 13,000개 이상의 일반 단어, 구문 및 대규모 텍스트 및 HTML 문서 모음에서 가져온 기타 하위 문자열이 포함되어 있습니다. 사전 정의된 알고리즘은 작은 파일의 압축 밀도를 높입니다.

텍스트 파일을 압축하기 위해 deflate 대신 brotli를 사용하면 일반적으로 압축 밀도를 20% 높일 수 있지만 압축 및 압축 해제 속도는 거의 동일하게 유지됩니다. brotli를 사용한 스트림 압축을 위한 콘텐츠 인코딩 유형에서는 "br"을 사용하도록 제안되었습니다.

설치

1. brotli를 다운로드합니다

git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init

2. 컴파일

원래 컴파일 구성 뒤에 –add-module=/opt/nginx/ngx_brotli를 추가합니다

예를 들어

코드는 다음과 같습니다. 다음:

./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with- zlib=/opt /nginx/zlib-1.2.11 --with-openssl=/opt/nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module

구성, 추가

http 섹션
http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  tcp_nopush   on;

  keepalive_timeout 65;
  #brotli compression
  brotli on;
  brotli_comp_level 6;
  brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
  ……

Restart에서 페이지를 새로 고쳐 헤더를 보고 그림과 같이

accept-encoding:gzip, deflate, br

가 있는지 확인하세요

Nginx에 Brotli 압축 알고리즘을 활성화하는 방법

. 이는 brotli 압축이 켜져 있음을 의미합니다

구성 지침

명령 소개

다음 명령이 정의됩니다.

brotli, 응답 데이터의 동적 압축 허용 여부, 선택적 값은 on과 off이며 기본값은 off입니다. 예는 다음과 같습니다:

brotli on;

brotli_types, 동적 압축이 활성화되면 압축된 MIME 유형이 허용되며 기본값은 text/html입니다. 예는 다음과 같습니다:

brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;

brotli_static, .br로 끝나는 전처리된 압축 파일 검색을 허용할지 여부, 선택적 값은 on, off 및 Always이고 기본값은 off입니다. 샘플은 다음과 같습니다:

brotli_static off;

brotli_comp_level, 압축 수준, 선택적 값 범위는 0~11이고 기본값은 6입니다. 예를 들면 다음과 같습니다:

brotli_comp_level 11;

brotli_buffers, 응답 데이터를 압축할 때 사용되는 버퍼의 수와 크기. 샘플은 다음과 같습니다:

brotli_buffers 16 8k;

brotli_window, brotli에서 사용하는 창 값, 기본값은 512k입니다. 예는 다음과 같습니다:

brotli_window 512k;

brotli_min_length, 응답 데이터의 최소 길이 이 값 미만에서는 brotli 알고리즘이 압축 작업을 수행하는 데 사용되지 않습니다. brotli 알고리즘은 content-length를 사용하여 응답 데이터의 길이를 결정합니다. 예는 다음과 같습니다:

brotli_min_length 20;

위 내용은 Nginx에 Brotli 압축 알고리즘을 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제