캐 시 서버 캐 시 인식 (Apache)

현재 웹 서버 는 고성능 HTTP 서 비 스 를 제공 할 수 있 을 뿐만 아니 라 역방향 프 록 시, 페이지 캐 시 기능 도 제공 할 수 있 습 니 다.비교적 유행 하 는 웹 서버: Apache, Nginx.이 서버 들 은 캐 시 기능 을 실현 하기 위해 성숙 한 플러그 인 을 제공 했다.이 웹 서버 를 설치 할 때 필요 한 플러그 인 을 컴 파일 하고 프로필 설정 설명 을 통 해 사용 할 수 있 습 니 다.
아파 치 캐 시
1. 의존 구성 요소
    아파 치 서버 는 2.0 부터 캐 시 모듈 을 사용 할 수 있 었 지만 2.0 일 때 는 실험 적 이 었 고 2.2 가 되면 안심 하고 사용 할 수 있 었 다.Apache 캐 시 구현 은 주로 modcache、mod_disk_cache、mod_file_cache 및 modmem_cache。컴 파일 을 설정 할 때 인 자 를 추가 하면 됩 니 다. - enable - cache, - enable - disk - cache, - enable - file - cache, - enable - mem - cache 를 추가 하면 됩 니 다.
2. 캐 시 방식
    구체 적 으로 아파 치 의 캐 시 방식 은 두 가지 가 있다. 하 나 는 디스크 파일 을 기반 으로 하 는 캐 시 이 고 mod 이다.disk_cache 구현;다른 하 나 는 메모리 캐 시 를 사용 하고 modmem_cache 구현.하지만 그들 은 모두 mod 에 의존한다cache 모듈, modcache 모듈 은 그들 이 사용 할 수 있 도록 캐 시 설정 명령 을 제공 합 니 다.반면 modfile_cache 모듈 은 조합 modmem_cache 모듈 에서 사 용 했 습 니 다.
3. 하 드 디스크 파일 기반 캐 시
    하 드 디스크 파일 기반 캐 시 는 moddisk_cache 모듈 구현, 간단 한 설정 은 다음 과 같 습 니 다:
<ifModule mod_cache.c>
    CacheDefaultExpire 86400
    <ifModule mod_disk_cache.c>
        CacheEnable disk /
        CacheRoot /tmp/apacheCache
        CacheDirLevels 5
        CacheDirLength 5
        CacheMaxFileSize 102400
        CacheMinFileSize 10
    </ifModule mod_disk_cache.c>
