Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78566
  • 博文数量: 29
  • 博客积分: 2040
  • 博客等级: 大尉
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-21 22:25
文章分类
文章存档

2011年(1)

2010年(13)

2009年(11)

2008年(4)

我的朋友

分类: LINUX

2010-03-06 13:05:07

文件: shell.rar
大小: 2KB
下载: 下载
Awstats安装需求:

1.  Awstats的日志报告生成是通过perl脚本实现,所以系统需要安装有perl

2.  Nginxperl的支持并不好,官网也不建议在nginx中调有perl脚本,所以使用perl-fcgi连接nginxperl。(跟spawn-fcgi连接nginxphp 是一个原理)。

 

一.安装nginxperl-fcgi支持

安装Perl-fcgi模块:

wget http:///modules/by-module/FCGI/FCGI-0.67.tar.gz

tar -zxvf FCGI-0.67.tar.gz

cd FCGI-0.67

perl Makefile.PL

make && make install

也可以使用如下方法安装:

perl -MCPAN -e 'install FCGI'

安装FCGI-ProcManager

wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.18.tar.gz

tar -xzxf FCGI-ProcManager-0.18.tar.gz

cd FCGI-ProcManager-0.18

perl Makefile.PL

make

make install

 

PerlFastCGI启动脚本:perl-fcgi.pl

 

nginx添加fastcgi支持:

location ~* .*\.pl$
{
        include fcgi_perl_params;
}

 

再装fcgi_perl_params复制到nginx.conf所在目录。

 

per-fcgi.pl有这么一行:

$socket = FCGI::OpenSocket( "/var/nginx/run/fcgi_perl.sock", 10 )

/var/nginx/run/fcgi_perl.sock要保证/var/nginx/run这个目录存在,或者替换其它位置。

同时fcgi_perl_params文件中的fastcgi_pass unix:/var/nginx/run/fcgi_perl.sock;也要作相应的更改

 

启动perl-fcgi.sh脚本

       ./perl-fcig.pl &

 

至此,nginx添加fastcgi支持完成,为了使每次服务器重启,per-fcgi支持都生效,需将perl-fcgi.sh脚本放入启动脚本。

 

二.安装awstats

下载awstats-6.95.tar.gz。解压

tar xvf awstats-6.95.tar.gz

awstats的目录结构:

awstats

  |----doc(帮助文档)

  |----wwwroot(站点目录)

  |----tools(一些perl脚本)

  |----README.TXT

 

设置awstats站点(我这里awstats的存放目录是/opt/dtweb/

 

location /awstatsicon/
{
   alias /opt/dtweb/awstats/wwwroot//icon/;
}
 
location / awstatsclasses /
{
   alias /opt/dtweb/awstats/wwwroot/awstatsclasses /;
}
 
location /awstatscss/
{
   alias /opt/dtweb/awstats/wwwroot/awstatscss/;
}

 

location /awstats/
{
   alias /opt/dtweb/awstats/wwwroot/cgi-bin/;
}

 

设置nginx日志格式(apachercombined日志格相同)

修改log_format为如下:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent"';

 

配置awstats.conf

/opt/dtweb/awstats/wwwroot/cgi-bin/下复制awstats.model.conf/etc/awstats.dtedu.conf.

 cp /opt/dtweb/awstats/wwwroot/cgi-bin/awstats.model.conf /etc/awstats.dtedu.conf

vi /etc/awstats.dtedu.conf.

以下几个参数是必须设置的:

LogFile=”<日志路径>”  这里是:LogFile="/var/nginx/logs/dtedu.access.log"

LogType=”<日志类型>”. 默认是W,weblog, 不需要修改

LogFormat=”<日志格式>”  默认是1, apachecombined格式。因为我们已经设置日志格式为apachercombined格式,所以不需要修改

SiteDomain=”<站点名>” 站点对外访问的域名。例如

参数的具体说明与以及其它一些参数的说明,请参见docs.

 

配置完成后,执行以下命令生成dtedu静态的数据文件:

perl awstats.pl -config=<配置文件站点名> -update

这里的是:perl awstats.pl -config=dtedu –update (配置文件为awstats.dtedu.conf)

 

因为生成的是静态数据文件,所以要将该命放放入crontab中定时执行,以便我们获取动态日志信息。

 

至从,输入网址> /awstats.pl?config=dtedu查看站点dtedu的日志结果

 

 

碰到问题
在使用unix socket时,碰到两个问题
1.
socket的目录没有写权限,添加上解决
2.nginx
连不上socket, 看日志提示没有权限,在创建了socket后添加一句
chmod  755
/var/nginx/run/fcgi_perl.sock

阅读(2350) | 评论(0) | 转发(0) |
0

上一篇:cacti安装

下一篇:Awstats 纯真IP库安装

给主人留下些什么吧!~~