栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux nginx 玩转日志模块

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux nginx 玩转日志模块

NGINX 日志 访问日志配置规则
    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 # 日志格式

  1. $remote_addr #远程地址,记录客户端ip地址
  2. $remote_user #远程访问用户
  3. [$tune_local] 服务器自身时间
  4. $request #请求,记录请求的url和http协议
  5. $status # 状态,记录http请求状态码
  6. $body_bytes_sent # 发送给客户端的字节数,不包括响应头的大小
  7. $http_referer #记录从哪个页面链接访问过来的
  8. $http_user_agent #记录客户端浏览器代理相关信息
  9. $http_x_forwarded_for #代理Ip
个性化404错误页配置
server{
     listen 80; # 监听端口
     server_name  dalei.com;#服务器域名
     
	error_page 404 /404.html; #定义错误页
	#实际404定位位置
	location = /404.htnl {
	root /dalei;#页面资源路径
	}
}

在dalei 文件夹下创建404.html页面

systemctl restart nginx #重启nginx

重启后访问不存在的页面就会跳转到dalei文件夹下的404.html页面

日志缓存
  1. 当大量访问到来时,对于每一条日志记录,都将是先打开文件,在写入日志,然后关闭,占用了系统IO与业务无关,如何节省IO可以使用open_log_file_cache max=1000 inactive=20s min_uses=3 valid=1m; 来设置。
  1. max=1000 指的是日志文件的FD(文件描述符),最大的缓存数量为1000,
  2. inactive=20s 用户不活跃时间,每20秒检测一次
  3. min_uses=3 20秒内小于3次访问FD,就清理掉FD,结合inactive 20s 的时间
  4. valid=1m 检测周期为1分钟

总结:
缓存最大支持开启1000个FD(日志文件),到了极限每分钟开始清除掉,20秒内小于3次的文件FD。
官方不建议打开,日志缓存虽然节省了磁盘,但是增大了内存资源占用

日志轮转/切割
  1. nginx 安装,会默认启动日志轮转
  2. rpm -ql nginx|grep log # 查找日志轮转文件
# 表示轮转切割/var/log/nginx/下的所有日志文件
/var/log/nginx/*.log {
        daily  #轮转周期以天为单位
        missingok  #日志丢失不提示
        rotate 52  #保留 52天日志
        compress #文件压缩
        delaycompress # 延迟压缩(避开文件切割处理)
        notifempty  #空文件不轮转
        create 640 nginx adm #创建轮转日志文件,权限与文件所属用户和组
        sharedscripts
        #重启
        postrotate
                if [ -f /var/run/nginx.pid ]; then
                        kill -USR1 `cat /var/run/nginx.pid`
                fi
        endscript
}
日志分析

网站ip,pv,uv都可以使用日志分析后得出

UV统计 awk '{print $10}' host.access.log | sort -r |uniq -c |wc -l
独立IP awk '{print $1}' host.access.log | sort -r |uniq -c | wc -l
总PV awk '{print $6}' host.access.log | wc -l
统计当个页面访问量 grep index.html host.access.log | wc -l

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/866290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号