2.0 Apache日誌切割apache
vim /usr/local/apache2/conf/extra/httpd-vhosts.confvim
common表示日誌的類型名字,能夠在主配置文件看到日誌的格式瀏覽器
vim /usr/local/apache2/conf/httpd.conf緩存
前面是格式,後面的名字,也能夠自定格式跟名字less
%h表示來源IP,%l(遠程登陸名字)%u(用戶)不存在就用- 來代替了,%t時間,%r動做,%{Referer}就是你訪問的時候它從哪裏來的(論壇的主頁),%{User-Agent}就是瀏覽器的標識,也能夠去Apache官網查看這些參數curl
如今用combined格式ide
apachectl graceful測試
能夠看到在/usr/local/apache2/logs/生成兩個文件網站
爲了防止磁盤被撐爆,以時間格式的日誌來作訪問日誌切割,日誌是按天分割的url
error比較少,access訪問量比較多,因此只作了access日誌切割,若是error也須要作,跟access同樣。
當你去訪問網站時,你會在/usr/local/apache2/logs/test.com-access_20160220_log有這麼一個文件
2.1 Apache 不記錄指定文件類型的日誌
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
後面加上env=!p_w_picpath-request是不去記錄上面有的一些靜態文件,=!等於非,Request_URI是一個變量名,www.test.com/*.png,*.png就是它的URI。
apachectl graceful
less /usr/local/apache2/logs/test.com-access_20151109_log 查看了日誌,都不會去記錄URI。
2.2 Apache 配置靜態緩存
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
用到了expires.c模塊,access plus 後面加上時間是緩存多久的時間。
註釋:
Expires 語法以下:
ExpiresByType type/encoding "<base> [plus] <num> <type>}*"
其中<base>是下列之一:
access
now (等價於'access')
modification
plus關鍵字是可選的。
<num>必須是整數,
<type>是下列之一:
years
months
weeks
days
hours
minutes
seconds
apachectl graceful
用curl來測試,多了一個max-age=86400,就是緩存一天的時間,這就是配置靜態緩存
多了一個max-age=86400 一天
2.3 Apache配置防盜鏈(不讓其餘網站上有來自本身網站上的圖片,這樣是爲了避免讓其餘網站消耗本身網站的帶寬資源)
Referer是一個變量名,簡單來講Referer,你這個網站上一次它所在的那一個網站的路徑就是它的Referer
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
test域名時白名單,在其餘站點引用到test域名裏的圖片到其餘站點上會403
apachectl restart
2.4 Apache訪問控制(設置黑白名單)
經過訪問日誌能夠看到哪一個訪問的IP比較多,若是不想讓那個IP訪問,就能夠把它禁用掉
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
用curl來測試一下
上面是一種方式,還有另外一種方式是限制URI;下面包含admin的這樣請求,這是設置了白名單了,先deny再allow,這個admin是discuz的後臺登錄。