Nginxawstatsのシンプルな構成



Nginx Awstats Simple Configuration



Awstatsは、SourceForgeで非常に高速に開発されたPerlベースのWEBログ分析ツールです。 Awstatsの操作には、PERL環境からのサポートが必要です。 awstatsのドキュメントから、ApacheHTTPサーバー用です。サポートは完璧で、Nginxを使用すると、awstatsの実行が面倒になります。 [color = red]まず第一に、Perlに対するNginxのサポートは比較的弱く、公式でもそれを推奨していません。実行する前にログ形式を変更する必要があります。 awstats [/ color]を使用して静的に公開する良い方法があります

この記事では、perlfastcgiではなくawstatsを使用した静的リリースについて説明します。 perl fastcgiを使用する必要はないと思います。nginxはあまり便利ではなく、静的リリースを使用できます。

最初のステップは、nginxログをawstatsが分析できる形式にカットすることです。具体的には、前のブログを見ることができます:[url = http://saplingidea.iteye.com/blog/482738]nginxログ管理スクリプト[/ url]
Nginxログカットスクリプト(cutlogs.sh)
#!/bin/sh
cd /var/log/nginx/
mv sendsadmin.access.log sendsadmin.access.$(date +%Y%m%d).log
mv error.log error.$(date +%Y%m%d).log
sudo kill -USR1 `cat /usr/local/web/nginx762/logs/nginx.pid`


find /var/log/nginx/ -name 'sendsadmin.access.*' -type f -mtime +30 -exec rm {} > /dev/null 2>&1
find /var/log/nginx/ -name 'error.*' -type f -mtime +30 -exec rm {} > /dev/null 2>&1


nginxログ形式を定義します。
log_format main '$remote_addr - $remote_user [$time_local] '
''$request' $status $body_bytes_sent '$http_referer' '
''$http_user_agent' '$http_x_forwarded_for''


perlがインストールされているか確認してください。インストールされていない場合は、最初にperlをインストールしてください。
perl -version

Awstatsのインストール
tar zxvf awstats-6.9.tar.gz
sudo cp -rf awstats-6.9 /usr/local/awstats
cd /usr/local/awstats/
tools/awstats_configure.pl
mkdir /var/lib/awstats


-----> Webサーバーのインストールを確認しますこれは何も入力しません。
----->作成する構成ファイル名を定義しますこれは構成ファイルの名前です。通常、ドメイン名が使用されます。
他のデフォルトは問題ありません。

以下をawstats設定ファイルに追加します
vi /etc/awstats/awstats.isends.conf
LogFile='/var/log/nginx/sendsadmin.access.%YYYY-0%MM-0%DD-0.log'
Comment #LogFormat=1
LogFormat='%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot %otherquot'


テストの成功
/bin/bash /usr/local/web/nginx762/conf/cutlogs.sh
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=isends


ログディレクトリを作成し、ログファイルを生成します
mkdir -p /home/workhome/www/sendsadmin/weblog/isends
chown ftp:ftp /home/workhome/www/sendsadmin/weblog/isends

/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=isends -dir=/home/workhome/www/sendsadmin/weblog/isends -lang=cn -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl


上記のすべてのテストは、スケジュールされたタスクに追加できます。
sudo vi /etc/crontab
56 23 * * * root /bin/bash /usr/local/web/nginx762/conf/cutlogs.sh
58 23 * * * root /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=isends -dir=/home/workhome/www/sendsadmin/weblog/isends -lang=cn -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl


仮想ホストを構成します。各ユーザーの設定は異なる場合があります(設定コードはgb2312であることに注意してください)。
location ~ ^/sendsadmin/weblog/
{
access_log off
error_log off
charset gb2312
}

location ~ ^/icon/
{
root /usr/local/awstats/wwwroot
access_log off
error_log off
charset gb2312
}


次に、次の方法で結果を表示できます:http://domainname/sendsadmin/weblog/isends/awstats.isends.html