Apache網頁優化之壓縮

一、gzip介紹

  • 配置Apache的網頁壓縮功能,是使用 gzip 壓縮算法來對網頁內容進行壓縮後,再傳輸到客戶端瀏覽器
  • 作用:
    • 降低了網絡傳輸的字節數,加快網頁加載的速度
    • 節省流量,改善用戶的瀏覽體驗
    • gzip與搜索引擎的抓取工具有着更好的關係

二、Apache的壓縮模塊

  • Apache實現網頁壓縮的功能模塊包括
    • mod_gzip 模塊
    • mod_deflate 模塊
  • Apache 1.x
    • 沒有內建網頁壓縮技術,但可使用第三方mod_gzip 模塊執行壓縮
  • Apache 2.x
    • 在開發的時候,內建了mod_deflate 這個模塊,取代mod_gzip

三、mod_gzip 模塊與mod_deflate 模塊的對比

  • 兩者均使用gzip壓縮算法,運作原理類似
  • mod_deflate 壓縮速度路快,而mod_gzip 的壓縮比略高
  • mod_gzip 對服務器CPU的佔用要高一些
  • 高流量的服務器,使用mod_deflate 可能會比mod_ gzip 加載速度更快

四、網頁壓縮

1、掛載共享文件,並解壓到 /opt/目錄下。

mount.cifs //192.168.56.1/share /mnt   #192.168.56.1是我的宿主機IP地址
#解壓
tar -zxvf apr-1.4.6.tar.gz -C /opt/    
tar -zxvf apr-util-1.4.1.tar.gz -C /opt/
tar -zxvf httpd-2.4.2.tar.gz -C /opt/

#安裝包優化
cd /opt
mv apr-1.4.6/ httpd-2.4.2/srclib/apr
mv apr-util-1.4.1/ httpd-2.4.2/srclib/apr-util

2、安裝編譯工具

yum install -y gcc gcc-c++ pcre pcre-devel zlib-devel

3、在 /opt/httpd-2.4.2 配置

cd httpd-2.4.2/

#有configure的文件,執行以下命令
./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

4、make && make install

5、打開Apache的主配置文件,查看模塊

vim /usr/local/httpd/conf/httpd.conf
 
#1、修改域名
ServerName www.test.com:80
Listen 192.168.220.137:80
#Listen 80

#2、更改一處:
LoadModule headers_ module modules/ mod_ headers. so    //默認開啓
LoadModule deflate_ module modules/mod_ deflate. so     //去掉前面#開啓deflate模塊
LoadModule filter_ module modules/mod_ filter. so       //默認開啓

#3、在文件末尾處添加
<IfModule mod_ deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9  #9是高壓縮比
SetOutputFilter DEFLATE
</IfModule>
#驗證apache是否設置成功
/usr/local/httpd/bin/apachectl -t
Syntax OK   //啓動成功

6、開啓apache服務,關閉防火牆,並驗證模塊開啓

#開啓apache服務
/usr/local/httpd/bin/apachectl start
#關閉防火牆
systemctl stop firewalld
setenforce 0
#驗證模塊
/usr/local/httpd/bin/apachectl -t -D DUMP_MODULES | grep "deflate"

7、在win10系統 安裝抓包工具Fiddler,安裝包直接在網上找。
在這裏插入圖片描述
打開 Fiddler4,同時用瀏覽器輸入IP地址:192.168.220.137,訪問測試網站
在這裏插入圖片描述
8、在抓包工具Fiddler4中,可以看到允許gzip,但是不顯示指定的壓縮內容。
如果想要顯示指定的壓縮內容,就在網頁裏插入一張圖片。

#放一張圖片到共享文件夾,再把圖片複製到網頁文件夾中。
cd /mnt/httpd
cp game.jpg /usr/local/httpd/htdocs/

cd /usr/local/httpd/htdocs/
#在index.html中引用圖片
vim index.html
<html>
<body>
<h1>It works!</h1>
<img src="game.jpg"/>   #增添這一行,把圖片加在網頁中
</body>
</html>

在這裏插入圖片描述
在這裏插入圖片描述
刷新頁面,出現插入的圖片
在這裏插入圖片描述
在抓包工具中顯示傳輸過程進行gzip壓縮。
在這裏插入圖片描述

五、總結

  • 配置Apache的網頁壓縮功能,傳輸到客戶端瀏覽器,降低了網絡傳輸的字節數,加快網頁加載的速度。
  • 注意:apache服務記得開啓:
/usr/local/httpd/bin/apachectl start
發佈了72 篇原創文章 · 獲贊 32 · 訪問量 4945
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章