</ifModule mod_cache.c>

    위의 설정 을 Apache 의 httpd. conf 파일 에 추가 합 니 다.위의 명령 은 아래 와 같이 상세 하 게 설명 한다.
  • CacheDefault Expire: 캐 시 만 료 시간 (초) 을 설정 합 니 다. 모드 는 1 시간 입 니 다. 캐 시 된 문서 가 만 료 시간 이나 마지막 수정 시간 을 설정 하지 않 았 을 때 만 이 명령 이 적 용 됩 니 다.
  • CacheEnable: 캐 시 를 사용 합 니 다. 첫 번 째 매개 변 수 는 캐 시 형식 입 니 다. 여기 가 disk 입 니 다.두 번 째 매개 변 수 는 캐 시 경로 입 니 다. URL 경 로 를 말 합 니 다. 여 기 는 모든 것 을 캐 시 하고 '/' 라 고 쓰 면 됩 니 다. 예 를 들 어 '/ docs' 는 캐 시 / docs 에 있 는 모든 파일 만 캐 시 합 니 다.
  • CacheRoot: 캐 시 파일 이 있 는 디 렉 터 리 입 니 다. 아파 치 를 실행 하 는 사용자 (예 를 들 어 daemon 이나 nobody) 가 읽 기와 쓰기 가 가능 합 니 다. 잘 모 르 면 777 로 직접 설정 할 수 있 습 니 다. 관리자 가 이 디 렉 터 리 의 접근 제어 권한 을 설정 하 십시오.
  • CacheDir Levels: 캐 시 디 렉 터 리 의 깊이, 기본 값 은 3 입 니 다. 여 기 는 5 로 설정 되 어 있 습 니 다.
  • CacheDirLength: 캐 시 디 렉 터 리 의 문자 길 이 는 기본적으로 4 이 고 여 기 는 5 로 설정 합 니 다.
  • CacheMaxFileSize 와 CacheMinFileSize: 캐 시 파일 의 최대 값 과 최소 값 (byte) 은 이 범 위 를 초과 하면 캐 시 하지 않 습 니 다.

  • 4. 메모리 기반 캐 시
        메모리 기반 캐 시 는 주로 modmem_cache 모듈 구현, 간단 한 설정 은 다음 과 같 습 니 다:
    <ifModule mod_cache.c>
        <ifModule mod_mem_cache.c>
            CacheEnable mem /
            MCacheMaxObjectCount 20000
            MCacheMaxObjectSize  1048576
            MCacheMaxStreamingBuffer 65536
            MCacheMinObjectSize 10
            MCacheRemovalAlgorithm GDSF
            MCacheSize 131072
        </ifModule mod_mem_cache.c>
    </ifModule mod_cache.c>

        위의 명령 은 다음 과 같다.
  • CacheEnable: 캐 시 를 사용 하고 메모리 기반 으로 저장 합 니 다.
  • MCacheMaxObjectCount: 메모리 에 최대 캐 시 대상 의 개 수 를 저장 할 수 있 습 니 다. 기본 값 은 1009 입 니 다. 여 기 는 20000 으로 설정 되 어 있 습 니 다.
  • MCacheMaxObject 크기: 단일 캐 시 대상 이 최대 얼마 입 니까?기본 값 은 10000 bytes 입 니 다. 여 기 는 1M 로 설정 되 어 있 습 니 다.
  • MCacheMaxStreamingBuffer: 버퍼 에 캐 시 대상 의 사 이 즈 를 최대 몇 개 까지 배치 할 수 있 습 니까? 여 기 는 65536 으로 설정 되 어 있 습 니 다. 보통 100000 이하 또는 MCacheMaxObject Size 로 설정 되 어 있 습 니 다.
  • MCacheMinObject Size: 단일 캐 시 대상 은 최소 10bytes 이 고 기본 값 은 1bytes 입 니 다.
  • MCacheRemovalAlgorithm: 캐 시 를 지 우 는 데 사용 되 는 알고리즘 입 니 다. 기본 값 은 GDSF 이 고 LRU 입 니 다.
  • MCacheSize: 캐 시 데이터 가 가장 많이 사용 되 는 메모리, 단 위 는 kb 입 니 다.기본 값 은 100 Kb 이 며 128 M 으로 설 정 됩 니 다.

  • 메모: 설정 이 완료 되면 아파 치 를 다시 시작 해 야 유효 하지 않 습 니 다.또한 캐 시 수요 에 따라 메모리 와 하 드 디스크 기반 파일 캐 시 를 결합 하여 사용 할 수 있 으 며 서로 다른 URL 경 로 를 가리 키 면 됩 니 다.
    5. 주의사항
  • 캐 시 를 사용 하려 면 CacheEnable 명령 을 사용 해 야 합 니 다. 현재 사용 가능 한 유형 은 disk 나 mem 입 니 다. 캐 시 를 금지 하면 CacheDisable 을 사용 할 수 있 습 니 다. 예 를 들 어 CacheDisable / private.
  • 캐 시 된 URL 이 되 돌아 오 는 상태 값 은 200, 203, 300, 301 또는 410 이 어야 합 니 다.
  • URL 의 요청 방식 은 GET 방식 이 어야 합 니 다.
  • 요청 을 보 낼 때 머리 에 'Authorization:' 문자열 이 포함 되 어 있 을 때 되 돌아 오 는 내용 은 캐 시 되 지 않 습 니 다.
  • URL 에는 물음표 와 같은 검색 문자열 이 포함 되 어 있 습 니 다.뒤에 있 는 것 은 되 돌아 오 는 내용 에 'Expires:' 가 포함 되 어 있 지 않 으 면 캐 시 되 지 않 습 니 다.
  • 되 돌아 오 는 상태 값 이 200 이면 되 돌아 오 는 머리 정 보 는 다음 과 같은 하 나 를 포함해 야 캐 시 될 수 있 습 니 다. Etag, Last - Modified, Expires. 명령 CacheIgnoreNoLastMod On 을 설정 하지 않 는 한.
  • 내용 의 머리 정보 인 'Cache - Control:' 에 'private' 가 포함 되 어 있 으 면 CacheStorePrivate On 이 설정 되 어 있 지 않 으 면 캐 시 되 지 않 습 니 다.
  • 머리 내용 의 머리 정 보 를 되 돌려 줍 니 다. "Cache - cotrol:" 에 "no - sotre" 가 포함 되 어 있 습 니 다. 명령 DCacheStoreNoStore On 이 설정 되 어 있 지 않 으 면 캐 시 되 지 않 습 니 다.
  • 내용 을 되 돌려 주 는 머리 정보 인 'vary' 에 '*' 가 포함 되 어 있 으 면 캐 시 되 지 않 습 니 다.
  • 6. 기타 사용 방법
        ① 웹 사이트 에 몇 개의 파일 이 자주 방문 하고 자주 변경 되 지 않 는 다 면 Apache 가 시 작 될 때 내용 을 메모리 에 캐 시 할 수 있 습 니 다 (당연히 메모리 캐 시 시스템 을 사용 해 야 합 니 다). mod file cache 모듈 을 사용 합 니 다. 구체 적 으로 다음 과 같 습 니 다. 
                
    MMapFile /var/www/html/index.html /var/www/html/articles/index.html 

         ② 위 에는 캐 시 파일 의 내용 이 메모리 에 있 습 니 다. 이외에 도 캐 시 파일 의 열 린 핸들 만 메모리 에 저장 할 수 있 습 니 다. 요청 이 들 어 왔 을 때 아파 치 는 메모리 에서 파일 의 핸들 을 직접 가 져 와 내용 을 되 돌려 줍 니 다. MMapFile 명령 과 비슷 합 니 다. 구체 적 으로 다음 과 같 습 니 다.
    CacheFile /var/www/html/index.html /var/www/html/articles/index.html 

        메모: 위의 두 명령 에 캐 시 된 파일 이 수정 되 었 다 면 아파 치 를 다시 시작 하거나 graceful 같은 방식 으로 아파 치 를 강제로 캐 시 데 이 터 를 업데이트 해 야 합 니 다. 그렇지 않 으 면 사용자 가 방문 할 때 최신 데 이 터 를 가 져 오지 않 습 니 다.
        ③ 특정한 머리 정보 에 따라 캐 시 여 부 를 결정 해 야 할 때 다음 과 같은 명령 을 사용 할 수 있다. 
             Set-Cookie            
    CacheIgnoreHeaders Set-Cookie 

       ④ 캐 시가 필요 할 때 URL 의 검색 문자열 을 건 너 뛰 는 경우 가 있 습 니까? 다음 명령 을 사용 합 니 다. 
    CacheIgnoreQueryString On 

     7. 더 알 아 보기
    이 방면 의 내용 을 더 알 고 싶다 면 방문 하 십시오.http://www.t086.com/code/apache2.2/caching.html

    좋은 웹페이지 즐겨찾기