一、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