아파치 모듈중 파일전송시 압축해서 전송해주는 모듈입니다.
tmp디렉토리는 /dev/shm 공유메모리를 사용하신다면
/dev/shm 이나 /var/shm(각 시스템의 설정에 맞게)로 설정하면
메모리상에서 압축을 하기때문에 더 좋은 퍼포먼스를
보일걸로 생각됩니다.
아파치가 이미설치되어있다면 dso방식으로 설치할수있습니다.
아래링크에서 소스를 받고
apxs -i -a -c
mod_gzip.c
명령으로 현재 설치된 아파치에 모듈로 붙일수있습니다.
apxs의 위치는 소스로 설치한 디렉토리의 /bin에 있으니
각시스템에 맞게(rpm설치시 기본패스에 있음)변경하세요.
그리고 httpd.conf파일을 아래에 나온대로
설정한후 /apache/bin_path/httpd -t 명령으로 설정파일을 검사한뒤
아파치를 재시작하면됩니다.
http://www.remotecommunications.com/apache/mod_gzip/src/1.3.19.1a/mod_gz...
######################
#아래는
원본글입니다.#
######################
작성자 : thinker0
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 파일 참조하세요.
Copyleft (L) thinker at iam
---------------------------------------------------------
'Server' 카테고리의 다른 글
Apache 에서 mod_bandwidth 를 이용한 전송속도 제한방법 (2) | 2002.05.28 |
---|---|
php-accelerator 설치하기 (1) | 2002.05.21 |
Apache + PHP + MySQL + mod_ssl (1) | 2002.03.02 |
기본 네트워크 서비스 (0) | 2002.02.26 |
proftpd서버에서 특정 아이피 거부하기 (0) | 2002.02.22 |