当前位置: 首页 > news >正文

百度网站风格windows优化大师有什么功能

百度网站风格,windows优化大师有什么功能,上传网站怎么安装,好用的搜索引擎Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。无论是在大流量的网站还是小型的个人博客中,Nginx都得到了广泛应用。在实际生产环境中,对Nginx日志的分析有助于我们了解网站的访问情况,发现潜在问题…

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。无论是在大流量的网站还是小型的个人博客中,Nginx都得到了广泛应用。在实际生产环境中,对Nginx日志的分析有助于我们了解网站的访问情况,发现潜在问题并进行优化。本文将通过编写Shell脚本,实现对Nginx日志的全面统计分析。

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"';

假设我们的日志文件名为access.log

Shell脚本实现

接下来,我们编写一个Shell脚本,对Nginx日志进行统计分析。这个脚本包括以下功能:

  1. 统计各种状态码的数量

  2. 统计访问最多的Referer

  3. 统计访问最高的URI

  4. 统计访问最多的IP和User-Agent

  5. 统计每分钟的请求数、流量、请求时间、状态码等

脚本代码实现

  1. 统计各种状态码的数量
awk '
{Arry[$12] += 1;  total++;  
}
END {for (s in Arry) {printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s}
}
' $LOG_FILE | sort -nr -k 1,1
  • Arry[$9] += 1;:

    • $12 是日志文件的第十二个字段,通常表示 HTTP 状态码。

    • Arry 是一个关联数组,以 HTTP 状态码为键,将每个状态码出现的次数累加到数组 Arry 中。

    • Arry[$9] += 1; 表示状态码 $9 出现的次数加 1。

  • total++;:

    • 记录总的日志行数。
  • for (s in Arry):

    • 遍历数组 Arry 中的每个状态码 s
  • printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s:

    • 打印每个状态码的出现次数、占比和状态码本身。

    • Arry[s] 是状态码 s 出现的次数。

    • Arry[s] / total 是该状态码出现的比例(占总请求数的百分比)。

    • s 是状态码。

    • 输出格式为:出现次数\t 比例\t 状态码。

运行上述的命令,输出如下结果:

统计各种状态码的数量

  1. 统计访问最多的Referer
    awk -F\" '{Arry[$4] += 1;  # 将每个引用的字段($4)出现的次数累加到数组Arry中total++;        # 记录总的日志行数}END {for (s in Arry) {  # 遍历数组Arry中的每个引用字段printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s  # 打印每个引用字段的出现次数、占比和引用字段本身}}' $LOG_FILE | sort -nr -k 1,1  # 按出现次数降序排序

执行上述命令后,输出如下图的结果:

统计访问最多的Referer

  1. 统计访问最高的URI
    awk  '{Arry[$9] += 1;  # 将每个引用的字段($18)出现的次数累加到数组Arry中total++;        # 记录总的日志行数}END {for (s in Arry) {  # 遍历数组Arry中的每个引用字段printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s  # 打印每个引用字段的出现次数、占比和引用字段本身}}' $LOG_FILE | sort -nr -k 1  # 按出现次数降序排序 

执行上述命令后,输出如下图的结果:

统计访问最高的URI

  1. 统计访问最多的IP和User-Agent
  • 统计最多IP访问次数
    awk '{Arry[$1] += 1;  # 将每个IP地址出现的次数累加到数组Arry中total++;        # 记录总的日志行数}END {for (s in Arry) {  # 遍历数组Arry中的每个IP地址printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s  # 打印每个IP地址的出现次数、占比和IP地址本身}}' $LOG_FILE | sort -nr -k 1,1

执行上述命令后,输出如下图的结果:

统计最多IP访问次数

  • 统计最多访问的User-Agent
awk  '{Arry[$18] += 1;  # 将每个引用的字段($18)出现的次数累加到数组Arry中total++;        # 记录总的日志行数}END {for (s in Arry) {  # 遍历数组Arry中的每个引用字段printf "%d\t%.4f\t%s\n", Arry[s], Arry[s] / total, s  # 打印每个引用字段的出现次数、占比和引用字段本身}}' $LOG_FILE | sort -nr -k 1  # 按出现次数降序排序

