http://akal.co.kr/?p=946


    [우분투, 민트] nginX에서 gzip으로 압축 전송하기



    gzip 전송을 하기 위해서는 웹브라우져에서도 gizp을 지원해야 하는데, 최근 브라우져들은 거의다 지원하고 있고 IE6 이하 버전들은 지원하지 않는다. gzip은 GNU zip의 준말로 원래는 파일압축에 쓰이는 응용소프트웨어로 자유소프트웨어(GPL, LGPL 등의 라이센스를 가지는 오픈소스 기반의 소프트웨어들을 말한다.)이다. gzip 전송의 장점은 css, js, json, xml, rss등 TEXT기반의 data들을 압축해서 전송하게 되므로 CPU점유율이나 부하를 낮춰주어 성능향상을 기대할 수 있게 된다.

    nginX Gzip 설정하기

    그럼 이제 설정을 시작해보자. 가상 호스트별로 따로 적용하고 싶다면 sites-available에서 설정된 호스트별로 설정해주면 되지만 전체 공통으로 적용해주고 싶다면 /etc/nginx/nginx.conf 파일을 편집해주면 된다.

    vi 편집기로 다음과 같은 설정을 추가해준다.

    * 최신버전의 경우

    최근 업데이트 버전이 설치되어 있는 경우에는 주석처리 되어있는 주석(#)만 제거해주면 위의 내용을 쳐줄 필요없이 작동된다. 그러니 먼저 주석처리된 gzip 내용이 있는지 확인해보자.

    설정이 끝나면 언제나 마찬가지로 nginX를 재부팅시켜줍니다.

    동작 테스트

    이제 설정이 끝났으면 제대로 동작하는지 확인을 해보아야 합니다.

    1. 서버내에서 테스트

    위의 명령어를 입력했을때

    위에서처럼 Content-Endcoding: gzip 이라고 나오면 잘되고 있는 겁니다.

    2. 테스트 해주는 웹사이트에서

    또다른 테스트 방법은 압축율까지 테스트 해주는 웹사이트에서 테스트 하는 방법입니다.

    gizp 테스트 사이트 이곳에서 자신의 홈페이지 주소를 입력하면 gzip이 잘작동하고 있는지 압축률은 얼마나 되는지 까지 확인할 수 있습니다.

    최근 javascript를 이용한 jQuery등의 프레임웍들, BootStrap 같은 CSS 프레임웍들이 많이 이용되고 있는추세라 gzip을 이용하면 사용자가 많은 사이트 일수록 더 좋은 효과가 있을것으로 기대됩니다.

    Posted by beumbae