宁波网络公司-浙江海商网nginx+awstats安装过程

宁波网络公司-浙江海商网 nginx+awstats安装过程

目标:用awstats分析对象nginx的日志

简要:
一、配置nginx日志,并每天定时用脚本切割日志,统计机器同步切割后日志
二、配置统计机器,实现nginx+awstats,并自动读取/刷新日志


宁波网络公司-浙江海商网 配置步骤如下:


一、对nginx端的修改

   1、60.190.1.90
     
      (1) 修改nginx配置
      vi /data/software/nginx/conf/nginx.conf
      修改如下:
      log_format access '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" $http_x_forwarded_for';
      access_log /data/software/nginx/logs/accessEn90.log access;
      #access_log   off;

      service nginx reload
     
      (2) 切割nginx日志脚本,并把切割后日志发送到统计机器
      vi /data/sh/cut_nginx_log.sh

        #!/bin/bash
    #把脚本加入到自动任务里面,每天晚上0点0分自动执行
    # crontab -u root -e
    # 00 00 * * * /data/sh/cut_nginx_log.sh
    # service crond restart

    # The Nginx logs path
    logs_path="/data/software/nginx/logs/"

    mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
    mv ${logs_path}accessEn90.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/accessEn90_$(date -d "yesterday" +"%Y%m%d").log
    kill -USR1 `cat /data/software/nginx/logs/nginx.pid`
      
      chmod 777 /data/sh/cut_nginx_log.sh

      (3) 设置crontab,每天凌晨00:00切割nginx访问日志:
       crontab -u root -e
       输入以下内容:
       00 00 * * * /data/sh/cut_nginx_log.sh
       service crond restart

   2、60.190.1.83
      vi /data/software/nginx/conf/nginx.conf
           修改中文版应用片段如下:
           log_format access '$remote_addr - $remote_user [$time_local] "$request" '
                 '$status $body_bytes_sent "$http_referer" '
                             '"$http_user_agent" $http_x_forwarded_for';
           access_log /data/software/nginx/logs/accessCn83.log access;
           #access_log   off;

      service nginx reload

   3、210.83.80.207
      vi /data/software/nginx/conf/nginx.conf
           修改英文版应用片段如下:
           log_format accessEn '$remote_addr - $remote_user [$time_local] "$request" '
                 '$status $body_bytes_sent "$http_referer" '
                             '"$http_user_agent" $http_x_forwarded_for';
           access_log /data/software/nginx/logs/accessEn207.log accessEn;
           #access_log   off;

           修改中文版应用片段如下:
           log_format accessCn '$remote_addr - $remote_user [$time_local] "$request" '
                 '$status $body_bytes_sent "$http_referer" '
                             '"$http_user_agent" $http_x_forwarded_for';
           access_log /data/software/nginx/logs/accessCn207.log accessCn;
           #access_log   off;

      service nginx reload

   4、统计机器同步切割后日志
      vi /data/sh/rsync_nginx_log.sh

#!/bin/bash

#把脚本加入到自动任务里面,每天晚上0点30分自动执行
#crontab -u root -e
#30 00 * * * /data/sh/rsync_nginx_log.sh
#service crond restart

# The Nginx logs path
logs_path="/data/software/nginx/logs/"


echo "------------- 开始拷贝60.190.1.90 Nginx日志文件 -------------"
rsync -artv  rsync@60.190.1.90::$logs_path$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/accessEn90_$(date -d "yesterday" +"%Y%m%d").log /data/logs/nginx/en --password-file=/data/sh/rsync.pwd --progress
echo ""


echo "------------- 开始拷贝60.190.1.83 Nginx日志文件 -------------"
rsync -artv  rsync@60.190.1.83::$logs_path$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/accessEn83_$(date -d "yesterday" +"%Y%m%d").log /data/logs/nginx/cn --password-file=/data/sh/rsync.pwd --progress
echo ""


echo "------------- 开始拷贝210.83.80.207 Nginx英文日志文件 -------------"
rsync -artv  rsync@210.83.80.207::$logs_path$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/accessEn207_$(date -d "yesterday" +"%Y%m%d").log /data/logs/nginx/en --password-file=/data/sh/rsync.pwd --progress
echo ""

echo "------------- 开始拷贝210.83.80.207 Nginx中文日志文件 -------------"
rsync -artv  rsync@210.83.80.207::$logs_path$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/accessCn207_$(date -d "yesterday" +"%Y%m%d").log /data/logs/nginx/cn --password-file=/data/sh/rsync.pwd --progress
echo ""

    chmod 777 /data/sh/rsync_nginx_log.sh
    crontab -u root -e
    30 00 * * * /data/sh/rsync_nginx_log.sh
    service crond restart

二、配置统计机器
前提:安装好nginx
配置文件见文件夹的nginx.conf

需要把nginx-fcgi.conf放到conf路径下


1、安装awstats
cd /data/software/
wget http://www.awstats.cn/files/awstats-7.0.tar.gz
tar zxvf awstats-7.0.tar.gz
mv awstats-7.0 awstats
cd awstats/tools/
perl awstats_configure.pl

安装过程很简单,由于不是标准的apache或IIS,所以在选择web服务的时候,设置为none,稍后手工修 改nginx配置。

awstats的配置文件路径最好设置为:/data/software/awstats/wwwroot/cgi-bin/下


2、安装 perl-FCGI 、perl-FCGI-ProcManager 和 perl-IO-ALL
cd /data/software/temp
wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.67.tar.gz
tar -zxf FCGI-0.67.tar.gz
cd FCGI-0.67
perl Makefile.PL
make && make install
cd ..

wget http://search.cpan.org/CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.18.tar.gz
tar -zxf FCGI-ProcManager-0.18.tar.gz
cd FCGI-ProcManager-0.18
perl Makefile.PL
make && make install
cd ..

wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/IO-All-0.39.tar.gz
tar zxf IO-All-0.39.tar.gz
cd IO-All-0.39
perl Makefile.PL
make && make install

3、安装 nginx-fcgi 脚本   
cd /data/software/nginx/sbin
wget http://www.nginx.eu/nginx-fcgi/nginx-fcgi.txt
mv nginx-fcgi.txt nginx-fcgi
chmod +x nginx-fcgi

如果不用 sudo 方式运行 nginx-fcgi,请注释掉 nginx-fcgi 脚本中的
if ( $> == "0" ) {
        print "\n\tERROR\tRunning as a root!\n";
        print "\tSuggested not to do so !!!\n\n";
        exit 1;
}

启动 nginx-fcgi:
./nginx-fcgi -l /data/software/nginx/sbin/nginx-fcgi.log -pid /var/run/nginx-fcgi.pid -S /var/run/nginx-fcgi.sock
chown nginx.nginx /var/run/nginx-fcgi.sock


4、修改awstats.jiaming.conf配置
vi /data/software/awstats/wwwroot/cgi-bin/awstats.jiaming.conf

LogFile="/data/software/awstats/tools/logresolvemerge.pl /data/logs/nginx/*.log|"

DirData="/data/software/awstats"

5、更新分析报告
perl /data/software/awstats/wwwroot/cgi-bin/awstats.pl -config=awstats.jiaming -update


6、查看分析报告
http://awstats.jiaming.com/cgi-bin/awstats.pl?config=awstats.jiaming

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值