# Apache 모듈 추가 설치및 캐싱 컨트롤


> 모듈 추가 설치 apxs 옵션

DSO 설치과 설정 옵션
-i  : 설치를 지시한다. 여러 동적공유객체를 서버의 modules 디렉토리에 설치한다.
-a : 아파치 httpd.conf 설정파일에 적절한 LoadModule 줄을 추가하거나 이미 있다면 활성화하여 모듈을 사용하도록 만든다.

DSO 컴파일 옵션
-c : 컴파일을 지시한다.
       먼저 files에서 C 소스파일들(.c)을 오브젝트파일(.o)로 컴파일하고,
       files의 나머지 오브젝트파일들(.o과 .a)과 링크하여 동적공유객체 dsofile을 만든다.
       -o 옵션을 사용하지않으면 files의 첫번째 파일명에서 이름을 추측하여 보통 mod_name.so를 사용한다.


> apxs - APache eXtenSion 정보
http://httpd.apache.org/docs/2.4/programs/apxs.html


> Apache 모듈 추가 설치(mod_expires.c)
- 현재 설치된 apache 버전과 동일한 apache 디렉토리의 mod_expires.c 파일을 이용.
- 문법 : $APACHE_HOME/bin/apxs -i -a -c [아파치 설치 파일]/modules/[모듈명].c

> 아파치 모듈 mod_expires 정보
http://httpd.apache.org/docs/2.4/mod/mod_expires.html

[root@sunshiny]# /usr/local/apache/bin/apxs -i -a -c /data/Install/httpd-2.2.22/modules/metadata/mod_expires.c
/   Expires/apr/build-1/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/   Expires/apr/include/apr-1   -I/   Expires/apr/include/apr-1   -c -o /data/Install/httpd-2.2.22/modules/metadata/mod_expires.lo /data/Install/httpd-2.2.22/modules/metadata/mod_expires.c && touch /data/Install/httpd-2.2.22/modules/metadata/mod_expires.slo
/   Expires/apr/build-1/libtool --silent --mode=link gcc -o /data/Install/httpd-2.2.22/modules/metadata/mod_expires.la  -rpath /usr/local/apache/modules -module -avoid-version    /data/Install/httpd-2.2.22/modules/metadata/mod_expires.lo
/usr/local/apache/build/instdso.sh SH_LIBTOOL='/   Expires/apr/build-1/libtool' /data/Install/httpd-2.2.22/modules/metadata/mod_expires.la /usr/local/apache/modules
/   Expires/apr/build-1/libtool --mode=install cp /data/Install/httpd-2.2.22/modules/metadata/mod_expires.la /usr/local/apache/modules/
libtool: install: cp /data/Install/httpd-2.2.22/modules/metadata/.libs/mod_expires.so /usr/local/apache/modules/mod_expires.so
libtool: install: cp /data/Install/httpd-2.2.22/modules/metadata/.libs/mod_expires.lai /usr/local/apache/modules/mod_expires.la
libtool: install: cp /data/Install/httpd-2.2.22/modules/metadata/.libs/mod_expires.a /usr/local/apache/modules/mod_expires.a
libtool: install: chmod 644 /usr/local/apache/modules/mod_expires.a
libtool: install: ranlib /usr/local/apache/modules/mod_expires.a
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/   Expires/sbin:/   Expires/bin:/sbin:/bin:/usr/sbin:/usr/bin:/app/java/jdk1.7.0_10/bin:/root/bin:/usr/local/mysql/bin:/sbin" ldconfig -n /usr/local/apache/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apache/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache/modules/mod_expires.so
[activating module `expires' in /usr/local/apache/conf/httpd.conf]

[root@sunshiny modules]# ls
mod_expires.so -- 파일 생성 확인

-- httpd.conf 파일의 62라인에 expires_module 추가 확인됨
[root@sunshiny modules]# grep -n expires_module ../conf/httpd.conf
62:LoadModule expires_module     modules/mod_expires.so

> Apache ExpiresAction 설정 추가
- 정적 컨텐츠(html/image/js 등)를 로컬 PC의 캐시에 저장하여, 페이지 재 호출시 로컬에 캐시된 정보를 읽어들여 속도 향상 효과.


* 설정 기준
  access
  now ('access'와 같음)
  modification

* 기간
  years
  months
  weeks
  days
  hours
  minutes
  seconds

1) 모든 호스트에 대해서 캐시설정, 일부 디렉토리 제외
<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresDefault "access plus 1 month" -- 접근후 기본 한달 동안 클라이언트에 캐싱

   ExpiresByType image/bmp "access plus 1 month"
   ExpiresByType image/cgm "access plus 1 month"
   ExpiresByType image/gif "access plus 1 month"
   ExpiresByType image/jpg "access plus 1 month"
   ExpiresByType image/jpeg "access plus 1 month"
   ExpiresByType image/png "access plus 1 month"
   ExpiresByType image/tiff "access plus 1 month"

   ExpiresByType video/mpeg "access plus 1 years"
   ExpiresByType video/quicktime "access plus 1 years"
   ExpiresByType video/x-msvideo "access plus 1 years"

   ExpiresByType audio/basic "access plus 1 years"
   ExpiresByType audio/midi "access plus 1 years"
   ExpiresByType audio/mpeg "access plus 1 years"
   ExpiresByType audio/x-aiff "access plus 1 years"
   ExpiresByType audio/x-mpegurl "access plus 1 years"
   ExpiresByType audio/x-pn-realaudio "access plus 1 years"
   ExpiresByType audio/x-wav  "access plus 1 years"

   ExpiresByType application/x-shockwave-flash  "access plus 1 years"
   ExpiresByType application/javascript "access plus 1 years"
   ExpiresByType application/x-javascript "access plus 1 years"

   ExpiresByType text/css "access plus 1 month"
   ExpiresByType text/javascript "access plus 1 years"
   ExpiresByType text/x-javascript "access plus 1 years"

# 제외할 디렉토리 설정
#<Directory "/usr/local/apache/htdocs/img">
#    ExpiresActive Off
#</Directory>

</IfModule>

2) 특정 호스트에 대해서만 캐시 설정(VirtualHost에 추가)
<VirtualHost *>
   ServerName test.domain.co.kr
   DocumentRoot /usr/local/apache/htdocs

<Directory "/usr/local/apache/htdocs/img">
   ExpiresActive On
   ExpiresDefault "access plus 1 month"

   ExpiresByType image/jpeg "acces plus 1 month"
   ExpiresByType image/gif "acces plus 1 month"
</Directory>
</VirtualHost>

> Apache mod_rewrite 모듈 사용시 확인
 - RewriteRule 정보에 캐싱할 확장자 추가

RewriteEngine On
RewriteBase /

RewriteRule ^(.*).(js|css|jpg|gif)$ - [L]   -- 추가


> 설정후 헤더정보 확인

flash swf 파일

사용자 삽입 이미지













image 파일

사용자 삽입 이미지



※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
10 12, 2013 13:09 10 12, 2013 13:09


Trackback URL : http://develop.sunshiny.co.kr/trackback/963

Leave a comment


Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. Therefore, people spend more eveni... как увеличить член... 02시 24분
  2. 안녕하세요^^ 배그핵
  3. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  4. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  5. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny

Recent Trackbacks

  1. social campaign social campaign %M
  2. index index %M
  3. custom chatbot custom chatbot %M
  4. from this source from this source 18 10
  5. internet opportunity internet opportunity 18 10

Calendar

«   10 2019   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2723256 HIT
TODAY 311 HIT
YESTERDAY 1340 HIT