모듈 mod_gzip 의 활용

등록일:2007-05-14 02:25:35
by 최승은

Apache mod_gzip.c Module install

1. Module 설치하기 
 이것 무엇에 쓰는 물건인고 하면는~~~~~. 웹서버에서 전송되는 인련의 파일을 압축기술을 이용하여 앞축하여 전송합니다. 300K (Text) -> 50K로 압축해서 전송합니다. 파일 마다 다름니다만 Text 파일 전송시에는 무지 막지한 전송 속도를 자랑합니다. (당근이지 않을까요 300K 랑 50K는 무지 차이가 많이 나지요 !!!), 이미지 파일은 압축하지 않습니다. 2중 압축되니까요 효율이 떨어지지 않을까 십네요.
***** Linux 기종이 아니면 "2. Static Complie" 을 참조하세요. *****
1-1. File Download (mod_gzip.so)
http://www.remotecommunications.com/apache/mod_gzip/ 여기에서 "mod_gzip.so" (85K) (Linux용)을 Download 한다. 이파일을 "/etc/httpd/modules" 또는 "/usr/local/apache/libexec"에 복사한다. (정확하게 확인 하시고 복사하세요.)
1-2. httpd -l (Module 확인)
아래 내용중 "mod_so.c"가 있어야 합니다. 만약 없으면 "2. Static Complie" 읽어 보세요.
# httpd -l
Compiled-in modules:
  http_core.c
  mod_so.c
1-3. Apache "httpd.conf" Setting.
아래의 내용을 "httpd.conf"파일에 적용 시기시면 됩니다. Error가 날경우 아래의 "LoadModule, AddModule"을 주석 처리 하면 모듈이 작동 되지 않습니다 (맨앞에 '#'을 넣으세요 ^^;).
*주의*) 아래의 내용중 '#'이후의 내용은 넣지 마세요. 설명입니다. (이것 있으면 Error 납니다. httpd -t 했을때)
LoadModule  gzip_module        modules/mod_gzip.so                # 만약 : /etc/httpd/modules 이면
LoadModule  gzip_module        libexec/mod_gzip.so                # 또는 : /usr/local/apache/libexec 이면

AddModule   mod_gzip.c

<IfModule mod_gzip.c>
    mod_gzip_on                         Yes
    mod_gzip_dechunk                    Yes
    mod_gzip_min_http                   1000                      # 1000 = HTTP/1.0, 1001 = HTTP/1.1
    mod_gzip_minimum_file_size          300                       # 압축할 최소 Size
    mod_gzip_maximum_file_size          0
    mod_gzip_maximum_inmem_size         100000
    mod_gzip_keep_workfiles             No
    mod_gzip_item_include       file    .html$                   # 압축할 파일들 설정
    mod_gzip_item_include       file    .htm$
    mod_gzip_item_include       file    .jsp$
    mod_gzip_item_include       file    .php$
    mod_gzip_item_include       file    .pl$
    mod_gzip_item_include       mime    ^text/.*
    mod_gzip_item_include       mime    ^text/.html               # 설명서에는 이렇게 되있는데
                                                                  # 다음줄을 넣어야 되더군요.
    mod_gzip_item_include       mime    ^text/html$               # HTML 형식 모두 압축
    mod_gzip_item_include       mime    ^application/x-httpd-php  # PHP 스크립트 압축
    mod_gzip_item_include       mime    ^httpd/unix-directory$
    mod_gzip_item_include       handler ^perl-script$
    mod_gzip_item_include       handler ^server-status$
    mod_gzip_item_include       handler ^server-info$
    mod_gzip_item_exclude       file    .css$                    # 압축 제외 파일들.
    mod_gzip_item_exclude       file    .js$
    mod_gzip_item_exclude       mime    ^image/.*

    mod_gzip_temp_dir                   /dev/shm                  # 이것 Linux용이고요 보통 '/tmp'하시면됩니다.
                                                                  # 최고의 속도를 낼려면 RamDisk 의 위치를 넣으세요.
    LogFormat "%h %l %u %t "%V %r" %>s %b mod_gzip:             # 여기서 부터  =====
    %{mod_gzip_result}n In:%{mod_gzip_input_size}n
    Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct."
    common_with_mod_gzip_info2                                    # ==== 여기까지 한줄입니다 착오 없으시길
    CustomLog logs/mod_gzip  common_with_mod_gzip_info2           # 이 두줄은 Log 가 필요하신분만 넣으세요.
