Apache網頁優化概述
在企業中,部署Apache後只採用默認的配置參數,會引發網站很多問題,換言之默認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代
爲了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化內容
優化內容
配置網頁壓縮功能
工作模式的選擇與參數優化
配置防盜鏈
配置隱藏版本號
...
Apache的壓縮模塊
Apache實現網頁壓縮的功能模塊包括
mod_gzip模塊
mod_deflate模塊
Apache 1.x
沒有內建網頁壓縮技術,但可使用第三方mod_gzip模塊執行壓縮
Apache 2.x
在開發的時候,內建了mod_deflate這個模塊,取代mod_gzip
啓用網頁壓縮功能步驟
實例演示
部署網頁壓縮功能
第一步:在Linux上遠程共享LAMP工具包
[root@localhost ~]# smbclient -L //192.168.10.37
Sharename Type Comment
--------- ---- -------
LAMP Disk
[root@localhost ~]# mount.cifs //192.168.10.37/LAMP /mnt
第二步:編譯安裝Apache
1.解壓源碼包
[root@localhost ~]# cd /mnt
[root@localhost mnt ]# tar zvxf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt ]# tar zvxf apr-util-1.6.0.tar.gz -C /opt
[root@localhost mnt ]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
2.安裝編譯工具
[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 ]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
zlib-devel \
expat-devel \
pcre \
perl
3.進行configure配置
[root@localhost opt ]# cd /opt/httpd-2.4.29/
[root@localhost httpd-2.4.29 ]# ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
4.編譯及安裝
[root@localhost httpd-2.4.29 ]# make
...... //省略編譯過程
[root@localhost httpd-2.4.29 ]# make install
...... //省略安裝過程
5.開啓httpd主配置文件中的相關模塊
[root@localhost httpd-2.4.29 ]# vim /usr/local/httpd/conf/httpd.conf
51 Listen 192.168.235.151:80
//在文件的第51行替換監聽地址爲本主機
52 #Listen 80
//註釋第52行內容
199 ServerName www.kgc.com:80
//在第199行設置域名
106 LoadModule deflate_module modules/mod_deflate.so
//取消第106行的註釋符號#,來啓用壓縮模塊
113 LoadModule headers_module modules/mod_headers.so
//取消第113行的註釋符號#,來啓用頭部模塊
//在末行追加一下內容
510 <IfModule mod_deflate.c>
511 AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml t ext/jpg text/javascript text/png
512 DeflateCompressionLevel 9
513 SetOutputFilter DEFLATE
514 </IfModule>
[root@localhost httpd-2.4.29 ]# systemctl stop firewalld.service
[root@localhost httpd-2.4.29 ]# setenforce 0
[root@localhost httpd-2.4.29 ]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl -t //檢查語法
Syntax OK
[root@localhost bin]# ./apachectl start //啓動Apache服務
httpd (pid 71016) already running
6.配置站點首頁內容
[root@localhost bin]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# vim index.html //編輯首頁並放入圖片
[root@localhost htdocs]# cat index.html
<html>
<body>
<h1>this is test web</h1>
<img src="game.jpg"/>
</body>
</html>
[root@localhost htdocs]# ls
game.jpg index.html
第三步:使用Windows 7客戶機安裝fiddler抓包工具並查看網頁
1.雙擊fiddler圖不愛進行安裝即可
2.使用瀏覽器輸入提供服務的主機IP:192.168.235.151即可訪問網頁並看到圖片
3.使用fiddler抓包工具查看
配置網頁的緩存時間
通過mod_expire模塊配置Apache,使用網頁能在客戶端瀏覽器緩存一段時間,以避免重複請求
啓用mod_expire模塊後,會自動生成頁面頭部信息中的Expires標籤和Cache-Control標籤,從而降低客戶端的訪問頻率和次數,達到減少不必要的流量和增加訪問速度的目的
啓用網頁緩存功能步驟
部署網頁緩存功能(基於先前的操作)
第一步:開啓httpd主配置文件中的相關模塊
[root@localhost htdocs]# vim /usr/local/httpd/conf/httpd.conf
112 LoadModule expires_module modules/mod_expires.so
//取消文件第112行的#註釋,開啓緩存模塊
//在文件末行追加以下內容
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 50 seconds"
</IfModule>
第二步:檢查文件語法,並再啓動服務
[root@localhost htdocs]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl -t
Syntax OK
[root@localhost bin]# ./apachectl stop //停止服務
[root@localhost bin]# ./apachectl start //再啓動服務
httpd (pid 71016) already running
[root@localhost bin]# systemctl stop firewalld.service
[root@localhost bin]# setenforce 0
第三步:使用Windows 7客戶機安裝fiddler抓包工具並查看網頁