您好,登錄后才能下訂單哦!
基于之前的日志文件分割與日志文件分析,此次將為大家?guī)?lái)Apache靜態(tài)資源的壓縮以及緩存時(shí)間的設(shè)置。
本次實(shí)驗(yàn)使用軟件包合集:鏈接:https://pan.baidu.com/s/1Ag3Sns8iH-J9W8cdtfjPPg請(qǐng)?zhí)砑渔溄用枋? 提取碼:qcog
一份原圖雖然占用服務(wù)器資源并不多,但一旦進(jìn)行高并發(fā)任務(wù)時(shí),不把靜態(tài)資源(例如:圖片等)進(jìn)行壓縮,將會(huì)給服務(wù)器帶來(lái)非常大的壓力。
1、手工編譯安裝Apache
[root@localhost ~]# mount.cifs //192.168.10.181/LAMP-C7 /mnt //將軟件包進(jìn)行遠(yuǎn)程掛載
[root@localhost ~]# cd /mnt
[root@localhost mnt]# tar xjvf httpd-2.4.29.tar.bz2 -C /opt/
[root@localhost mnt]# tar zxf apr-1.6.2.tar.gz -C /opt/
[root@localhost mnt]# tar zxf apr-util-1.6.0.tar.gz -C /opt/
[root@localhost mnt]# cd /opt/
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# yum install \ //安裝環(huán)境包
gcc \
gcc-c++ \
pcre \
pcre-devel \
zlib-devel \
expat-devel -y
[root@localhost httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-charest-lite \
--enable-cgi
[root@localhost httpd-2.4.29]# make && make install //編譯&編譯安裝
2、配置http主配置文件
[root@localhost httpd-2.4.29]# cd /usr/local/httpd/
[root@localhost httpd]# vim conf/httpd.conf //配置主配置文件
在配置文件,搜索`/LoadModule deflate_`
LoadModule deflate_ module modules/mod_ deflate.so //開(kāi)啟,將頭部的#符號(hào)刪除
wq保存退出
搜索`/Listen`,設(shè)置監(jiān)聽(tīng)地址
Listen 192.168.116.145:80 ##設(shè)置監(jiān)聽(tīng)地址
#Listen 80
搜索`/ServerName`,設(shè)置域名
ServerName www.kgc.com:80 ##設(shè)置域名
分別搜索`/deflata`和`/headers`,開(kāi)啟相應(yīng)模塊
LoadModule deflate_module modules/mod_deflate.so ##啟用壓縮模塊
LoadModule headers_module modules/mod_headers.so ##啟用頭部模塊
按G定位末行,添加
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 ##默認(rèn)過(guò)濾器加載
</IfModule>
wq保存退出
3、開(kāi)啟服務(wù),并進(jìn)行站點(diǎn)編輯
[root@localhost httpd]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl start //開(kāi)啟服務(wù)
[root@localhost bin]# netstat -atnp | grep "80"
[root@localhost bin]# cd /usr/local/httpd/htdocs //進(jìn)入http默認(rèn)站點(diǎn)中
[root@localhost htdocs]# vim index.html //對(duì)網(wǎng)頁(yè)進(jìn)行編輯
<html><body><h2>It works!</h2>
<img src="kali.jpg"/> ##將圖片放到網(wǎng)頁(yè)中
</body></html>
注:圖片需要事先放在站點(diǎn)中
4、結(jié)果驗(yàn)證
- 通過(guò)mod_expire模塊配置Apache,使用網(wǎng)頁(yè)能在客戶端瀏覽器緩存一段時(shí)間,以避免重復(fù)請(qǐng)求
- 啟用mod_expire模塊后,會(huì)自動(dòng)生成頁(yè)面頭部信息中的Expires標(biāo)簽和Cache-Control標(biāo)簽,從而降低客戶端的訪問(wèn)頻率和次數(shù),達(dá)到減少不必要的流量和增加訪問(wèn)速度的目的
PS:此項(xiàng)實(shí)驗(yàn)基于上面的實(shí)驗(yàn)基礎(chǔ)上進(jìn)行
1、對(duì)主配置文件進(jìn)行配置
[root@localhost httpd]# vim /conf/http.conf
搜索`/LoadModule expires_`,開(kāi)啟模塊
LoadModule expires_module modules/ mod_expires.so //開(kāi)啟緩存模塊
按G定位末行
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 10 seconds" //設(shè)置10s緩存
</IfModule>
wq保存退出
2、開(kāi)啟服務(wù)
[root@localhost httpd]# cd bin/
[root@localhost bin]# ./apachectl start //開(kāi)啟服務(wù)
[root@localhost bin]# systemctl stop firewalld.service
[root@localhost bin]# setenforce 0
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires" //查看模塊開(kāi)啟狀態(tài)
expires_module (shared)
3、結(jié)果驗(yàn)證
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。