您好,登錄后才能下訂單哦!
- 在企業中,部署Apache后只采用默認的配置參數,會引發網站很多問題,換言之默認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代
- 為了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化內容
配置網頁壓縮功能
工作模式的選擇與參數優化
配置防盜鏈
配置隱藏版本號
配置Apache的網頁壓縮功能,是使用gzip壓縮算法來對網頁進行壓縮后再傳輸到客戶端瀏覽器
降低了網絡傳輸的字節數,加快網頁加載的速度
節省流量,改善用戶的瀏覽體驗
gzip與搜索引擎的抓取工具有著更好的關系
Apache實現網頁壓縮的功能模塊包括
mod_gzip模塊
mod_deflate模塊
Apache 1.x
沒有內建網頁壓縮技術,但可使用第三方mod_gzip模塊執行壓縮
Apache 2.x
在開發的時候,內建了mod_deflate這個模塊,取代mod_gzip
* 兩者均使用gzip壓縮算法,運作原理類似
* mod_deflate壓縮速度略快,而mod_gzip的壓縮比略高
* mod_gzip對服務器CPU的占用要高一些
* 高流量的服務器,使用mod_deflate可能會比mod_gzip加載速度更快
一臺Linux服務器(192.168.13.128)
一臺win10測試機
[root@localhost httpd]# mkdir /abc ##創建掛載點/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目錄
[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
[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 //數據壓縮用的函式庫
[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 //通用網關接口
...
[root@lamp httpd-2.4.29]# make //生成可執行的二進制文件
...
[root@lamp httpd-2.4.29]# 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/ ##切換到http主配置文件中
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf ##方便管理創建軟連接
##為方便操作覆蓋原啟動腳本,并添加到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下行插入這兩行內容
[root@localhost conf]# chkconfig --add httpd //將httpd加入到SERVICE管理器中
[root@localhost conf]# vim /etc/httpd.conf ##配置主配置文件
Listen 192.168.13.128:80 ##設置監聽地址
#Listen 80
ServerName www.kgc.com:80 ##設置域名
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 ##默認過濾器加載
</IfModule>
[root@localhost conf]# service httpd start ##重啟服務
[root@localhost conf]# systemctl stop firewalld.service
[root@localhost conf]# setenforce 0
[root@localhost conf]# cd /usr/local/httpd/bin/ ##查看deflate模塊啟動狀態
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate"
deflate_module (shared)
[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>
[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
[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 ##編輯網頁內容,將圖片加入到網頁中
<html><body><h2>It works!</h2>
<img src="kali.jpg"/> ##將圖片放到網頁中
</body></html>
- 通過mod_expire模塊配置Apache,使用網頁能在客戶端瀏覽器緩存一段時間,以避免重復請求
- 啟用mod_expire模塊后,會自動生成頁面頭部信息中的Expires標簽和Cache-Control標簽,從而降低客戶端的訪問頻率和次數,達到減少不必要的流量和增加訪問速度的目的
編譯安裝和前部分是一樣的,配置加上了緩存模塊,以下為配置緩存模塊操作
[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>
[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 ##關閉防火墻
[root@localhost bin]# setenforce 0
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires" ##查看模塊開啟狀態
expires_module (shared)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。