您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux系統中Apache網頁與安全優化的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在企業中,部署Apache后只采用默認的配置參數,會引發網站很多問題,換言之默認配置是針對以前較低的服務器配置的,以前的配置已經不適用當今互聯網時代
為了適應企業需求,就需要考慮如何提升Apache的性能與穩定性,這就是Apache優化的內容
配置網頁壓縮功能
工作模式的選擇與參數優化
配置防盜鏈
配置隱藏版本號
.......
gzip
介紹配置Apache
的網頁壓縮功能,是使用gzip
壓縮算法來對網頁內容進行壓縮后再傳輸到客戶端瀏覽器
作用
降低了網絡傳輸的字節數,加快網頁加載的速度
節省流量,改善用戶的瀏覽體驗
gzip
與搜索弓|擎的抓取工具有著更好的關系
Apache
實現網頁壓縮的功能模塊包括
mod_gzip
模塊
mod_deflate
模塊
Apache 1.x
沒有內建網頁壓縮技術,但可使用第三方mod_gzip
模塊執行壓縮
Apache 2.x
在開發的時候,內建了mod_deflate
這個模塊,取代mod_gzip
mod_gzip
模塊與mod_ deflate模塊
兩者均使用gzip
壓縮算法,運作原理類似
mod_deflate
壓縮速度略快,而mod_gzip
的壓縮比略高
mod_gzip
對服務器CPU
的占用要高一-些
高流量的服務器,使用mod_deflate
可能會比mod_gzip
加載速度更快
手工編譯安裝HTTP服務
下載源碼包
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 //宿主機中源碼包存放目錄掛載到mnt目錄 Password for root@//192.168.100.10/lamp-c7: [root@localhost ~]# cd /mnt/ //進入掛載目錄 [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 //將解壓的環境包放入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 //進入httpd-2.4.29目錄 [root@localhost httpd-2.4.29]# yum install gcc gcc-c++ pcre-devel pcre zlib-devel expat-devel perl -y //安裝環境包 [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 //安裝服務
進入http服務配置文件查看壓縮模塊服務是否開啟
[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 ...//省略部分內容... #LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule deflate_module modules/mod_deflate.so //找到此條目,并開啟 LoadModule mime_module modules/mod_mime.so ...//省略部分內容... #LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so //查找請求頭部模塊,確認是否開啟 #LoadModule unique_id_module modules/mod_unique_id.so ...//省略部分內容... #LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so //查看過濾器模塊是否開啟 #LoadModule substitute_module modules/mod_substitute.so ...//省略部分內容... <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png //在文件末尾處編寫壓縮模塊支持文件 DeflateCompressionLevel 9 //創建條目,壓縮級別為 9 高壓縮比 SetOutputFilter DEFLATE //將壓縮模塊設置為默認模塊加載 </IfModule> :wq //保存退出 [root@localhost conf]# /usr/local/httpd/bin/apachectl -t //使用命令測試配置文件語法是否正常 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 //提示沒有設置域名 Syntax OK //語法正常 [root@localhost conf]# vim /etc/httpd.conf //編輯主配置文件 ...//省略部分內容... # prevent Apache from glomming onto all bound IP addresses. # Listen 192.168.144.133:80 //打開并更改監聽接口 #Listen 80 ...//省略部分內容... # If your host doesn't have a registered DNS name, enter its IP address here. # ServerName www.kgc.com:80 //打開并更改域名 ...//省略部分內容... :wq [root@localhost conf]# /usr/local/httpd/bin/apachectl -t //再次檢測語法 Syntax OK //語法正常 [root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //將啟動腳本復制到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 //在第一行下添加聲明信息 ...//省略部分內容... [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命令啟動HTTP服務 [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 //關閉防防火墻 [root@localhost conf]# setenforce 0 //關閉增強性安全功能 [root@localhost conf]# cd /usr/local/httpd/bin/ //進入目錄 [root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate" //查看壓縮模塊是否開啟 deflate_module (shared) //成功開啟
這開啟一臺win 10虛擬機,并在虛擬機中安裝抓包工具 抓包工具下載
在客戶機瀏覽器中訪問http服務提供的網頁,并查看抓包工具
在網頁中插入圖片,查看網頁壓縮功能是否能夠正常使用
[root@localhost bin]# cd /mnt //進入掛載點 [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/ //將圖片復制到http站點目錄 [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
在客戶機中再次訪問網頁
感謝各位的閱讀!關于“Linux系統中Apache網頁與安全優化的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。