共計(jì) 5360 個(gè)字符,預(yù)計(jì)需要花費(fèi) 14 分鐘才能閱讀完成。
這篇文章給大家分享的是有關(guān) Linux 系統(tǒng)中 Apache 網(wǎng)頁(yè)與安全優(yōu)化的示例分析的內(nèi)容。丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過來看看吧。
Apache 網(wǎng)頁(yè)優(yōu)化 Apache 網(wǎng)頁(yè)優(yōu)化概述
在企業(yè)中,部署 Apache 后只采用默認(rèn)的配置參數(shù),會(huì)引發(fā)網(wǎng)站很多問題,換言之默認(rèn)配置是針對(duì)以前較低的服務(wù)器配置的,以前的配置已經(jīng)不適用當(dāng)今互聯(lián)網(wǎng)時(shí)代
為了適應(yīng)企業(yè)需求,就需要考慮如何提升 Apache 的性能與穩(wěn)定性,這就是 Apache 優(yōu)化的內(nèi)容
優(yōu)化內(nèi)容
配置網(wǎng)頁(yè)壓縮功能
工作模式的選擇與參數(shù)優(yōu)化
配置防盜鏈
配置隱藏版本號(hào)
…….
網(wǎng)頁(yè)壓縮 gzip 介紹
配置 Apache 的網(wǎng)頁(yè)壓縮功能,是使用 gzip 壓縮算法來對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行壓縮后再傳輸?shù)娇蛻舳藶g覽器
作用
降低了網(wǎng)絡(luò)傳輸?shù)淖止?jié)數(shù), 加快網(wǎng)頁(yè)加載的速度
節(jié)省流量,改善用戶的瀏覽體驗(yàn)
gzip 與搜索弓 | 擎的抓取工具有著更好的關(guān)系
Apache 的壓縮模塊
Apache 實(shí)現(xiàn)網(wǎng)頁(yè)壓縮的功能模塊包括
mod_gzip 模塊
mod_deflate 模塊
Apache 1.x
沒有內(nèi)建網(wǎng)頁(yè)壓縮技術(shù),但可使用第三方 mod_gzip 模塊執(zhí)行壓縮
Apache 2.x
在開發(fā)的時(shí)候,內(nèi)建了 mod_deflate 這個(gè)模塊,取代 mod_gzip
mod_gzip 模塊與 mod_ deflate 模塊
兩者均使用 gzip 壓縮算法,運(yùn)作原理類似
mod_deflate 壓縮速度略快,而 mod_gzip 的壓縮比略高
mod_gzip 對(duì)服務(wù)器 CPU 的占用要高一 - 些
高流量的服務(wù)器,使用 mod_deflate 可能會(huì)比 mod_gzip 加載速度更快
配置網(wǎng)頁(yè)壓縮功能
手工編譯安裝 HTTP 服務(wù)
下載源碼包
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt // 宿主機(jī)中源碼包存放目錄掛載到 mnt 目錄
Password for root@//192.168.100.10/lamp-c7:
[root@localhost ~]# cd /mnt/ // 進(jìn)入掛載目錄
[root@localhost mnt]# ls // 查看你
apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz
awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2
[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt // 解壓源碼包
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr // 將解壓的環(huán)境包放入 httpd-2.4.29 目錄
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]# cd httpd-2.4.29 // 進(jìn)入 httpd-2.4.29 目錄
[root@localhost httpd-2.4.29]# yum install gcc gcc-c++ pcre-devel pcre zlib-devel expat-devel
perl -y
// 安裝環(huán)境包
[root@localhost httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-expires --enable-rewrite --enable-charset-lite --enable-cgi // 配置安裝文件
[root@localhost httpd-2.4.29]# make make install // 安裝服務(wù)
進(jìn)入 http 服務(wù)配置文件查看壓縮模塊服務(wù)是否開啟
[root@localhost httpd-2.4.29]# cd /usr/local/httpd/conf/
[root@localhost conf]# ls
extra httpd.conf magic mime.types original
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
[root@localhost conf]# vim /etc/httpd.conf
...// 省略部分內(nèi)容...
#LoadModule charset_lite_module modules/mod_charset_lite.so
LoadModule deflate_module modules/mod_deflate.so // 找到此條目,并開啟
LoadModule mime_module modules/mod_mime.so
...// 省略部分內(nèi)容...
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so // 查找請(qǐng)求頭部模塊,確認(rèn)是否開啟
#LoadModule unique_id_module modules/mod_unique_id.so
...// 省略部分內(nèi)容...
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so // 查看過濾器模塊是否開啟
#LoadModule substitute_module modules/mod_substitute.so
...// 省略部分內(nèi)容...
IfModule mod_deflate.c
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png // 在文件末尾處編寫壓縮模塊支持文件
DeflateCompressionLevel 9 // 創(chuàng)建條目,壓縮級(jí)別為 9 高壓縮比
SetOutputFilter DEFLATE // 將壓縮模塊設(shè)置為默認(rèn)模塊加載
/IfModule
:wq // 保存退出
[root@localhost conf]# /usr/local/httpd/bin/apachectl -t // 使用命令測(cè)試配置文件語法是否正常
AH00558: httpd: Could not reliably determine the server s fully qualified domain name, using localhost.localdomain. Set the ServerName directive globally to suppress this message
// 提示沒有設(shè)置域名
Syntax OK // 語法正常
[root@localhost conf]# vim /etc/httpd.conf // 編輯主配置文件
...// 省略部分內(nèi)容...
# prevent Apache from glomming onto all bound IP addresses.
Listen 192.168.144.133:80 // 打開并更改監(jiān)聽接口
#Listen 80
...// 省略部分內(nèi)容...
# If your host doesn t have a registered DNS name, enter its IP address here.
ServerName www.kgc.com:80 // 打開并更改域名
...// 省略部分內(nèi)容...
[root@localhost conf]# /usr/local/httpd/bin/apachectl -t // 再次檢測(cè)語法
Syntax OK // 語法正常
[root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
// 將啟動(dòng)腳本復(fù)制到 init.d 目錄下,并取名 httpd
[root@localhost conf]# vim /etc/init.d/httpd
#!/bin/sh
# chkconfig: 35 85 21
# description: Apache is a World Wide Web server // 在第一行下添加聲明信息
...// 省略部分內(nèi)容...
[root@localhost conf]# chkconfig --add httpd // 將 httpd 加入到 SERVICE 管理器
[root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
// 將 http 命令建立軟鏈接到 /usr/local/bin/ 目錄下
[root@localhost conf]# service httpd start // 使用 service 命令啟動(dòng) HTTP 服務(wù)
[root@localhost conf]# netstat -ntap | grep 80 // 查看端口是否開啟
tcp 0 0 192.168.144.133:80 0.0.0.0:* LISTEN 42332/httpd
[root@localhost conf]# systemctl stop firewalld.service // 關(guān)閉防防火墻
[root@localhost conf]# setenforce 0 // 關(guān)閉增強(qiáng)性安全功能
[root@localhost conf]# cd /usr/local/httpd/bin/ // 進(jìn)入目錄
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep deflate // 查看壓縮模塊是否開啟
deflate_module (shared) // 成功開啟
這開啟一臺(tái) win 10 虛擬機(jī),并在虛擬機(jī)中安裝抓包工具 抓包工具下載
在客戶機(jī)瀏覽器中訪問 http 服務(wù)提供的網(wǎng)頁(yè),并查看抓包工具
在網(wǎng)頁(yè)中插入圖片,查看網(wǎng)頁(yè)壓縮功能是否能夠正常使用
[root@localhost bin]# cd /mnt // 進(jìn)入掛載點(diǎn)
[root@localhost mnt]# ls // 查看
apr-1.6.2.tar.gz cronolog-1.6.2-14.el7.x86_64.rpm httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz
awstats-7.6.tar.gz error.png miao.jpg php-5.6.11.tar.bz2
[root@localhost mnt]# cp miao.jpg /usr/local/httpd/htdocs/ // 將圖片復(fù)制到 http 站點(diǎn)目錄
[root@localhost mnt]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
index.html miao.jpg
[root@localhost htdocs]# vim index.html
html body h2 It works! /h2
img src= miao.jpg /
/body /html
:wq
在客戶機(jī)中再次訪問網(wǎng)頁(yè)
感謝各位的閱讀!關(guān)于“Linux 系統(tǒng)中 Apache 網(wǎng)頁(yè)與安全優(yōu)化的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!