1. 소개
이전에 이미지와 정적 파일을 캐싱하는 방법에 대해 두 개의 기사를 작성한 적이 있습니다. 하나는 Varnish를 사용하여 캐시하는 것이고, 다른 하나는 Apache를 사용하여 캐시하는 것입니다. 이미지 및 정적 파일 캐싱, 아래에서 설치 및 구성을 완료하는 방법을 자세히 설명합니다
두 번째, mod_cache, mod_mem_cache, mod_disk_cache 설치
먼저 설치 시 이러한 모듈이 설치되어 있는지 확인하세요. apache가 설치되어 있지 않다면 설치해 주시고, apache 모듈 설치 방법을 참고하여 설치 여부를 확인해주세요
[zhangy@BlackGhost error]$ /usr/local/apache2/bin/httpd -l
mod_cache.c, mod_mem_cache.c, mod_disk_cache.c가 없다면 mod_mem_cache, mod_disk_cache 둘 중 하나를 선택하시면 됩니다.
3. 메모리 캐시 구성
nano /usr/local/apache2/conf/httpd.conf
LoadModule 캐시_모듈 모듈/mod_cache.so
LoadModule mem_cache_module 모듈/mod_mem_cache.so
CacheEnable mem /images
MCacheSize 4096
MCacheRemovalAlgorithm LRU
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
CacheMax 만료 864000
CacheDefaultExpire 86400
CacheDisable /php
설명:
1 , CacheEnable mem /images는 이미지 아래의 콘텐츠를 캐시합니다. 여기서 mem은 mod_mem_cache에 의해 구현된 저장소 관리자의 메모리를 사용하도록 mod_cache에 지시하는 캐시 유형일 뿐입니다. 캐시 유형 디스크는 mod_cache에 mod_disk_cache의 디스크 기반 저장소 관리 구현을 사용하도록 지시합니다. 캐시 유형, fd는 mod_cache에 파일 설명자 캐시 구현을 사용하도록 지시합니다. mod_mem_cache
2, MCacheSize 최대 메모리 사용량, 캐시에 삽입된 개체 및 개체 크기가 남은 메모리보다 크면 새 개체를 캐시할 수 있을 때까지 삭제됩니다. 삭제된 개체는 지정된 알고리즘 MCacheRemovalAlgorithm
3, MCacheRemovalAlgorithm 캐싱 알고리즘을 사용하여 선택됩니다.
LRU(가장 최근에 사용됨)
파일을 삭제하는 LRU, 가장 오래 삭제된 파일은 없습니다. 액세스했습니다.
GDSF(GreadyDual Size)
GDSF는 파일 비용, 캐시 크기 및 누락을 기준으로 우선순위 파일 캐시를 할당합니다. 우선순위가 가장 낮은 파일이 먼저 삭제됩니다.
4, MCacheMaxObjectCount 최대 캐시된 객체 수
5, MCacheMaxObjectCount 최대 캐시된 객체 바이트 수
6, MCacheMinObjectSize 최소 캐시된 객체 바이트 수
7, CacheMaxExpire 최대 캐시 만료 시간
8, CacheDefaultExpire 기본 캐시 만료 시간
9, CacheDisable /php php에서 콘텐츠를 캐시하지 않음
메모리 보기 캐시된 것이 있나요?
아파치는 메모리에 캐시된 것이 있는지 확인하는데 특별한 도구는 없습니다.
1. /localhost/images/http_imgload.cgi.jpeg
2, [zhangy@BlackGhost 오류]$ top -b -n1
확인 3, 사진 찾아보기 http://localhost/images /myself .jpeg
4, [zhangy@BlackGhost 오류]$ top -b -n1
6018 zhangy 20 0 52612 8172 2484 S 0 0.8 0:00.03 httpd
6020 zhangy 20 0 확인 52604 8168 2488 S 0 0.8 0:00.02 httpd
6021 zhangy 20 0 52604 8100 2440 S 0 0.8 0:00.00 httpd
602 2 zhangy 20 0 52604 8100 2440 S 0 0.8 0:00.00 httpd
6033 장지 20 0 6584 1808 1396 S 0 0.2 0:00.02 bash
6076 zhangy 20 0 52612 8136 2464 S 0 0.8 0:00.02 httpd
6077 zhangy 20 0 52612 8124 2448 S 0 0.8 0:00.05 httpd
6078 zhangy 20 0 52612 8168 2488 S 0 0.8 0:00.12 httpd
6079 zhangy 20 0 52612 8168 2488 S 0 0.8 0:00.03 httpd
6080 zhangy 20 0 52612 8168 2488 S 0 0.8 0:00.06 httpd
6081 zhangy 20 0 52612 8116 2448 S 0 0.8 0:00.00 httpd
위의 4단계 연산을 통해 위 굵은 글씨 부분의 RES가 지속적으로 증가하고 있음을 알 수 있습니다. 구성이 성공했다는 것입니다.
4. 하드 디스크 캐시 구성
nano /usr/local/apache2/conf/httpd.conf
LoadModule 캐시_모듈 모듈/mod_cache.so
LoadModule disk_cache_module 모듈/mod_disk_cache.so
CacheRoot /home/zhangy/cachetest
#CacheSize 256
CacheEnable 디스크 /
CacheDir레벨 4
#CacheMaxFileSize 64000
#CacheMinFileSize 1
#CacheGcDaily 23:59
CacheDirLength 3
설명:
1, 캐시루트 /home/zhangy/cachetest 캐시 저장 디렉터리
2, #CacheSize 256 캐시 공간 크기 단위 KB
3, CacheEnable 디스크 / 캐시 모드 설정
4, #CacheMaxFileSize 64000 최대 캐시 파일 크기
5, #CacheMinFileSize 1 최소 캐시 파일 크기
6, #CacheGcDaily 23:59 캐시 정리 시간
7, CacheDirLength 3 캐시 폴더 이름 문자 길이
8, CacheDirLevels 4 캐시 디렉터리, 하위 디렉터리 수준
주석 처리된 부분은 내 Apache 버전에서 지원되지 않습니다. 공식 매뉴얼에 나와있습니다. 구체적인 요구 사항은 공식 웹사이트를 참조하세요
캐시 확인:
1. 캐시 루트에 아무것도 없는지 확인
apache 캐시
If CacheRoot 아래 내용이 있으면 괜찮다는 뜻입니다.
2, htcacheclean을 사용하여
[root@BlackGhost 캐시]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M
통계를 확인하세요.
크기 제한 1024.0M
총 크기는 29.2K, 현재 총 크기는 29.2K
총 항목은 3, 현재 총 항목은 3
htcacheclean 일부 매개변수는 아래에 설명되어 있습니다
- d 캐시 지우기 빈도
-D는 캐시 지우기를 시뮬레이션하지만 실제로 지우지는 않습니다.
-v 통계 표시
-r 완전히 지우기
-t 빈 디렉터리 지우기
-p 캐시 디렉터리
-l 캐시 크기 제한
위는 mod_cache를 사용하여 이미지 캐시 등에 사용하는 Apache의 내용입니다. , 더 많은 관련 내용 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!