Linux Apache設(shè)置壓縮及緩存
壓縮文件:
編輯apache模塊
vim /etc/httpd/conf.modules.d/00-base.conf
確保以下三個(gè)模塊沒有被注釋
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
注意:也可以把三個(gè)模塊放到/etc/httpd/conf/httpd.conf文件里,模塊只能在一個(gè)文件中加載
設(shè)置壓縮規(guī)則
vim /etc/httpd/conf/httpd.conf
末尾添加
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設(shè)置不對后綴gif,jpg,jpeg,png的圖片文件進(jìn)行壓縮
Header append Vary User-Agent
</IfModule>
壓縮率一般都大于70%
壓縮率檢測(http://tool.chinaz.com/Gzips/)只能在pc端檢測
設(shè)置緩存:
vim /etc/httpd/conf.modules.d/00-base.conf
確保以下模塊沒有被注釋
LoadModule headers_module modules/mod_headers.so #第一種緩存方式
LoadModule expires_module modules/mod_expires.so #第二種緩存方式
注意:也可以把這個(gè)模塊放到/etc/httpd/conf/httpd.conf文件里,模塊只能在一個(gè)文件中加載
設(shè)置緩存規(guī)則
vim /var/www/html/.htaccess
末尾添加
第一種緩存方式
FileEtag INode Mtime Size
第二種緩存方式
# 緩存有效時(shí)間 1 月
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\.(html|txt|htm|php)$">
Header set Cache-Control "max-age=2592000, public, must-revalidate"
</FilesMatch>
注意:max-age為緩存時(shí)間,單位秒,按需修改
第三種緩存方式
vim /etc/httpd/conf/httpd.conf
添加以下內(nèi)容
<IfModule expires_module>
ExpiresActive On
#css文件緩存2592000/3600/24=1月
ExpiresByType text/css A2592000
#js文件緩存2592000/3600/24=1月
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
#html文件緩存2592000/3600/24=1月
ExpiresByType text/html A2592000
#圖片文件緩存2592000/3600/24=1月
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/ico A2592000
ExpiresByType image/x-icon A2592000
#文件默認(rèn)緩存1月
ExpiresDefault "access plus 30 days"
</IfModule>
注意:以上方式,三選一
重啟apache服務(wù)
service httpd restart
注意:apache設(shè)置壓縮和緩存都會增加服務(wù)器的內(nèi)存壓力,但設(shè)置壓縮和緩存之后,網(wǎng)站的訪問速度會有所提高
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。