Apache網(wǎng)頁優(yōu)化之壓縮與緩存

Apache網(wǎng)頁優(yōu)化概述

在企業(yè)中,部署Apache后只采用默認(rèn)的配置參數(shù),會
引發(fā)網(wǎng)站很多問題,換言之默認(rèn)配置是針對以前較低的
服務(wù)器配置的,以前的配置已經(jīng)不適用當(dāng)今互聯(lián)網(wǎng)時代
為了適應(yīng)企業(yè)需求,就需要考慮如何提升Apache的性
能與穩(wěn)定性,這就是Apache優(yōu)化的內(nèi)容

成都創(chuàng)新互聯(lián)公司是一家企業(yè)級云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,德陽服務(wù)器托管,海外高防服務(wù)器,機(jī)柜大帶寬、租用·托管,動態(tài)撥號VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

gzip介紹

■配置Apache的網(wǎng)頁壓縮功能,是使用gzip壓縮算法來
對網(wǎng)頁內(nèi)容進(jìn)行壓縮后再傳輸?shù)娇蛻舳藶g覽器
■作用
●降低了網(wǎng)絡(luò)傳輸?shù)淖止?jié)數(shù),加快網(wǎng)頁加載的速度
●節(jié)省流量,改善用戶的瀏覽體驗(yàn)
●gzip與搜索引擎的抓取工具有著更好的關(guān)系

Apache實(shí)現(xiàn)網(wǎng)頁壓縮的功能模塊包括

mod_gzip 模塊
moddeflate模塊
Apache 1.x
●沒有內(nèi)建網(wǎng)頁壓縮技術(shù),但可使用第三方mod
gzip 模塊執(zhí)行壓縮
Apache 2.x
在開發(fā)的時候,內(nèi)建了mod deflate 這個模塊,取代mod gzip
mod gzip 模塊與mod deflate 模塊
●兩者均使用gzip壓縮算法,運(yùn)作原理類似
●mod deflate 壓縮速度略快,而mod _gzip 的壓縮比略高mod_gzip對服務(wù)器CPU的占用要高一些
高流量的服務(wù)器,使用mod_deflate可能會比mod_gzip加載速
度更快

配置網(wǎng)頁壓縮功能

首先檢查是否安裝了mod_deflate模塊
●執(zhí)行apachectl -t -D DUMP_MODULES命令
●如果輸出中沒有deflate_module (static),說明編譯時沒有安裝
mod_deflate模塊
若沒有安裝則要重新編譯安裝
●./configure --enable-deflate...
●make && make install

■在配置httpd.conf中配置開啟gzip功能
●AddOutputFilterByType DEFLATE texthtml text/plain text/css
text/xml text/javascript
●DeflateCompressionL evel
●SetOutputFilter DEFL ATE
■第一行代表對什么樣的內(nèi)容啟用gzip壓縮
■第二行代表壓縮級別
■第三行代表啟用deflate模塊對本站點(diǎn)的輸出進(jìn)行g(shù)zip壓縮

Apache壓縮實(shí)操

安裝Apache服務(wù)

遠(yuǎn)程掛載軟件包文件夾到本地并查看

[root@localhost ~]# mkdir /abc                                       //創(chuàng)建掛載點(diǎn)
[root@localhost ~]# mount.cifs //192.168.100.7/LAMP-C7 /abc/         //掛載
Password for root@//192.168.100.10/LAMP-C7:  
[root@localhost ~]# cd /abc/
[root@localhost abc]# ls
apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  LAMP-php5.6.txt
apr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           MySQL-5.6.26.tar.gz
awstats-7.6.tar.gz     httpd-2.4.29.tar.bz2              php-5.6.11.tar.bz2

解壓源碼包到/opt目錄下,并移動httpd組件包

