從Apache2.2起,mod_cache和mod_file_cache將不再是試驗模塊,它們已經足夠穩定,可以用于實際生產中了。這些緩沖體系提供了一個強有力的途徑來加速原始web服務器(origin webserver)和代理服務器(proxy)的HTTP處理速度。
mod_cache以及它的支持模塊mod_mem_cache和mod_disk_cache提供了智能的HTTP緩沖。內容(content)本身被存儲在緩沖區中,mod_cache的目的在于管理控制內容緩沖能力的各種HTTP頭和選項。它可以同時處理本地的內容和代理的內容。mod_cache被設計為同時針對簡單的和復雜的緩沖配置,以用于處理代理的內容、動態的本地內容、必須加速訪問的隨時間而改變本地文件。
另一方面,mod_file_cache實現了一個更基本的、但是在某些情況下更有效的緩沖形式,它避免了主動確保URL緩沖能力所需的維護復雜性,mod_file_cache通過提供文件句柄(file-handle)和內存映射(memory-mapping)的技巧來維持一個自Apache最后一次啟動以來的文件緩沖區。同樣地,mod_file_cache的目標是改善不常修改的本地靜態文件的訪問時間。
由于mod_file_cache提供了一個相對簡單的緩沖實現,除了CacheFile和MMapStatic文檔的特定段落之外,這篇指南的說明覆蓋了mod_cache的緩存體系結構。
安裝編譯
為了能夠在apache使用cache ,需要在安裝編譯時加上如下參數。
--enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache
代碼如下:
[root@localhost httpd-2.4.1]# ./configure --prefix=/usr/local/apache2worker --enable-so --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache
[root@localhost httpd-2.4.1]# make
[root@localhost httpd-2.4.1]# make install
兩種緩存模式:
1、mod_disk_cache
一個基于磁盤的存儲管理模塊。
2、mod_mem_cache
一個基于內存的存儲管理模塊。mod_mem_cache可以被配置為兩種不同的操作模式:①緩存打開的文件描述符;②在堆(heap)上緩存對象。mod_mem_cache既可以用于緩存本地生成的內容,也可以用于為反向代理模式下的mod_proxy緩存后端服務器輸出的內容。
基于硬盤文件的緩存
基于硬盤文件存儲的緩存由mod_disk_cache 模塊實現:
代碼如下:
<IfModule mod_cache.c>
CacheDefaultExpire 3600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.1
<IfModule mod_disk_cache.c>
CacheRoot /usr/local/apache/cache
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
CacheMaxFileSize 10000000
CacheMinFileSize 1
</IfModule>
</IfModule>
拷貝上面內容到apache 的 httpd.con文件中:在httpd.conf文件中搜索
#LoadModule cache_module modules/mod_cache.so // 去掉前面的# 號
新聞熱點
疑難解答