</IfModule>
1-4. Start web server
httpd -t
정상인지 확인하시고. 만약 Error 이면 해당줄을 다시한번 찾아 보세요. "OK"가나오면 됩니다. 그리고 "mod_gzip_temp_dir"파일은 nobody 가 일고 쓸수 있어야 합니다. 당현이 '/tmp' 폴더는 모든 사용자가 사용 할수 있는 폴더 이니까요.
service httpd restart
확인은 logs/mod_gzip Log 파일 참조하세요. 

2. Static Complie (설치)
2-1. File Download
http://www.remotecommunications.com/apache/mod_gzip/ 에서 "mod_gzip.c" (300K) 을 Download 한다. 파일을 Apache Source 폴더에 Copy 한다. ('apache/src/modules/extra/') (정확하게 확인 하시고 복사하세요.)
2-2. Source Modify
apache/src/Configuration... (1개의 파일에 다음내용을 추하간다 "AddModule modules/extra/mod_gzip.o")
만약 오류가 난다면. "src/Confguration*" 파일을 'vi"로 열어서 주석 처리 (첫 줄에 '#') 하시면 됩니다. 'mod_gzip.c'파일은 삭제 하지 않으셔도 됩니다. 아래의 'Congiguration.tmpl' 파일은 'configure'가 실행 할때 읽어 들이는 파일입니다. 초기 기초 파일입니다. 수정할때 주의 하세요.
 # cd ..../apache/                                                        # Apache 소스 있는곳
 # echo "AddModule modules/extra/mod_gzip.o" >> src/Configuration.tmpl 
                                                             # configure 생성하기 전에 원시 파일에 모듈추가
 # ./configure --prefix=......                                        # configure 실행 필요한 옵션 넣으세요.
 # make                                                                  # 컴파일
 # service httpd stop                                                  # Web Server Stop
 # make install                                                         # Apache Install
 # httpd -l                                                              # 컴파일 된 모듈 확인
  Compiled-in modules:
    http_core.c
    ...
    mod_so.c
    mod_redurl.c                                                          # 한글 파일 처리 모듈
    mod_gzip.c                                                          # 이것 이 있으면 정상.
    mod_php4.c                                                            # PHP 4 지원 모듈
 # service httpd restart                                              # Web Server Start
2-3. Apache "httpd.conf" Setting.
mod_gzip_item_include 이 환경값에는 앞축할 파일을 선언하는 곳입니다. FILE 형태, 또는 MIME Type... 등이 들어 갑니다. mod_gzip_item_exclude 이 환경값에는 압축에서 제외될 파일을 선언 하는 곳입니다. *주의*) 아래의 내용중 '#'이후의 내용은 넣지 마세요. 설명입니다. (이것 있으면 Error 납니다. httpd -t 했을때)
<IfModule mod_gzip.c>
    mod_gzip_on                         Yes                       # 엔진 가용
    mod_gzip_dechunk                    Yes                       # 압축 (!?)
    mod_gzip_min_http                   1000                      # 1000 = HTTP/1.0, 1001 = HTTP/1.1
    mod_gzip_minimum_file_size          300                       # 압축할 최소 Size
    mod_gzip_maximum_file_size          0
    mod_gzip_maximum_inmem_size         100000
    mod_gzip_keep_workfiles             No
    mod_gzip_item_include       file    .html$                   # 압축할 파일들 설정
    mod_gzip_item_include       file    .htm$
    mod_gzip_item_include       file    .jsp$
    mod_gzip_item_include       file    .php$
    mod_gzip_item_include       file    .pl$
    mod_gzip_item_include       mime    ^text/.*
    mod_gzip_item_include       mime    ^text/.html
    mod_gzip_item_include       mime    ^text/html$               # HTML 형식 모두 압축
    mod_gzip_item_include       mime    ^application/x-httpd-php  # PHP 스크립트 압축
    mod_gzip_item_include       mime    ^httpd/unix-directory$
    mod_gzip_item_include       handler ^perl-script$
    mod_gzip_item_include       handler ^server-status$
    mod_gzip_item_include       handler ^server-info$
    mod_gzip_item_exclude       file    .css$                    # 압축 제외 파일들.
    mod_gzip_item_exclude       file    .js$
    mod_gzip_item_exclude       mime    ^image/.*

    mod_gzip_temp_dir                   /dev/shm                  # 이것 Linux용이고요 보통 '/tmp'하시면됩니다.
                                                                  # 최고의 속도를 낼려면 RamDisk 의 위치를 넣으세요.
    LogFormat "%h %l %u %t "%V %r" %>s %b mod_gzip:             # 여기서 부터
    %{mod_gzip_result}n In:%{mod_gzip_input_size}n
    Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct."
    common_with_mod_gzip_info2                                    # 여기까지 한줄입니다 착오 없으시길
    CustomLog logs/mod_gzip  common_with_mod_gzip_info2           # Log 가 필요하신분만 넣으세요.
</IfModule>
2-4. Start web server
httpd -t
정상인지 확인하시고. 만약 Error 이면 해당줄을 다시한번 찾아 보세요. "OK"가나오면 됩니다. 그리고 "mod_gzip_temp_dir"파일은 nobody 가 읽고 쓸수(RW) 있어야 합니다. 당현이 '/tmp' 폴더는 모든 사용자가 사용 할수 있는 폴더 이니까요.
service httpd restart
확인은 logs/mod_gzip Log 파일 참조하세요.

[아파치 문서 기고 안내]

작성하신 문서를 지금 아파치 사용자 커뮤니티와 공유해 주십시오. 공유하시는 글들은 여러분들의 이름으로 이곳에 등록되어 많은 분들이 도움을 받을 수 있습니다. 또한 계획중이신 글이 있으신가요? 계획중이신 글을 저희에게 알려주시거나 또는 공동작업할 수 있도록 도움을 드리도록 하겠습니다.

혹시 글이 내용이 작거나 부족하다고 생각하시나요? 정보는 공유할 수록 그 의미가 커집니다. 부족한 부분은 저희 아파치 커뮤니티 사용자들분과 채워가실 수 있습니다.

여러분들의 참여를 기다리겠습니다. 문서 기고 및 문의 사항은 submit (at) apache-kr.org 으로 해주세요. 추후 온라인에서 직접 문서를 등록하실 수 있도록 작업할 예정입니다.

 


2010년09월04일
즐겨찾기추가
icon

Apache Version ?

Lastest Version : 2.0.61, 2.2.6
[2.0.X Version] Unix / Win32
[2.2.X Version] Unix / Win32
New documents
  1. Apache-1.3.37 Module 설정 문서 - PDF Version
  2. mod_perl 2 시작하기
  3. 서비스 제한측면의 아파치 활용 예제
  4. 아파치 로그 설정 (rotatelogs 사용, image와 warm 로그는 별도 파일로)
  5. Apache에서 이미지 캐싱 처리(mod_expires)
  6. Apache2.0.XX + Tomcat4.1.XX 연동을 위한 설정
TechTalk 묻고/답하기
  1. ★온라인토토★인터넷토토♠사설토토♠http://7winer.kr4.kr♠실시간배팅♠라이브스코어
  2. 무료화상채팅 성인화상채팅 화상채팅 조건만남 엔조이파트너 무료야동왕가슴미녀들다벗고대기중
  3. 무료화상채팅 무료성인화상채팅 초절정 화상채팅 조건만남 과다노출엔조이파트너 공짜야동 화끈한 자위걸쑈~~애인대행사이트*엔조이메이트
  4. 무료화상채팅 무료성인화상채팅 초절정 화상채팅 조건만남 과다노출엔조이파트너 공짜야동 화끈한 자위걸쑈~~애인대행사이트*엔조이메이트
  5. ★온라인토토★인터넷토토♠사설토토♠http://7winer.kr4.kr♠실시간배팅♠라이브스코어

더 많은 내용보기 >>

Apache Module
  • 모듈 mod_gzip 의 활용
  • 모듈 mod_vhost_alias : 다이나믹 가상 호스트 지원
  • 모듈 negotiation(mod_negotiation) : Content negotiation
  • 모듈 asis(mod_asis) : The .asis file handler
  • 모듈 mime(mod_mime) : 파일 확장자를 이용해 문서의 타입 결정
  • 모듈 info(mod_info) : 서버 설정 정보
  • More Modules >>

    Apache-KR Community

    아파치 사용자 그룹 소개  |  스폰서안내  | 링크달기이메일주소무단수집거부 | We are a member of the SCA(Software Community Alliance)

    Copyright(c) 1997-2007 by Apache User Group,. All Rights Reserved.