Apache網頁優化__GongWei1997

GongWei1997發表於2020-11-27

Apache網頁優化概述

在企業中,部署Apache後只採用預設的配置引數,會引發網站很多問題,換言之預設配置是針對以前較低的伺服器配置的,以前的配置已經不適用當今網際網路時代

為了適應企業需求,就需要考慮如何提升Apache的效能與穩定性,這就是Apache優化的內容

優化內容

配置網頁壓縮功能
配置網頁快取
工作模式的選中與引數優化
配置隱藏版本號
配置防盜鏈

gzip介紹

配置Apache網頁壓縮功能,是使用gzip壓縮演算法來對網頁內容進行壓縮後傳輸到客戶端瀏覽器
作用

降低了網路傳輸的位元組數,加快網頁載入的速度
節省流量,改善使用者的瀏覽體驗
gzip與搜尋引擎的抓取工具有著更好的關係

Apache的壓縮模組

Apache實現網頁壓縮的功能模組包括

mod_gzip模組
mode_deflate模組

Apache 1.x

沒有內建網頁壓縮技術,但可使用第三方mod_gzip模組執行壓縮

Apache 2.x

在開發的時候,內建了mod_deflate這個模組,取代mode_gzip

mod_gzip模組與mod_deflate模組

兩者均使用gzip壓縮演算法,運作原理類似
mod_deflate壓縮速度略快,而mode_gzip的壓縮比略高
mode_gzip對伺服器的CPU的佔用要高一些
高流量的伺服器,使用mode_deflate可能會比mode_gaip載入速度更快

配置網頁壓縮功能

檢視是否安裝mod_deflate模組

執行apachectl -t -D DUMP_MODULES命令
如果輸出中沒有deflate_module(static),說明編譯時沒有安裝mod_deflate模組

若未安裝、則要重新編譯安裝

./configure --enable-deflate…
make && make install

修改配置檔案,啟用壓縮功能
訪問測試

配置網頁的快取時間

通過mode_expire模組配置Apache,使網頁能在哭護短瀏覽器存在一段時間,以避免重複請求
啟用mode_expire模組後,會自動生成頁面頭部資訊中的Expires標籤和Cache-Cotrol標籤,從而降低客戶端的訪問頻率和次數,達到減少不必要的流浪和增加訪問速度的目的

啟動網頁快取功能步驟

檢視是否安裝mod_expire模組
修改配置檔案啟用快取功能
訪問測試

修改httpd.conf配置檔案

啟用mode_expires模組,並設定http寫一下仍一個是的文件均60秒後過期

<IfModule moe_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 60 seconds"
</IfModule>

重啟httpd服務

配置Apache隱藏版本資訊

vi /etc/httpd.conf
Include conf /extra/httpd-default.conf  //去掉註釋

cd /usr/local/httpd/conf/
vi extra/httpd-default.conf
#搜Tokens並進行如下修改:
	ServerTokens Prod
	ServerSignature Off 
	systemctl stop httpd
	systemctl start httpd

配置Apache實現防盜鏈

cp error.png /usr/local/httpd/htdocs/  //配置一張報錯的圖片到對應目錄下
vi /etc/httpd.conf
    #找到rewrite模組,啟用
    
    #找到htdoc,在<Directory>裡新增:
	    RewriteEngine On
	    RewriteCond %{HTTP_REFERER} !^http://aa.com/.*$ [NC]
	    RewriteCond %{HTTP_REFERER} !^http://aa.com$ [NC]
	    RewriteCond %{HTTP_REFERER} !^http://www.aa.com/.*$ [NC]
	    RewriteCond %{HTTP_REFERER} !^http://www.aa.com/$ [NC]
	    RewriteRule .*\.(gif|jpg|swf)$ http://www.aa.com/error.png
 
systemctl restart httpd
#配置完成後重啟服務
#通過另一臺伺服器訪問這臺伺服器地址的圖片會出現error.png(錯誤圖片)

注意中文亂碼問題解決方法如下

vi /etc/httpd.conf
	AddDefaultCharset utf-8

相關文章