溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合?。?/h1>
發(fā)布時間:2020-06-23 08:09:32 來源:網(wǎng)絡(luò) 閱讀:5556 作者:一拳超人007 欄目:系統(tǒng)運維

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

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

優(yōu)化內(nèi)容

配置網(wǎng)頁壓縮功能
工作模式的選擇與參數(shù)優(yōu)化
配置防盜鏈
配置隱藏版本號

gzip介紹

配置Apache的網(wǎng)頁壓縮功能,是使用gzip壓縮算法來對網(wǎng)頁進行壓縮后再傳輸?shù)娇蛻舳藶g覽器

作用

降低了網(wǎng)絡(luò)傳輸?shù)淖止?jié)數(shù),加快網(wǎng)頁加載的速度
節(jié)省流量,改善用戶的瀏覽體驗
gzip與搜索引擎的抓取工具有著更好的關(guān)系

Apache的壓縮模塊

Apache實現(xiàn)網(wǎng)頁壓縮的功能模塊包括
        mod_gzip模塊
        mod_deflate模塊
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壓縮算法,運作原理類似
*   mod_deflate壓縮速度略快,而mod_gzip的壓縮比略高
*   mod_gzip對服務(wù)器CPU的占用要高一些
*   高流量的服務(wù)器,使用mod_deflate可能會比mod_gzip加載速度更快

啟用網(wǎng)頁壓縮功能步驟

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合!)

環(huán)境(網(wǎng)頁壓縮實例)

一臺Linux服務(wù)器(192.168.13.128)
一臺win10測試機

1,遠程共享掛載到Linux上

1)在Windows上將LAMP所需壓縮軟件包共享出來(此處如有問題請看之前的博客相關(guān)文章)

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合?。?></p>
<h5>2)在Linux上使用遠程共享獲取文件并掛載到/abc目錄下</h5>
<pre><code>[root@localhost httpd]# mkdir /abc   ##創(chuàng)建掛載點/abc
root@lamp ~]# smbclient -L //192.168.100.3/
                Sharename       Type      Comment
                ---------       ----      -------
                LAMP-C7         Disk      

