inxログ記録及びログカットしない
1658 ワード
inxのアクセスログでは、私たちは多くの画像のアクセスログを見つけることができます。これらのものは何の役割もありません。我々はinxにこれらのものに対するアクセスを記録しないように設定できます。
私たちはこの仮想マシンサーバのログを単独で記録することができます。inxのプロファイルの種類については、ログフォーマットの別名を「test」として設定しました。
ログカット:
nginxはappcheのlogrotateのような切断ツールがないので、自分で書く必要があります。スクリプトは以下の通りです
私たちはこの仮想マシンサーバのログを単独で記録することができます。inxのプロファイルの種類については、ログフォーマットの別名を「test」として設定しました。
server
{
listen 80;
server_name www.test.com www.123.com;
index index.html index.htm index.php;
root /data/www;
access_log /tmp/logs/access_log test; #
if ($host != 'www.test.com') {
rewrite ^/(.*)$ http://www.test.com/$1 permanent;
}
location ~ .*forum\.php$ {
auth_basic "auth";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
location ~ .*\.(gif|jpg|png|jpeg|bmp|swf)$ { #
access_log off;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
}
ログを作成する場所:mkdir /tmp/logs
設定ファイルを再読み込みした後、フォーラムにアクセスすると、ログの種類は上記の拡張子の最後の画像のアクセス記録ではないことが分かります。ログカット:
nginxはappcheのlogrotateのような切断ツールがないので、自分で書く必要があります。スクリプトは以下の通りです
cat nginx_logrotate.sh
#!/bin/bash
#nginx
d=`date -d "-1 day" +%F`
mv /tmp/logs/access_log /tmp/logs/$d.log #
/etc/init.d/nginx reload > /dev/null # ,
gzip -f /tmp/logs/$d.log # , ,-f
上のスクリプトを実行し、スクリプト実行命令をcont計画タスクに書き込むだけでいいです。