一,日志格式
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format main1 '$proxy_add_x_forwarded_for - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"'; //此日志格式为,ip不仅记录代理的ip还记录远程客户端真实IP。
$remote_addr与$http_x_forwarded_for用以记录客户端IP地址,一个记录代理IP,一个记录真实IP;
$remote_user 用以记录客户端用户名称;
$time_local 用来记录访问时间与时区;
$request 用来记录请求的url与http协议;
$status 用来记录请求状态,成功是200;
$body_byte_sent 记录发送给客户端文件主体内容大小;
$http_referer 用来记录从哪个页面链接访问过来的;
$http_user_agent 记录客户端浏览器的相关信息;
二,定制日志
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
在虚拟主机配置文件中加入:
access_log /usr/local/nginx/logs/Nginx_access_log combined_realip;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
access_log /dev/null;
}
三,日志切割
需要自己编写脚本切割日志
vim /usr/local/sbin/logrotate.sh
#!/bin/bash
pid=`cat /usr/local/nginx/logs/nginx.pid`
d=`date -d "-1 day" +%Y%m%d`
mv /usr/local/nginx/logs/1.log /usr/local/nginx/logs/$d.log
kill -HUP $pid
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format main1 '$proxy_add_x_forwarded_for - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"'; //此日志格式为,ip不仅记录代理的ip还记录远程客户端真实IP。
$remote_addr与$http_x_forwarded_for用以记录客户端IP地址,一个记录代理IP,一个记录真实IP;
$remote_user 用以记录客户端用户名称;
$time_local 用来记录访问时间与时区;
$request 用来记录请求的url与http协议;
$status 用来记录请求状态,成功是200;
$body_byte_sent 记录发送给客户端文件主体内容大小;
$http_referer 用来记录从哪个页面链接访问过来的;
$http_user_agent 记录客户端浏览器的相关信息;
二,定制日志
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
在虚拟主机配置文件中加入:
access_log /usr/local/nginx/logs/Nginx_access_log combined_realip;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
access_log /dev/null;
}
三,日志切割
需要自己编写脚本切割日志
vim /usr/local/sbin/logrotate.sh
#!/bin/bash
pid=`cat /usr/local/nginx/logs/nginx.pid`
d=`date -d "-1 day" +%Y%m%d`
mv /usr/local/nginx/logs/1.log /usr/local/nginx/logs/$d.log
kill -HUP $pid
编辑回复