Apache開啟gzip壓縮和http緩衝的配置

來源:互聯網
上載者:User

標籤:gzip

一、Apache開啟gzip壓縮首先說下gzip配置的方法,在apache中gzip壓縮使用的是mod_deflate模組, 以下是具體的配置方法和步驟:步驟一:  LoadModule deflate_module modules/mod_deflate.so  LoadModule headers_module modules/mod_headers.so   開啟http.conf後,先將上面兩行配置前面的#號去掉,這樣apache就會啟用這兩個模組,其中mod_deflate是壓縮模組,就是對要傳輸到用戶端的代碼進行gzip壓縮    mod_headers模組的作用是告訴瀏覽器頁面使用了gzip壓縮,如果不開啟mod_headers那麼瀏覽器就會對gzip壓縮過的頁面進行下載,而無法正常顯示步驟二:      在httpd.conf中加入以下代碼,可以加到任何空白地方,不瞭解apache的朋友,如果擔心加錯地方,就放到http.conf檔案的最後一行。 <IfModule mod_deflate.c>SetOutputFilter DEFLATE #必須的,就像一個開關一樣,告訴apache對傳輸到瀏覽器的內容進行壓縮 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設定不對尾碼gif,jpg,jpeg,png的圖片檔案進行壓縮SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是設定不對exe,tgz,gz。。。的檔案進行壓縮SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-varyAddOutputFilterByType DEFLATE text/* #設定對檔案是文本的內容進行壓縮,例如text/html text/css text/plain等AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #這段代碼你只需要瞭解application/javascript application/x-javascript這段就可以了,這段的意思是對javascript檔案進行壓縮AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #這段是告訴apache對php類型的檔案進行壓縮BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些問題,所以只壓縮檔類型是text/html的BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的問題,所以不開啟壓縮BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE瀏覽器會偽裝成 Netscape ,但是事實上它沒有問題Header append Vary User-Agent env=!dont-vary #確保代理不會發送錯誤的內容</IfModule>    本配置到這裡apache中的gzip壓縮就配置完成,重啟apache後,新的配置就會生效。                     二、配置http緩衝mod_expires模組步驟一:           LoadModule expires_module modules/mod_expires.so            在httpd.conf中,找到上面的代碼,然後將前面的#去掉步驟二:     在httpd.conf中加入以下代碼,可以加到任何空白地方,不瞭解apache的朋友,如果擔心加錯地方,就放到http.conf檔案的最後一行。<IfModule mod_expires.c>ExpiresActive On #啟用http緩衝,也就是個開關,必須有的一段代碼ExpiresDefault A604800 #預設緩衝時間為604800秒,也就是7天,A表示以用戶端時間為準ExpiresByType text/css A3600 #對css檔案快取3600秒,也就是1小時,A表示以用戶端時間為準ExpiresByType text/html A3600 #對html檔案快取3600秒,也就是1小時,A表示以用戶端時間為準ExpiresByType application/x-javascript A3600 #對javascript檔案快取3600秒,也就是1小時,A表示以用戶端時間為準ExpiresByType image/gif "access plus 2 month" #對gif圖片緩衝2個月,以用戶端時間為準 @ itxyz.net ExpiresByType image/jpeg "access plus 2 month" #對jpeg和jpg圖片緩衝2個月,以用戶端時間為準ExpiresByType image/png "access plus 2 month" #對png圖片緩衝2個月,以用戶端時間為準ExpiresByType image/x-icon "access plus 2 month" #對瀏覽器小表徵圖緩衝2個月,以用戶端時間為準ExpiresByType application/x-shockwave-flash A2592000 #對flash檔案快取2592000秒,也就是1個月,A表示以用戶端時間為準Header unset Pragma #刪除掉http頭資訊中的Pragma,不懂的可以google一下Pragma,他也是控制瀏覽器緩衝的,不過是用於http1.0標準FileETag NoneHeader unset ETag #這段代碼和上面一段的作用是不使用http1.1標準中的ETag屬性<FilesMatch "\.(js|css|ico|pdf|flv|jpg|jpeg|png|gif|mp3|mp4|swf)$"> #針對js|css|ico等尾碼的檔案進行單獨設定#Header set Expires "Thu, 15 Apr 2013 20:00:00 GMT"Header unset Last-Modified #不使用http頭資訊中的Last-Modified屬性,Last-Modified是指檔案最後修改時間Header append Cache-Control "public" #設定為可被任何緩衝區緩衝</FilesMatch></IfModule>     上面的配置是我自己的伺服器上正在使用的配置方法,在這裡與大家分享一下,代碼不會有錯,最後不要忘記重啟apache伺服器哦 如果有apache高人有更好的配置,請指教一下!     如果用的虛擬機器主機,而虛擬機器主機支援.htaccess,則可以將上面的代碼放到.htaccess檔案中。


本文出自 “光普-IT公社” 部落格,請務必保留此出處http://guangpu.blog.51cto.com/3002132/1567533

Apache開啟gzip壓縮和http緩衝的配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.