您好,登錄后才能下訂單哦!
在企業中,部署Apache后只采用默認的配置參數,會
引發網站很多問題,換言之默認配置是針對以前較低的
服務器配置的,以前的配置已經不適用當今互聯網時代
為了適應企業需求,就需要考慮如何提升Apache的性
能與穩定性,這就是Apache優化的內容
■配置Apache的網頁壓縮功能,是使用gzip壓縮算法來
對網頁內容進行壓縮后再傳輸到客戶端瀏覽器
■作用
●降低了網絡傳輸的字節數,加快網頁加載的速度
●節省流量,改善用戶的瀏覽體驗
●gzip與搜索引擎的抓取工具有著更好的關系
mod_gzip 模塊
moddeflate模塊
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加載速
度更快
首先檢查是否安裝了mod_deflate模塊
●執行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
■第一行代表對什么樣的內容啟用gzip壓縮
■第二行代表壓縮級別
■第三行代表啟用deflate模塊對本站點的輸出進行gzip壓縮
遠程掛載軟件包文件夾到本地并查看
[root@localhost ~]# mkdir /abc //創建掛載點
[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
安裝實驗環境必須的軟件包
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搜索關鍵詞查找關鍵詞所在行
LoadModule deflate_module modules/mod_deflate.so //去除注釋開啟服務
/headers搜索關鍵詞查找關鍵詞所在行
LoadModule headers_module modules/mod_headers.so //去除注釋開啟服務
/filter搜索關鍵詞查找關鍵詞所在行
LoadModule filter_module modules/mod_filter.so //去除注釋開啟服務
使用/Listen查找關鍵詞所在位置
注釋ipv6,開啟ipv4并將監聽端口改為本機地址
Listen 192.168.131.129:80
#Listen 80
使用/ServerName查找關鍵詞,并做如下修改
ServerName www.kgc.com:80
在文件末行插入以下內容
<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
//驗證語法是否正確
[root@localhost bin]# ./apachectl start //啟動服務
[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 //關閉防火墻
[root@localhost bin]# setenforce 0 //關閉增強型安全功能
[root@localhost bin]# ./apachectl -t -D DUMP_mooules | grep "expire"
Syntax OK
使用測試機win10進行測試,在瀏覽器輸入網址192.168.131.129即可訪問到主頁
最后打開fiddre軟件進行抓包
共享文件夾中的圖片復制到網頁文件目錄下,并將圖片添加到網頁中
[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/ //把圖片復制到網頁文件夾
[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>
現在我們再次使用測試機進行訪問就可以看到添加的圖片,我們通過抓包軟件可以看到有圖片的抓取信息中有在端口處進行gzip壓縮處理信息
■通過mod expire模塊配置 Apache,使網頁能在客戶端
瀏覽器緩存一段時間,以避免重復請求
■啟用mod expire模塊后, 會自動生成頁面頭部信息中
的Expires標簽和Cache-Control標簽,從而降低客戶
端的訪問頻率和次數,達到減少不必要的流量和增加訪
問速度的目的
■修改httpd.conf配置文件
●啟用mod expires模塊,并設置http協議下任意格式的文檔均60
秒后過期
<lfModule mod expires.c\>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</lfModule\>
■重啟httpd服務
在配置完Apache網頁壓縮在前提下再進行如下配置
配置Apache配置文件
[root@localhost htdocs]# vim /etc/httpd.conf
在配置文件末行插入以下內容
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
檢查語法正確性并重啟服務
[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
我們在用測試機win10里的瀏覽器進行抓包測試,此時我們可以看到我們設置的網頁緩存的時間在頭部信息中出現
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。