apache網頁優化

網頁優化

網頁壓縮

gzip壓縮算法對網頁內容進行壓縮後再傳輸到客戶端瀏覽器

作用

  • 降低了網絡傳輸的字節數,加快網頁加載的速度

  • 節省流量,改善用戶的瀏覽體驗

  • gzip與搜索引擎的抓取工具有着更好的關係

apache實現網頁壓縮的功能模塊

mod_gzip 壓縮比略高、對CPU佔用高些

mod_deflate 速度略快

在apache的不同版本中

apache 1.x

​ 沒用內建網頁壓縮技術,用第三方mod_gzip

apache 2.x

​ 集成了mod_deflate

查看是否安裝壓縮模塊

apachectl -t -D DUMP_MODULES

輸出中沒有相應模塊說明沒用安裝,需重新編譯安裝

添加壓縮模塊

需要在編譯中加入參數–enable-deflate

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-deflate \
--enable-cgi
make && make install

安裝完成後,修改配置文件

# 去註釋
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so

# 在末尾添加
<IfModule mod_deflate.c>
  # 添加壓縮的文件類型
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
  # 壓縮等級 1壓縮比最小,處理速度最快,9壓縮比最大,傳輸速度最快
  DeflateCompressionLevel 9
  SetOutputFilter DEFLATE
</IfModule>

驗證腳本

# 到httpd目錄下
bin/apachectl -t
Syntax OK
# 驗證配置文件成功

網頁緩存

mod_expire模塊配置緩存

查看是否安裝模塊

apachectl -t -D DUMP_MODULES

輸出中沒有相應模塊說明沒用安裝

修改配置文件啓用緩存功能

與網頁壓縮一樣,需要重新編譯,在編譯命令中添加–enable-expires

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-deflate \
--enable-expires \
--enable-cgi
make && make install

修改配置文件

LoadModule expires_module modules/mod_expires.so

# 末尾添加
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 50 seconds"
</IfModule>

驗證腳本

# 到httpd目錄下
bin/apachectl -t
Syntax OK
# 驗證配置文件成功

安全優化

配置防盜鏈

檢測是否安裝mod_rewrite

apachectl -t -D DUMP_MODULES

安裝改模塊也與前面的其他模塊一樣

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-cgi
make && make install

主配置文件修改

# 開啓模塊
LoadModule rewrite_module modules/mod_rewrite.so

<Directory>
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted
  # 開啓網頁重寫功能
  RewriteEngine On
  # 配置匹配規則
  RewriteCond %{HTTP_REFERER} !^httpL//www.test.com/.*$ [NC]
  # 設置跳轉動作
  RewriteRule .*\. (gif|jpg|swf)$ http//www.test.com/error.png
</Directory>

匹配規則:

​ !^:不以後面的字符串開頭

​ .*$:以任意字符結尾

​ NC:不區分大寫

​ R:強制跳轉

如果相應變量的值匹配所設置的規則,則逐條往下處理;

如果不匹配,則往後的規則不在匹配

隱藏版本信息

直接修改配置文件

#去註釋配置文件
include conf/extra/httpd-default.conf

修改httpd-default.conf

ServerTokens Prod    //只顯示名稱,沒有版本

ServerSignnature Off
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章