继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【linux基础知识11.22-11.4】

慕尼黑的夜晚无繁华
关注TA
已关注
手记 371
粉丝 60
获赞 318

原文链接:https://my.oschina.net/u/3804114/blog/1821448

访问日志不记录静态文件

apache的访问日志会记录网站每个文件被获取的信息,这样日志信息量会很大,我们排查日志的时候不容易筛选有用的记录。我们可以把静态文件的日志设置为不记录,提高我们排查日志信息的效率

在conf/extra/httpd-vhosts.conf/ 配置文件下进行设定:

<VirtualHost *:80>    ServerAdmin lgs@111.com
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias 111.com 123.com
  
    SetEnvIf Request_URI ".*\.gif$" img // 定义元素为img
    SetEnvIf Request_URI ".*\.jpg$" img
    SetEnvIf Request_URI ".*\.png$" img
    SetEnvIf Request_URI ".*\.bmp$" img
    SetEnvIf Request_URI ".*\.swf$" img
    SetEnvIf Request_URI ".*\.js$" img
    SetEnvIf Request_URI ".*\.css$" img
     ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common env=!img //指定非img的文件才记录日志。
</VirtualHost>

重新加载配置文件:

[root@lgs-02 ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK
[root@lgs-02 ~]# /usr/local/apache2.4/bin/apachectl graceful

再访问网站下的图片文件,查看日志已不在记录图片的访问日志了。

11.23 访问日志切割

随着网站访问量的增大,我们网站的访问日志文件也会变得很大,为了保持磁盘空间,方便访问日志的管理(备份、删除历史日志等。),我们可以进行日志切割,每天的访问日志独立切割出来。

在conf/extra/httpd-vhosts.conf/ 配置文件下进行设定:

<VirtualHost *:80>    ServerAdmin lgs@111.com
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias 111.com 123.com
   
    SetEnvIf Request_URI ".*\.gif$" img
    SetEnvIf Request_URI ".*\.jpg$" img
    SetEnvIf Request_URI ".*\.png$" img
    SetEnvIf Request_URI ".*\.bmp$" img
    SetEnvIf Request_URI ".*\.swf$" img
    SetEnvIf Request_URI ".*\.js$" img
    SetEnvIf Request_URI ".*\.css$" img
 
    ErrorLog "logs/111.com-error_log"CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%y%m%d.log 86400" common env=!img  //%y%m%d以年月日命名,86400秒即1天切割一次。rotatelogs使用apache的切割日志工具。
</VirtualHost>

11.24 静态元素过期时间

浏览器访问网站,获取的图片、css等静态元素会保存在本地电脑缓存文件夹里,方便下次再此访问的时候提高访问速度。我们也可以在服务器端设置这些静态元素的过期时间,可以减网站的带宽压力。

在conf/extra/httpd-vhosts.conf配置文件里设定:是通过expires模块实现的。在编译apache的时候指定了参数mods=most,就会编译这个模块进来。(确保在apache的httpd.conf中打开这个so模块。)

<IfModule mod_expires.c>ExpiresActive on  // 打开该功能的开关ExpiresByType image/gif "access plus 1 days"   //gif类型文件的失效时间是1天ExpiresByType image/jpeg "access plus 24 hours"ExpiresByType image/png "access plus 24 hours"ExpiresByType text/css "now plus 2 hour"ExpiresByType application/x-javascript "now plus 2 hours"ExpiresByType application/javascript "now plus 2 hours"ExpiresByType application/x-shockwave-flash "now plus 2 hours"ExpiresDefault "now plus 0 min"</IfModule>

可以根据自己的需求对每种静态元素类型单独设置。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP