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的后台登录。