执行上述命令后,输出如下图的结果:

统计访问统计访问

  1. 统计每分钟的请求数、流量、请求时间、状态码等
awk -F '|' 'BEGIN {printf "时间\t数量\t流量[MB]\t请求时间\t20x\t30x\t40x\t50x\t60x\n"}{# 提取时间的分钟部分minute = substr($2, 12, 5)# 累计流量、请求数和请求时间tms[minute] += $13cnt[minute] += 1reqt[minute] += $15# 统计状态码status_code = $9if (status_code ~ /^2/) { sc20x[minute]++ }else if (status_code ~ /^3/) { sc30x[minute]++ }else if (status_code ~ /^4/) { sc40x[minute]++ }else if (status_code ~ /^5/) { sc50x[minute]++ }else { sc60x[minute]++ }}END {for (t in tms) {printf "%s\t%d\t%.4f\t%.4f\t%d\t%d\t%d\t%d\t%d\n",t,cnt[t],tms[t] / 1024 / 1024,(cnt[t] > 0 ? reqt[t] / cnt[t] : 0),sc20x[t],sc30x[t],sc40x[t],sc50x[t],sc60x[t]}}' "$LOG_FILE"

执行上述命令后,输出如下结果:

总结

通过上述Shell脚本,我们可以快速、全面地分析Nginx日志,了解网站的访问情况和性能表现。这不仅有助于我们发现潜在问题,还能为后续的优化工作提供有力的数据支持。在实际应用中,你可以根据自己的需求,进一步扩展和定制这个脚本。

脚本获取方式


上述脚本已经上传上传到gitee,有需要的小伙伴可以自行获取。gitee上的仓库主要是分享一些工作中常用的脚本。小伙伴可以frok或者watch仓库,这样有更新可以及时关注到。

脚本仓库

仓库地址:

https://gitee.com/didiplus/script

推荐阅读


  • 不再担心数据丢失:用rsync打造你的自动化备份解决方案
  • IP地址乱成一团?用Shell一键搞定!
  • 实用技巧,用lsof命令监控tar文件解压进度,简单有效
  • 运维必备:批量实现Linux机器SSH免密登录的自动化脚本
  • 运维小妙招:如何让系统信息随登录自动展现?

http://www.yayakq.cn/news/806610/

相关文章:

  • wordpress 网站模板品牌推广公司排名
  • 林州网站建设策划企业网站404页面设计
  • 厦门网站设计公司欧美农庄网站模板
  • 建设政务网站报告做企业展示网站
  • 网站的设计路线金山开发
  • 找网站做关于家乡的网页制作教程
  • 医疗器械有限公司重庆seo结算
  • 献县网站建设做的网站怎么上传图片
  • 普拓网站建设企业管理培训视频免费
  • 成都wap网站建设南通网站建设入门
  • 职业学校网站模板爱站网是什么
  • 杭州做网站的优质公司做会展网站的关键词
  • 成都网站建设新闻网络销售有哪些模式
  • 深圳市做网站的有那些公司淄博网站建设哪家好
  • 自己做首饰的好网站临沂做过网站的公司
  • 网站 关于我们 模板珠海哪个公司建设网站好
  • 汉字域名的网站淄博做网站优化
  • 网站备案是自己可以做吗乐视网站建设目标
  • 网站怎么做营销门户网站建设价格
  • 网站改造萍乡专业的企业网站建设公司
  • 东莞企业网站制作怎么做如何修改网站后台密码
  • 帮公司制作一个网站是如何收费wordpress的时间
  • 怎么建设手机网站wordpress 有没有上级目录的写权限
  • 备案ip 查询网站查询网站wordpress速度优化
  • 优质网站建设的设计要点二维码生成器软件下载
  • 网站做的比较好的网络营销思路
  • 做国际网站的上海高端网站公司番禺附近网站建设推广
  • 双语网站后台怎么做网站信息内容建设
  • 湛江手机网站制作seo软件服务
  • 外贸公司没网站磁力宝最佳搜索引擎入口