2.0 Apache日志切割


vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

 LAMP架构搭建与优化(2.0-2.4)_配置文件

common表示日志的类型名字,可以在主配置文件看到日志的格式

vim /usr/local/apache2/conf/httpd.conf

前面是格式,后面的名字,也可以自定格式跟名字

 LAMP架构搭建与优化(2.0-2.4)_配置文件_02

 LAMP架构搭建与优化(2.0-2.4)_配置文件_03

%h表示来源IP,%l(远程登录名字)%u(用户)不存在就用- 来代替了,%t时间,%r动作,%{Referer}就是你访问的时候它从哪里来的(论坛的主页),%{User-Agent}就是浏览器的标识,也可以去Apache官网查看这些参数


现在用combined格式

apachectl graceful

可以看到在/usr/local/apache2/logs/生成两个文件

 LAMP架构搭建与优化(2.0-2.4)_浏览器_04


为了防止磁盘被撑爆,以时间格式的日志来做访问日志切割,日志是按天分割的 LAMP架构搭建与优化(2.0-2.4)_local_05

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

 LAMP架构搭建与优化(2.0-2.4)_配置文件_06后面加上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

 LAMP架构搭建与优化(2.0-2.4)_配置文件_07

用到了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,就是缓存一天的时间,这就是配置静态缓存

 LAMP架构搭建与优化(2.0-2.4)_local_08

多了一个max-age=86400  一天



2.3 Apache配置防盗链(不让其他网站上有来自自己网站上的图片,这样是为了不让其他网站消耗自己网站的带宽资源)

Referer是一个变量名,简单来说Referer,你这个网站上一次它所在的那一个网站的路径就是它的Referer

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

 LAMP架构搭建与优化(2.0-2.4)_浏览器_09test域名时白名单,在其他站点引用到test域名里的图片到其他站点上会403

apachectl  restart




2.4 Apache访问控制(设置黑白名单)

通过访问日志可以看到哪个访问的IP比较多,如果不想让那个IP访问,就可以把它禁用掉

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

 LAMP架构搭建与优化(2.0-2.4)_local_10

用curl来测试一下

 LAMP架构搭建与优化(2.0-2.4)_local_11上面是一种方式,还有另一种方式是限制URI;下面包含admin的这样请求,这是设置了白名单了,先deny再allow,这个admin是discuz的后台登陆。

 LAMP架构搭建与优化(2.0-2.4)_浏览器_12再用curl来测试一下

 LAMP架构搭建与优化(2.0-2.4)_local_13