Ubuntu에서 nginx 최적화와 관련해서 Brotli 압축에 대해 포스팅한적이 있다.
이번에 프록시 서버를 Cent 8버전대로 올리면서 nginx 설치 후 모듈 활성화를 하려고했는데 이전에 올린글의 스크립트는 Cent OS와는 호환이 안되서 새로운 버전으로 글을 작성하고자 한다.(Cent OS 전용)
*Brolit 압축은 일반적인 Gzip 보다 압축률이 뛰어나다(성능향상)
Brotli 압축에 대한 간단 설명과 Ubunut, Linux Mint 설치등은 아래 글 참조
이제 설치 진행
YUM repository 추가하기.
yum install https://extras.getpagespeed.com/release-latest.rpm
Brotli 모듈 설치하기
dnf install nginx-module-nbr
설치할때 기존 설치되어있는 nginx 버전과 동일한지 확인하자.
설치확인
ll /etc/nginx/modules
Brotli 관련 모듈들이 설치되어있는걸 확인 할 수 있다.
brotli.conf 생성하기
vi /etc/nginx/conf.d/brotli.conf
brotli on;
brotli_types application/atom+xml
application/geo+json
application/javascript
application/json
application/ld+json
application/manifest+json
application/rdf+xml
application/rss+xml
application/vnd.ms-fontobject
application/wasm
application/x-font-opentype
application/x-font-truetype
application/x-font-ttf
application/x-javascript
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
application/xml+rss
font/eot
font/opentype
font/otf
image/bmp
image/svg+xml
image/vnd.microsoft.icon
image/x-icon
image/x-win-bitmap
text/cache-manifest
text/calendar
text/css
text/javascript
text/markdown
text/plain
text/vcard
text/vnd.rim.location.xloc
text/vtt
text/x-component
text/x-cross-domain-policy
text/xml
brotli_comp_level 4;
nginx.conf 수정하기
모듈을 로딩시키고 gzip과 겹치지 않게 gzip 주석처리, incloud *.conf 확인하자
#Brotli 모듈 로드
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
다 완료됐으면 재시작 전에 변경사항 체크를 위해서 curl로 먼저 긁어보자
curl -IL {nginxIP} -H "Accept-Encoding: br"
service nginx restart
curl -IL {nginxIP} -H "Accept-Encoding: br"
적용 완료!