[WAS] Apache Cache 설정

김봉남·2024년 1월 23일

WAS

목록 보기
9/23
post-thumbnail

Apache Cache

  • 웹 서버가 정적인 콘텐츠를 저장하고 다시 사용자에게 제공하여 성능을 향상시키는 기능
  • 반복적으로 요청되는 자원을 한 번 다운로드한 후, 재사용하기 위해 저장

Apache cache 사용 모듈

LoadModule cache_module modules/mod_cache.so

Apache cache 설정 예시

캐시 디렉토리 설정

CacheRoot "/path/to/cache_directory"

CacheEnable disk /
CacheHeader on
CacheDefaultExpire 3600
  • CacheEnable: 캐시를 사용할 유형을 지정, 디스크 기반 캐시를 사용하도록 설정
  • CacheHeader: 응답 헤더를 사용하여 캐시 제어를 활성화
  • CacheDefaultExpire: 기본적인 캐시 만료 시간 3600초(1시간)로 설정

캐시 제외 경로 설정

CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
  • CacheIgnoreHeaders: 지정된 헤더가 있는 경우 캐시를 사용하지 않도록 설정, Set-Cookie 헤더가 있는 경우 캐시를 사용하지 않도록 설정
  • CacheIgnoreNoLastMod: Last-Modified 헤더가 없는 경우에도 캐시를 사용하도록 설정

캐시 컨트롤을 위한 헤더

CacheHeader "max-age=600, must-revalidate"

apache cache 설정

LoadModule expires_module modules/mod_expires.so

<IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType image/gif "access plus 7 days"
        ExpiresByType image/png "access plus 7 days"
        ExpiresByType image/jpeg "access plus 7 days"
        ExpiresByType text/css "access plus 7 days"
        ExpiresByType text/html "access plus 7 days"
        ExpiresByType text/xml "access plus 7 days"
        ExpiresByType text/javascript "access plus 7 days"
        ExpiresByType application/javascript "access plus 7 days"
</IfModule>

Woff2를 캐쉬하기 위해서는 mime에 추가를 해줘야 됨

	<IfModule mime_module>
	    TypesConfig conf/mime.types
	
	    AddType application/x-compress .Z
	    AddType application/x-gzip .gz .tgz
	    AddType application/font-woff2           woff2
	</IfModule>
	
### Cache 설정
<IfModule mod_expires.c>
	        ExpiresActive On
	        ExpiresByType image/gif "access plus 7 days"
	        ExpiresByType image/png "access plus 7 days"
	        ExpiresByType image/jpeg "access plus 7 days"
	        ExpiresByType text/css "access plus 7 days"
	        ExpiresByType text/html "access plus 7 days"
	        ExpiresByType text/xml "access plus 7 days"
	        ExpiresByType text/javascript "access plus 7 days"
	        ExpiresByType application/javascript "access plus 7 days"
	        ExpiresByType application/font-woff2 "access plus 7 days"
	        ExpiresByType application/x-font-woff2 "access plus 7 days"
	        ExpiresByType image/svg+xml "access plus 7 days"
	
	        <Directory "/home2/test/www/ABC">
	        ExpiresActive On
	        </Directory>
</IfModule>

was cache 설정

web.xml

### ExpiresFilter 이름 맞춰줘야 됨
	
<filter-mapping>
    <filter-name>ExpiresFilter</filter-name>   
    <url-pattern>/*</url-pattern>
</filter-mapping>
	
	
### ExpiresFilter 이름 맞춰줘야 됨
<filter>
	 <filter-name>ExpiresFilter</filter-name>
	 <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
	 <init-param>
	    <param-name>ExpiresByType image</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType text/html</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType text/xml</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType text/javascript</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType application/javascript</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType text/css</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
	 <init-param>
	    <param-name>ExpiresByType application/javascript</param-name>
	    <param-value>access plus 7 days</param-value>
	 </init-param>
 </filter>
profile
남자다

0개의 댓글