[root@localhost abc]# tar zxvf apr-1.6.2.tar.gz -C /opt/
[root@localhost abc]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
[root@localhost abc]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
[root@localhost abc]# cd /opt/
[root@localhost opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  httpd.txt  rh
[root@lamp opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr        [root@lamp opt]#  mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

安裝實(shí)驗(yàn)環(huán)境必須的軟件包

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
zlib-devel \
expat-devel \
pcre \
perl   

配置安裝目錄及模塊

[root@lamp opt]#cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

編譯安裝Apache

make && make install

修改Apache配置文件

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
[root@localhost httpd]# cd conf
[root@localhost conf]# ls
extra  httpd.conf  magic  mime.types  original
[root@localhost conf]# vim httpd.conf 
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
[root@localhost conf]# vim /etc/httpd.conf 
/deflate搜索關(guān)鍵詞查找關(guān)鍵詞所在行    
LoadModule deflate_module modules/mod_deflate.so        //去除注釋開啟服務(wù)
/headers搜索關(guān)鍵詞查找關(guān)鍵詞所在行
LoadModule headers_module modules/mod_headers.so        //去除注釋開啟服務(wù)
/filter搜索關(guān)鍵詞查找關(guān)鍵詞所在行
LoadModule filter_module modules/mod_filter.so          //去除注釋開啟服務(wù)
使用/Listen查找關(guān)鍵詞所在位置
注釋ipv6,開啟ipv4并將監(jiān)聽端口改為本機(jī)地址
Listen 192.168.131.129:80
#Listen 80
使用/ServerName查找關(guān)鍵詞,并做如下修改
ServerName www.kgc.com:80

在文件末行插入以下內(nèi)容
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/ipg text/png
  DeflateCompressionLevel 9
  SetOutputFilter DEFLATE
</IfModule>
[root@localhost conf]# /usr/local/httpd/bin/apachectl -t
Syntax OK
//驗(yàn)證語法是否正確

[root@localhost bin]# ./apachectl start       //啟動服務(wù)
[root@localhost bin]# netstat -ntap | grep 80
tcp        0      0 192.168.35.131:80       0.0.0.0:*               LISTEN      35887/httpd
[root@localhost bin]# systemctl stop firewalld.service    //關(guān)閉防火墻
[root@localhost bin]# setenforce 0        //關(guān)閉增強(qiáng)型安全功能
[root@localhost bin]# ./apachectl -t -D DUMP_mooules | grep "expire"
Syntax OK

使用測試機(jī)win10進(jìn)行測試,在瀏覽器輸入網(wǎng)址192.168.131.129即可訪問到主頁
Apache網(wǎng)頁優(yōu)化之壓縮與緩存最后打開fiddre軟件進(jìn)行抓包

共享文件夾中的圖片復(fù)制到網(wǎng)頁文件目錄下,并將圖片添加到網(wǎng)頁中

[root@localhost bin]# cd /abc/
[root@localhost LAMP]# ls
apr-1.6.2.tar.gz                  fangdao.jpg
apr-util-1.6.0.tar.gz             httpd-2.4.29.tar.bz2
awstats-7.6.tar.gz                tupian.png
cronolog-1.6.2-14.el7.x86_64.rpm  mysql-5.6.26.tar.gz
Discuz_X2.5_SC_UTF8.zip           php-5.6.11.tar.bz2
[root@localhost LAMP]# cp lf.jpg /usr/local/httpd/htdocs/        //把圖片復(fù)制到網(wǎng)頁文件夾
[root@localhost LAMP]# cd /usr/local/httpd/
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
index.html  tupian.png
[root@localhost htdocs]# vim index.html 
<html><body><h2>It works!</h2>
<img src="tupian.png"/>
</body></html>

現(xiàn)在我們再次使用測試機(jī)進(jìn)行訪問就可以看到添加的圖片,我們通過抓包軟件可以看到有圖片的抓取信息中有在端口處進(jìn)行g(shù)zip壓縮處理信息
Apache網(wǎng)頁優(yōu)化之壓縮與緩存

配置網(wǎng)頁的緩存時間

■通過mod expire模塊配置 Apache,使網(wǎng)頁能在客戶端
瀏覽器緩存一段時間,以避免重復(fù)請求
■啟用mod
expire模塊后, 會自動生成頁面頭部信息中
的Expires標(biāo)簽和Cache-Control標(biāo)簽,從而降低客戶
端的訪問頻率和次數(shù),達(dá)到減少不必要的流量和增加訪
問速度的目的

■修改httpd.conf配置文件
●啟用mod expires模塊,并設(shè)置http協(xié)議下任意格式的文檔均60
秒后過期
<lfModule mod
expires.c\>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</lfModule\>
■重啟httpd服務(wù)

Apache緩存實(shí)操

在配置完Apache網(wǎng)頁壓縮在前提下再進(jìn)行如下配置

配置Apache配置文件

[root@localhost htdocs]# vim /etc/httpd.conf
在配置文件末行插入以下內(nèi)容
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 50 seconds"
</IfModule>

檢查語法正確性并重啟服務(wù)

[root@localhost htdocs]# pwd
/usr/local/httpd/htdocs
[root@localhost htdocs]# cd /usr/local/httpd/
[root@localhost httpd]# cd bin/
[root@localhost bin]# ./apachectl -t        //檢查語法
Syntax OK
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start

我們在用測試機(jī)win10里的瀏覽器進(jìn)行抓包測試,此時我們可以看到我們設(shè)置的網(wǎng)頁緩存的時間在頭部信息中出現(xiàn)
Apache網(wǎng)頁優(yōu)化之壓縮與緩存

標(biāo)題名稱:Apache網(wǎng)頁優(yōu)化之壓縮與緩存
本文路徑:http://bm7419.com/article0/ijpsio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)App設(shè)計(jì)、網(wǎng)站改版面包屑導(dǎo)航、網(wǎng)站排名、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司