apache下設定快取方法詳細介紹

2021-07-04 23:45:16 字數 2969 閱讀 3526

在apache中是支援乙個mod_cache模板的,只有開啟mod_cache模組之後我們才可以使用apache快取,mod_cache開啟後可使用兩種快取方式,一種是基於硬碟檔案的快取(mod_disk_cache ),另一種是基於記憶體的快取(mod_mem_cache ),下面我來給大家介紹。

預設情況下,

apache

安裝完以後,是不允許被cache的。如果外接了cache或squid伺服器要求進行web加速的話,就需要在htttpd.conf裡進行設定,當然前提是在安裝apache的時候要啟用mod_cache的模組

以下簡單介紹一下安裝與配置的步驟:

1. apache版本:httpd-2.0.49.tar.gz 

2. 安裝httpd-2.0.49.tar.gz:

**如下

複製**

3. 檢驗是否安裝了cache模組

**如下

複製**

/usr/local/apache2/bin/apachectl –l 

如果有mod_cache.c

**如下

複製**

mod_disk_cache.c 

mod_mem_cache.c 

這3個模組,說明該apache可以支援cache了 

4.更改httpd.conf的設定

**如下

複製**

在末尾新增上:

**如下

複製**

cacheforcecompletion 100 

cachedefaultexpire 3600 

cachemaxexpire 86400 

cachelastmodifiedfactor 0.1

5.設定虛擬目錄 

然後儲存退出。啟動apache

1、基於硬碟檔案的快取

基於硬碟檔案儲存的快取由 mod_disk_cache 模組實現,先看個簡單的配置例子:

**如下

複製**

cachedefaultexpire 86400

cacheenable disk /

cacheroot /tmp/apachecache

cachedirlevels 5

cachedirlength 5

cachemaxfilesize 1048576

cacheminfilesize 10

把上面的配置加到 apache 的 httpd.conf 檔案中,如果快取相關的模組都已經編譯進了 apache 的核心,則無需載入模組,直接就能使用上面的指令。指令的詳細說明如下:

cachedefaultexpire:設定快取過期的時間(秒),預設是1小時,只有當快取的文件沒有設定過期時間或最後修改時間時這個指令才會生效

cacheenable:啟用快取,第1個引數是快取類弄,這裡當然是 disk了,第2個引數是快取路徑,指的是 url 路徑,這裡是快取所有的東西,直接寫上「/」即可,如「/docs」則只快取 /docs 下的所有檔案

cacheroot:快取檔案所在的目錄,執行 apache 的使用者(如daemon 或 nobody)要能對其進行讀寫,如果不清楚的話可以直接設定成 777,請手動建立該目錄並設定好訪問許可權

cachedirlevels:快取目錄的深度,預設是3,這裡設定為5

cachedirlength:快取目錄名的字元長度,預設是4,這裡設定為5

cachemaxfilesize 和 cachemaxfilesize:快取檔案的最大值和最小值(byte),當超過這個範圍時將不再快取,這裡設定為 1m 和 10bytes

基於硬碟檔案儲存的檔案基本上就這些內容,設定好後重啟 apache 應該就能使用了。一切正常的話,可以在快取目錄下看到 apache 自動建立的一些目錄和快取的資料檔案。

2、基於記憶體的快取

基於記憶體的快取主要由 mod_mem_cache 模組實現,還是看個簡單的配置吧,這樣比較直觀:-)

**如下

複製**

cacheenable mem /

mcachemaxobjectcount 20000

mcachemaxobjectsize 1048576

mcachemaxstreamingbuffer 65536

mcacheminobjectsize 10

mcacheremovalalgorithm gdsf

mcachesize 131072

簡單說一下上面一些指令的意思:

cacheenable:啟用快取,使用基於記憶體的方式儲存

mcachemaxobjectcount:在記憶體中最多能儲存快取物件的個數,預設是1009,這裡設定為20000

mcachemaxobjectsize:單個快取物件最大為 1m,預設是10000bytes

mcachemaxstreamingbuffer:在緩衝區最多能夠放置多少的將要被快取物件的尺寸,這裡設定為 65536,該值通常小於100000或 mcachemaxobjectsize 設定的值

mcacheminobjectsize:單個快取物件最小為10bytes,預設為1bytes

mcacheremovalalgorithm:清除快取所使用的演算法,預設是 gdsf,還有乙個是lru,可以查一下 apache 的官方文件,上面有些介紹

mcachesize:快取資料最多能使用的記憶體,單位是 kb,預設是100kb,這裡設定為128m

儲存重啟 apache 基於記憶體的快取系統應該就能生效了,根據需要可以使基於記憶體的儲存或硬碟檔案的儲存方式一起使用,只要指明不同的url路徑即可。

Apache下設定偽靜態

apache下設定偽靜態 1 確認空間支援偽靜態,有些空間商的空間是需要手動開啟偽靜態功能的。2 後台 系統 系統設定 偽靜態引數設定,設定好偽靜態規則。3 新建 htaccess 檔案,放在 根目錄下。htaccess檔案中寫入如下規則 注意規則檔案中的規則要與後台設定的一致 將 rewritee...

Linux下設定apache開機啟動

環境 1 apache 2.2.9,安裝在 usr local apahce2下 2 red hat enterprise linux 5 第一步 cp usr local apache bin apachectl etc rc.d init.d httpd 如果有其他的版本的apache存在,也可...

Linux下設定Apache支援Https服務

https的主要作用 1 建立乙個資訊保安通道,來保證資料傳輸的安全性 2 確認 的真實性 https與http的區別 1 https協議需要到ca申請證書,免費證書較少 2 http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議 3 https與http使用的是完全...