您好,登錄后才能下訂單哦!
在企業(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)容
■配置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)系
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加載速
度更快
首先檢查是否安裝了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壓縮
遠(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
[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即可訪問到主頁
最后打開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壓縮處理信息
■通過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網(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)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。