nginxでvisitorsを使う
nginxが生成したログを、Visitorsで解析/表示するように設定してみました。
サーバとして「さくらのVPS 2G」を利用し、その上で”nginx with FastCGI on Ubuntu”が動いています。
以下、作業ログです。
nginxのログをApache2互換形式に変更する。
$ sudo vi /etc/nginx/nginx.conf http { ## # Logging Settings ## log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; }
解析結果出力用ディレクトリにアクセス制限を掛ける。
$ sudo vi /etc/nginx/sites-available/default server { location ^~ /visitors/ { auth_basic "basic authentication"; auth_basic_user_file /etc/nginx/.htpasswd; } } $ sudo service nginx restart
インストールと動作テスト。
$ sudo aptitude install visitors $ mkdir /home/USER01/www/visitors $ visitors -GKZURDOBXYS -m 50 /var/log/nginx/access.log -P http://www.hide10.com -f /home/USER01/www/visitors/index.html
logrotateの設定確認。必要なら変更する。
$ cat /etc/logrotate.d/nginx /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` endscript }
cron.dailyに登録する。
$ sudo vi /etc/cron.daily/0_visitor #!/bin/sh visitors -GKZURDOBXYS -m 50 /var/log/nginx/access.log -P http://www.hide10.com -f /home/USER01/www/visitors/index.html $ sudo chmod 755 /etc/cron.daily/0_visitor
以上です。
ディスカッション
コメント一覧
まだ、コメントがありません