[root@lamp ~]# mount.cifs //192.168.100.3/LAMP-C7 /mnt  
##遠程掛載軟件包到/mnt目錄</code></pre>
<h3>2,手工編譯安裝Apache</h3>
<h5>1)將源碼包解壓到/opt目錄下</h5>
<pre><code>[root@lamp mnt]# cd /mnt   ##切換到/mnt目錄下
[root@lamp mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/    ##解壓源碼包到/opt下
...
[root@lamp mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
....
[root@lampt mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
...
[root@lamp mnt]# cd /opt                        //進入/opt目錄      
[root@lamp opt]# ls                             //查看解壓的文件
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh</code></pre>
<h5>2)將apr組件包移動到http中并安裝編譯工具</h5>
<pre><code>[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
[root@localhost opt]# yum -y install \
gcc \                                       //c語言
gcc-c++ \                        //c++語言
make \                              //編譯工具
pcre-devel \                     //pcre語言工具
expat-devel \                   //識別標簽性語言工具
perl \
pcre \
zlib-devel                       //數(shù)據(jù)壓縮用的函式庫</code></pre>
<h5>3)配置安裝目錄及各種模塊</h5>
<pre><code>[root@lamp opt]# cd /opt/httpd-2.4.29/
[root@lamp httpd-2.4.29]#./configure \                      //配置
--prefix=/usr/local/httpd \   
--enable-deflate \  //配置壓縮模塊
--enable-expires \  //配置緩存模塊(下一個緩存實驗需要)
--enable-so \      //apache核心模塊開啟
--enable-rewrite \    //開啟重寫功能,防盜鏈
--enable-charset-lite \  //支持字符集,簡體中文
--enable-cgi   //通用網(wǎng)關(guān)接口       
... </code></pre>
<h5>4)編譯和安裝</h5>
<pre><code>[root@lamp httpd-2.4.29]# make              //生成可執(zhí)行的二進制文件
...
[root@lamp httpd-2.4.29]# make install  //復制二進制文件到系統(tǒng),配置應用環(huán)境
...</code></pre>
<h5>5)配置http主配置文件</h5>
<pre><code>[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/             ##切換到http主配置文件中
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf   ##方便管理創(chuàng)建軟連接

##為方便操作覆蓋原啟動腳本,并添加到service管理器中
[root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd                       //復制apache啟動腳本覆蓋httpd原始的啟動腳本
[root@localhost conf]# vim /etc/init.d/httpd
#!/bin/sh
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server            //在#!/bin/sh下行插入這兩行內(nèi)容
[root@localhost conf]# chkconfig --add httpd         //將httpd加入到SERVICE管理器中

[root@localhost conf]# vim /etc/httpd.conf  ##配置主配置文件

Listen 192.168.13.128:80  ##設(shè)置監(jiān)聽地址
#Listen 80

ServerName www.kgc.com:80  ##設(shè)置域名

LoadModule deflate_module modules/mod_deflate.so  ##啟用壓縮模塊
LoadModule headers_module modules/mod_headers.so   ##啟用頭部模塊

##大G到末行添加一下內(nèi)容
LoadModule filter_module modules/mod_filter.so   
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml test/java
script text/jpg text/png    ##支持壓縮類型
    DeflateCompressionLevel 9   ##高壓縮比
    SetOutputFilter DEFLATE      ##默認過濾器加載
</IfModule>
[root@localhost conf]# service httpd start ##重啟服務(wù)
[root@localhost conf]# systemctl stop firewalld.service 
[root@localhost conf]# setenforce 0
[root@localhost conf]# cd /usr/local/httpd/bin/      ##查看deflate模塊啟動狀態(tài)
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep

6)切換到站點,編輯網(wǎng)頁內(nèi)容
[root@localhost conf]# cd ..
[root@localhost httpd]# pwd
/usr/local/httpd
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# cat index.html 
<html><body><h2>It works!</h2></body></html>

3,在win10中安裝fiddler抓包工具

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合?。?></p>
<h3>4,編輯網(wǎng)頁,添加一個圖片</h3>
<h5>1)切換到你的共享掛載點,將圖片復制到站點中</h5>
<pre><code>[root@localhost htdocs# cd /mnt   ##切換到掛載點
[root@localhost mnt]# cp kali.jpg /usr/local/httpd/htdocs/    ##將圖片復制到站點中
[root@localhost mnt]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls     ##查看圖片復制成功
index.html  kali.jpg</code></pre>
<h5>2)編輯站點的首頁內(nèi)容</h5>
<pre><code>[root@localhost ~]# cd /usr/local/httpd/
[root@localhost httpd]# cd htdocs/      ##切換到站點
[root@localhost htdocs]# ls
index.html  kali.jpg  
[root@localhost htdocs]# vim index.html     ##編輯網(wǎng)頁內(nèi)容,將圖片加入到網(wǎng)頁中

<html><body><h2>It works!</h2>
<img src=

5,測試網(wǎng)頁,查看抓包信息

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合?。?><br/><img src=

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

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

啟用網(wǎng)頁緩存功能步驟

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合!)

環(huán)境

編譯安裝和前部分是一樣的,配置加上了緩存模塊,以下為配置緩存模塊操作

1,配置主配置文件,開啟緩存模塊

[root@localhost httpd-2.4.29]# vim /etc/http.conf

LoadModule expires_module modules/mod_expires.so    ##開啟緩存模塊

<IfModule mod_expires.c>      ##大G末行添加配置文件
    ExpiresActive On
    ExpiresDefault "access plus 50 seconds"
</IfModule>

2,啟動Apachectl,關(guān)閉防火墻并重啟服務(wù)

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/bin   ##測試語法是否有錯誤
[root@localhost bin]# ./apachectl -t   
[root@localhost bin]# ./apachectl start   ##開啟
[root@localhost bin]# systemctl stop firewalld.service    ##關(guān)閉防火墻
[root@localhost bin]# setenforce 0
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires" ##查看模塊開啟狀態(tài)
 expires_module (shared)

3,重新用測試機訪問網(wǎng)頁,測試抓包

Apache網(wǎng)頁與安全優(yōu)化——網(wǎng)頁壓縮及緩存(理論實踐相結(jié)合!)

謝謝閱讀?。。?/h2>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI