아파치 웹서버 데몬은 gzip을 이용해 문서를 압축하고 클라이언트에게 전송하는 것을 지원합니다.
압축되는 문서는 html,CSS,javascript등 웹사이트를 구성하는 대부분의 문서로 문서 하나로 비교하면 압축되는 용량이 미미하지만 수십 수백만명이 사이트에 방문해서 동시다발적으로 서버에 요청하게 된다면 1Kb 용량의 차이라고 할지라도 결과적으로 엄청난 트래픽의 차이를 불러오기 때문에 웹서버를 사용하고자 한다면 필수적으로 설정해야 할 항목중 하나입니다.
또한 개인적으로 사용하는 웹서버라고 할지라도 하드웨어 – 운영체제 – 데몬(서비스) – 웹 어플리케이션 순으로 최적화가 진행되야 빠른 웹사이트를 경험할수 있습니다.
mod_deflate 설정
아파치를 패키지로 설치하면 /etc/apache2 에 설정 파일이 위치하게 됩니다.
여기서 /etc/apache2/mods-enabled 로 이동한 다음 ll 명령어로 파일을 확인하면 현재 아파치에서 사용하고 있는 모듈을 확인할수 있습니다.
deflate.conf와 deflate.load 파일이 심링크로 연결되어 있다면 아파치에서 mods-deflate 모듈을 사용하고 있다는 것이고 만일 확인이 되지 않는다면 mods-deflate 모듈을 아파치에서 사용할수 있게 설정해야 합니다.
아파치의 모듈은 /etc/apache2/mods-available에 위치하며 패키지로 설치했을 경우 대부분의 모듈이 설치되어 있습니다.
<IfModule mod_deflate.c> <IfModule mod_filter.c> # these are known to be safe with MSIE 6 AddOutputFilterByType DEFLATE text/html text/plain text/xml # everything else may cause problems with MSIE 6 AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/xml </IfModule> </IfModule>
/etc/apache2/mods-available에 deflate.conf 파일을 편집기로 열어 내용을 보면 대부분의 문서에 대한 압축 정의가 기본값으로 되어 있어 별다른 설정이 필요 없습니다.
ln -s /etc/apache2/mods-available/deflate.load /etc/apache2/mods-enable/deflate.load ln -s /etc/apache2/mods-available/deflate.conf /etc/apache2/mods-enable/deflate.conf
설정 파일을 확인 후 위와 같이 deflate 모듈과 설정 파일을 심링크를 걸어서 아파치에서 사용할수 있게 설정합니다.
설정을 마친 다음 service apache2 restart 명령어로 아파치를 재시작 하면 설정은 끝입니다.
<?php phpinfo(); ?> 문서로 아파치 정보를 확인하면 mod_deflate가 활성화된 것을 확인 할수 있습니다.