首頁  >  文章  >  php教程  >  apache利用mod_cache快取圖片等

apache利用mod_cache快取圖片等

黄舟
黄舟原創
2016-12-21 11:38:041267瀏覽

一,引言

以前我寫過二篇有關圖片,靜態文件的緩存文章,一個是用varnish來緩存,一個用squid來緩存,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,modache_disk_cache.Kache_modmem.cache.裝,你可以二選一

三,記憶體快取配置

nano /usr/local/apache2/conf/httpd.conf

LoadModule cache_bmodule modules/Aache_cache

LoadModule cache_bacheule modc/Kache_cache
modules/mod_mem_cache.so

CacheEnable mem /images
MCacheSize 4096
MCacheRemovalAlgorithm LRUSgacheMCacheMax acheMaxExpire 864000
CacheDefaultExpire 86400
CacheDisable /php

IfModule>


說明:

1,CacheEnable mem /images 快取images下面的內容,這裡的mem只是一個快取類型,指示mod_cache使用記憶體的儲存管理器透過實作mod_mem_cache 。快取類型disk指示mod_cache使用基於磁碟的儲存管理的實作mod_disk_cache 。快取類型,fd指示mod_cache使用檔案描述子快取實施mod_mem_cache

2,MCacheSize最大記憶體使用量,插入在快取和物件大小的物件是大於剩餘內存,將被刪除,直到新的物件可以被快取。 被刪除的物件選擇使用指定的演算法MCacheRemovalAlgorithm

3,MCacheRemovalAlgorithm快取演算法:

LRU (最近最少使用)

LRU刪除文件,沒有時間最長的被存取的。

GDSF(GreadyDual尺寸)

GDSF分配一個優先的檔案快取檔案的費用的基礎上,快取大小和懷念。以最低的優先權文件被刪除第一次。

4,MCacheMaxObjectCount最大快取對像數

5,MCacheMaxObjectCount最大快取物件位元組數

6,MCacheMinObjectSize最小快取物件

7,CacheMaxExpire 最大快取時間預設快取結止時間

9,CacheDisable /php       不緩存php下面的內容

查看內存是不是緩存了東西

apache查看有沒有在內存中緩存東西,不是很好查,沒有專門的工具來查看,我的方法如下,

1,瀏覽圖片http://localhost/images/http_imgload.cgi.jpeg

2,查看一下[zhangy@BlackGhost error]$ top -b -n1

3,瀏覽圖片http ://localhost/images/myself.jpeg

4,看看[zhangy@BlackGhost error]$ top -b -n1

6018 zhangy    20  

6020 zhangy    20   0 52604 8168 2488 S    0  0.8   0:00.02 httpd

6021 zhangy    20   0 52604 8100 2440 S 20   0 52604 8100 2440 S   0.   20   0 52604 8100 2440 S    0  0.8   0:00.00 httpd

6033 zhangy    20   20  0:00.02 bash

6076 zhangy    20   0 52612 8136 2464 S    0  0.8   0:00.02 httpd

6077750. S    0  0.8   0:00.05 httpd
6078 zhangy    20   0 52612 8168 2488 S    0  0.80.1 6079 zhangy    20   0 52612 8168 2488 S    0  0.8   0:00.03 httpd
6080 zhangy  .8   0:00.06 httpd
6081 zhangy    20   0 52612 8116 2448 S    0  0.8   0:00.00 httpd透過上面的步驟操作,你可以發現上面加粗部分的RES是不斷增加的,由起可見,配置已經成功。

四,硬碟快取配置

nano /usr/local/apache2/conf/httpd.conf

LoadModule cache_module modules/mod_cache.so

LoadModule disk_cache_module modules/mod_disk_cache.sooCacheEnable disk /
CacheDirLevels 4
#CacheMaxFileSize 64000
#CacheMinFileSize 1
#CacheGcDaily 23:59
CacheDirLength 3

🜎的目錄

2, #CacheSize 256         快取空間大小單位KB

3,CacheEnable disk /    設定快取方式

4,#CacheMaxFileSize 640000  最小快取檔案大小

6,#CacheGcDaily 23:59     快取清理時間

7,CacheDirLength 3        快取資料夾名子字元長度

8,CacheDirLevels 4        快取目錄,子層級目錄官方手冊上面有。具體需求請參考官方網站

查看快取:

1,查看cacheroot有沒有東西

apache cache

如果CacheRoot下面有東西,表示已經OK了。

2,用htcacheclean來查看

[root@BlackGhost cache]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M

Statistics:

size limit 1024smit 1024s , total size now 29.2K

total entries was 3, total entries now 3

htcacheclean  部分參數說明下

-d  每隔多

-D 緩存-v 顯示統計資料

-r 徹底清除

-t 清除空白目錄

-p 快取目錄

-l 限定快取大小

 以上就是PHP中文網(www.php.cn)! 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn