Apache優化

Apache優化

部署實驗
安裝httpd和插件
yum install -y httpd
yum install -y curl
systemctl start httpd ##重啓

查看Apache版本信息
curl -I 192.168.100.10
在這裏插入圖片描述
把虛擬機添加一塊網卡設置橋接模式,連上網可以查到淘寶等之類的版本信息

修改自己的版本信息
tar -zxvf httpd-2.4.38.tar.gz -C /usr/local/src/
cd /usr/local/src/httpd-2.4.38/
vim include/ap_release.h
在這裏插入圖片描述
安裝依賴環境
yum -y install gcc gcc-c++ apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre openssl*

刪除之前安裝的httpd
yum -y remove httpd

cd /usr/local/src/httpd-2.4.38/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-ssl --enable-mpms-shared=all

Make && make install ##編譯安裝

主配置文件
vim /usr/local/httpd/conf/httpd.conf
ServerName localhost:80 #修改這一行,加快重啓
在這裏插入圖片描述

修改默認首頁的內容
echo “xiaolaji” >> /usr/local/httpd/htdocs/index.html

設置Apache啓動腳本
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd #在第一行添加兩行
#chkconfig: 2345 11 88
#despriction: Web S
在這裏插入圖片描述
ll !$ 查看腳本權限

在這裏插入圖片描述

設置開機自啓
chkconfig --add httpd

systemctl start httpd ##啓動服務

ln -s /usr/local/httpd/bin/* /usr/local/bin/ ##添加path環境變量

測試訪問網頁
在這裏插入圖片描述
測試
curl -I 192.168.100.10 ##現在看不到Apache的版本內容了

在這裏插入圖片描述

隱藏版本號

修改配置文件
vim /usr/local/httpd/conf/httpd.conf
495 Include conf/extra/httpd-default.conf #495行去掉註釋
vim /usr/local/httpd/conf/extra/httpd-default.conf

[root@cong11 ~]# vim /usr/local/httpd/conf/extra/httpd-default.conf
改:
55 ServerTokens Full
65 ServerSignature Off
爲:
55 ServerTokens Prod
65 ServerSignature On

在這裏插入圖片描述
重啓服務 systemctl restart httpd

測試
curl -I 192.168.100.10
發現版本號沒有了
在這裏插入圖片描述

查看運行Apache的默認用戶

查看運行賬號
ps -axu | grep httpd
在這裏插入圖片描述
創建Apache用戶
useradd -M -s /sbin/nologin apache

vim /usr/local/httpd/conf/httpd.conf
在這裏插入圖片描述

設置整個httpd目錄權限爲Apache
chown -R apache:apache /usr/local/httpd

設置apache的網站目錄屬主和屬組爲daemon
chown -R daemon:daemon /usr/local/httpd/htdocs/

網頁目錄文件權限快速恢復
find /usr/local/httpd/htdocs -type f -exec chmod 644 {} ;
find /usr/local/httpd/htdocs -type d -exec chmod 755 {} ;

保護Apache日誌 設置好apache日誌文件權限
chown -R root:root /usr/local/httpd/logs/

systemctl restart httpd ##重啓服務

Apache禁止目錄遍歷

(如果用戶訪問的時候要下載或上傳的情況下,最好不要禁止)

在網站目錄下創建目錄
mkdir /usr/local/httpd/htdocs/{shadiao,asd,cxkdalanqiu.html}

移動index.html到opt下
mv /usr/local/httpd/htdocs/index.html /opt/
在這裏插入圖片描述
測試訪問網頁

發現自己的目錄暴露在網頁裏

禁止目錄遍歷
修改httpd.conf配置文件
vim /usr/local/httpd/conf/httpd.conf
242 Options Indexes FollowSymLinks #去掉Indexes
242 Options FollowSymLinks

在這裏插入圖片描述
systemctl restart httpd ##重啓服務

測試訪問網頁
在這裏插入圖片描述
這樣自己的隱私不會暴露
在吧index.html移動回去
mv /opt/index.html /usr/local/httpd/htdocs/

測試
在這裏插入圖片描述

Apache日誌分割

修改httpd.conf配置文件
vim /usr/local/httpd/conf/httpd.conf
修改
ErrorLog “logs/error_log”
爲:
ErrorLog “|/usr/local/httpd/bin/rotatelogs -l logs/error_%Y%m%d.log 86400”
修改:
CustomLog logs/access_log common
爲:
CustomLog “|/usr/local/httpd/bin/rotatelogs -l logs/access_%Y%m%d.log 86400” combined

在這裏插入圖片描述
在這裏插入圖片描述
Systemctl restart httpd ## 重啓

測試
ls /usr/local/httpd/logs/
在這裏插入圖片描述

使用cronolog進行日誌切換

tar zxf cronolog-1.6.2.tar.gz -C /usr/local/src/
cd /usr/local/src/cronolog-1.6.2/
./configure && make && make install ##預編譯 編譯安裝

生成命令位置
find / -name cronolog

開啓虛擬主機
vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf ##開啓這一行
在這裏插入圖片描述

配置虛擬主機文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf ##粘貼修改紅色部分

在這裏插入圖片描述
配置hosts
Vim /etc/hosts
在這裏插入圖片描述

修改Windows主機hosts解析
修改C:\Windows\System32\drivers\etc下hosts在最後添加一行
192.168.100.10 www.mingliang.com
在這裏插入圖片描述
創建目錄和文件
mkdir -p /www/{html,logs}
echo “xiaolaji zhencai” >> /www/html/index.html

systemctl restart httpd ##重啓

訪問虛擬主機

在這裏插入圖片描述

設置錯誤頁面-開啓壓縮緩存功能

方法1
關閉虛擬主機
vim /usr/local/httpd/conf/httpd.conf
#Include conf/extra/httpd-vhosts.conf ##這行加上註釋

修改主配置文件
vim /usr/local/httpd/conf/httpd.conf ##添加254行這部分
228 <Directory “/usr/local/httpd/htdocs”>
…………
254 ErrorDocument 404 /404.html
#將404錯誤跳轉到/usr/local/httpd/htdocs下的404.html頁面上
255

在這裏插入圖片描述
創建404頁面
echo “404 qwer bangbang” > /usr/local/httpd/htdocs/404.html

重啓服務
systemctl restart httpd

測試,打開錯誤頁面
在這裏插入圖片描述

方法2

開啓虛擬主機
vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf ##去掉註釋

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf ##添加ErrorDocument 404 http://www.mingliang.com
在這裏插入圖片描述

創建虛擬主機頁面
mkdir -p /www/html
echo "cxk chang tiao rap lanqiu " >> /www/html/index.html
chown -R apache:apache /www/html/

修改hosts解析

修改Windows主機解析
我上面做了,這就不弄了

systemctl restart httpd ##重啓

測試 訪問錯的網頁
因爲我是在一方案基礎上做的,所以1上的也在,單做就沒事了

啓用壓縮模塊mod_deflate

模塊檢查

#apachectl -M | grep mod_deflate
deflate_module (static) #彈出此種結果,則爲編譯安裝時裝的
deflate_module (shared) #彈出此種結果,則爲DSO方式安裝的,沒有彈出就沒有安裝

安裝mod_deflate 模塊

apxs -c -i -a /usr/local/src/httpd-2.4.38/modules/filters/mod_deflate.c

-c 此選項表明需要執行編譯操作。
-i 此選項表示需要執行安裝操作,以安裝一個或多個動態共享對象到服務器的modules目錄。
-a 此選項自動增加一個LoadModule行到httpd.conf文件中,以激活此模塊,或者,如果此行已經存在,則啓用之。

配置壓縮模塊
vim /usr/local/httpd/conf/httpd.conf #添加紅色部分

106 LoadFile /usr/lib64/libz.so #添加這一行
107 LoadModule deflate_module modules/mod_deflate.so #打開這一行
151
152 #LoadModule cgi_module modules/mod_cgi.so
153 #在這3行後面添加以下內容
154

在這裏插入圖片描述

重啓服務
systemctl restart httpd

創建測試文件
cp /etc/passwd /www/html/passwd.html

在360急速瀏覽器網頁上安裝yslow插件
在這裏插入圖片描述

打開passwd.html
在這裏插入圖片描述
打開插件
在這裏插入圖片描述
這個插件可能有點問題,我這個看不了
大概是下面圖片那樣
在這裏插入圖片描述
做的這裏就結束了,這是一小部分的Apache優化,做的不好請見諒,如果有什麼問題請小夥伴們留言,感謝!!

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