CentOS7 Apache調優之mod_expires網頁緩存時間

  如今的Web網站會由不少的圖片、腳本、css以及flash等這些元素嵌入到頁面中,若是不設置緩存或者緩存設置不當,會致使客戶端向Web服務器訪問時都會從新下載一次這些內容,浪費了不少帶寬。經過Apache的mod_expires緩存模塊來設置ExpiresHeader來緩存這些文件。expires模塊經過Header報文來指定特定類型的文件在瀏覽器中的緩存時間,好比像圖片、flash等這些在發佈後不須要常常作修改的內容。所以作了緩存以後,瀏覽器從web服務器上下載第一次以後,就不須要從新再次下載這些文件了,而是直接從瀏覽器的緩存中讀取了。經過這樣的設置可以讓客戶端的訪問速度加快,同時也節省了不少帶寬。javascript


安裝方法:編譯時configure後面加--enable-expires便可,若是在編譯安裝時沒有安裝該模塊,能夠參考《CentOS7 Apache調優之開啓deflate壓縮模塊,http://www.javashuo.com/article/p-mbwtpwlw-t.html》文章中單獨編譯模塊的方法。 
css


/usr/local/apache/bin/apxs -c -i -a /usr/local/src/httpd-2.4.33/modules/filters/mod_expires.chtml



vi /usr/local/apache/conf/httpd.conf,找到並開啓java

LoadModule expires_module modules/mod_expires.soweb


緩存的方法有三種,分別是對目錄,對全局,對虛擬主機apache


<ifmodule mod_expires.c>瀏覽器

ExpiresActive on緩存

    ExpiresDefault "access plus 12 month"
服務器

    ExpiresByType text/html "access 12 month"
網絡

    ExpiresByType text/css" access 12 month"

    ExpiresByType image/gif" access 12 month"

    ExpiresByType image/jpeg" access 12 month"

    ExpiresByType image/jpg "access 12 month"

    ExpiresByType image/png "access 12 month"

    ExpiresByType application/x-shockwave-flash "access 12 month"

    ExpiresByType application/x-javascript "access 12 month"

    ExpiresByType video/x-flv "access 12 month"

</ifmodule>


全局緩存:直接在httpd.conf中配置以上內容



目錄緩存:在httpd.conf中,找到你的網站目錄位置中添加以上內容


<Directory '/usr/local/apache/htdocs'>

#上面配置

</Directory>



虛擬主機:

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/apache/htdocs"
#    ServerName 127.0.0.1:80
#    ErrorLog "logs/dummy-host2.example.com-error.log"
#    CustomLog "logs/dummy-host2.example.com-access.log" common

#    在這裏加入上面的配置

#</VirtualHost>


expires模塊語法:


expires模塊用到了ExpiresDefault和ExpiresByType兩個指令,如下是這兩個指令的語法:


ExpiresDefault "<base>[plus]{<num><type>}*"

ExpiresByType type/encoding '<base>[plus]{<num><type>}'


其中,base的參數有三個:access,now(等價於'access'),modification

plus關鍵字是可選的


<num>必須是整數,確保能夠atoi()所接收,(atoi能夠把字符串轉換成長整型數)

<type>參數類型:years,months,weeks,days,hours,minutes,seconds


使用緩存的好處:

  1. 縮短服務響應時間,

  2. 減小服務器負載,

  3. 減小所需的網絡帶寬量,下降成本。


緩存的缺點:因爲使用了緩存,致使被緩存的內容有更新時,客戶端看到的仍是舊的


解決方案:

  1. 根據業務內容和需求,縮短緩存的時間

  2. 修改緩存文件的命名

相關文章
相關標籤/搜索