免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1494 | 回复: 0
打印 上一主题 下一主题

让 Nginx 与 Awstats 的日志格式log format 统一 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-04 17:44 |只看该作者 |倒序浏览

   
        


        
        作者:
Fenng
| 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及
版权声明
网址:
http://www.dbanotes.net/techmemo/nginx_awstats_fastcgi_for_perl.html

        
   
   
        
            
配置好 Nginx 后,可能有的朋友还想用 Awstats 分析日志。如果另外再起一个 Apache ,觉得费二遍事。如果在 Nginx 上跑 Awstats ,还需要 FASTCGI 支持。配置的方法有些山寨。Nginx 尽管
提供 Perl 模块支持
,毕竟还是实验性质的。
对比了一些文章,决定还是用
nginx-fcgi
这个脚本。作者是 Daniel Dominik Rudnicki 。这个脚本要比
顺子
文中提到的要好一点。
该脚本中用到如下的 Perl 模块。所以使用前要确保相关 Perl 模块已经存在。要不,手工下载安装一下。
  • perl-FCGI
  • perl-Getopt
  • perl-IO
  • perl-Socket

使用命令示意:
/usr/local/nginx/nginx-fcgi -S /tmp/fastcgi.sock -l /var/log/nginx/nginx-fcgi.log
-pid /var/run/nginx-fcgi.pid
网上常见的那个脚本必须要显示的指定最为后台进程跑。不是很完善的方法。
注意事项:不能用 root 用户执行(会提示). 要用与 Nginx 相同身份的用户执行。否则可能会在 Nginx Log 中提示 Permision Denied 。
Nginx 中配置好 Log 格式:
log_format  main          '$remote_addr - [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer"'  
                          '"$http_user_agent" $http_x_forwarded_for';
相对应的 Awstats 中 Log 格式为:
LogFormat = "%host - %time1 %methodurl %code %bytesd %refererquot %uaquot"
其他的配置参考一下Sunnyu 的
"为了Awstats给Nginx添加FastCGI方式的Perl支持"
应该就成了。
BTW: 应该说,Nginx 能够有效抵挡搜索引擎爬虫对网站的影响。对于 Apache 来说,这是个很大的进步。
--EOF--
更新:如果手工写脚本做 Nginx 日志 logrotate 的话,注意不要简单的用 mv 命令, cp 然后 echo ''> 的方式更好。
推荐: Sina 张宴的
Nginx 0.7.x + PHP 5.2.6(FastCGI)搭建胜过Apache十倍的Web服务器
(第4版),这是目前关于 Nginx 最详细的实践文章。
        
   
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21717/showart_1812962.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP