Linux網(wǎng)站架構(gòu)系列之a(chǎn)pache----調(diào)優(yōu)篇
怎么樣,是不是已經(jīng)進行壓縮了啊!
我們在企業(yè)生產(chǎn)環(huán)境中時,在啟用mod_deflate時,一定要注意,對于太小的文件和某些格式的圖片不要對它們進行壓縮,有可能越壓越大。
下面給出大家?guī)缀跏撬械腁ddOutputFilterByTypeDEFLATE后跟的壓縮文件類型,大家可以參照選擇。
text/plain text/html text/php text/xml text/css text/javascript
application/xhtml+xml application/xml application/rss+xml application/atom_xml application/x-javascript application/x-httpd-php image/svg+xml image/gif image/png image/jpe image/swf image/jpeg image/bmp
八、mod_expires緩存功能
雖然我們上面通過mod_deflate模塊啟用了壓縮,從很大程度上節(jié)約了企業(yè)帶寬,降低了企業(yè)成本??墒怯捎诂F(xiàn)在越來越多的圖片、腳本、css和flash被嵌入到頁面中,當客戶訪問站點勢必會做很多次的http請求,因此我們還可以通過mod_expires緩存模塊來設(shè)置ExpiresHeader來緩存這些文件。Expires是通過header報文來指定特定類型的文件在游覽器中的緩存時間的。平時,我們大多數(shù)的圖片,flash在發(fā)布之后都是不需要經(jīng)常修改的,因此做了緩存之后,游覽器第一次從服務(wù)器下載之后,就不需要再從服務(wù)器下載這些文件而是直接從游覽器緩存中讀取了。這樣客戶訪問頁面的速度就會大大加快,企業(yè)的帶寬壓力也得到了緩解。
1、mod_expires模塊檢查及安裝
檢查mod_expires模塊是否安裝的方法如下:
[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate
expires_module (static) #此種結(jié)果為編譯安裝時裝的
[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate
expires_module (shared) #此種結(jié)果為DSO方式安裝的
安裝了的話,就可以直接進行壓縮配置了,如果沒有安裝,下面為安裝方法
a)編譯方式安裝
編譯的時候跟上--enable-expires即可實現(xiàn)安裝
b)DSO方式安裝
[root@c64-web /]# cd /server/tools/;#切到apache源碼包mod_expires所在的目錄下
[root@c64-web filters]# /usr/local/apache/bin/apxs -c -i -a mod_expires.c #以dso的方式編譯安裝到apache中
[root@c64-web filters]# ll /usr/local/apache/modules/mod_expires.so #檢查mod_deflate是否安裝,成功安裝這里會顯示出該文件
-rwxr-xr-x 1 root root 37439 11月 5 02:02 /usr/local/apache/modules/mod_expires.so
2、配置緩存參數(shù)
注意如果我們是編譯安裝時已經(jīng)編譯進去的,此時我們需要先將主配置文件中
LoadModule expires_module modules/mod_expires.so
此行解鎖后再進行下面操作,不然會報錯。
緩存的用法有3種,分別問對全局,對目錄,對虛擬主機。
a)對全局
對全局的配置就是在apache主配置文件的末尾加入如下參數(shù)即可
ExpiresActive on
ExpiresDefault access plus 12 month
ExpiresByType text/html access plus 12 months
ExpiresByType text/css access plus 12 months
ExpiresByType image/gif access plus 12 months
ExpiresByType image/jpeg access plus12 12 months
ExpiresByType image/jpg access plus 12 months
ExpiresByType image/png access plus 12 months
EXpiresByType application/x-shockwave-flash access plus 12 months
EXpiresByType application/x-javascript access plus 12 months
ExpiresByType video/x-flv access plus 12 months
b)對目錄
對目錄的配置就是在apache主配置文件中
AllowOverride None
Options None
Require all granted
ErrorDocument 404 /l
ExpiresActive on
ExpiresDefault access plus 12 month
ExpiresByType text/html access plus 12 months
ExpiresByType text/css access plus 12 months
ExpiresByType image/gif access plus 12 months
ExpiresByType image/jpeg access plus12 12 months
ExpiresByType image/jpg access plus 12 months
ExpiresByType image/png access plus 12 months
EXpiresByType application/x-shockwave-flash access plus 12 months
EXpiresByType application/x-javascript access plus 12 months
ExpiresByType video/x-flv access plus 12 months
c)對虛擬主機
對虛擬主機的配置就是在apache的虛擬主機配置文件中添加如下參數(shù)即可
ServerAdmin
DocumentRoot /www/html
ServerName www.sunsky.pw
ServerAlias sunsky.pw
CustomLog |/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log combined
ErrorLog |/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log
ExpiresActive on
ExpiresDefault access plus 12 month
ExpiresByType text/html access plus 12 months
ExpiresByType text/css access plus 12 months
ExpiresByType image/gif access plus 12 months
ExpiresByType image/jpeg access plus12 12 months
ExpiresByType image/jpg access plus 12 months
評論