游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

14Nginx入门教程Nginx的日志功能

  1。Nginx日志功能介绍
  通常,在生产环境中使用Nginx进行反向代理和负载均衡或者各种其他处理时,良好的日志记录是非常关键的一环。通过精心配置的Nginx日志,我们可以获取用户的真实ip、浏览器信息,请求处理时间,请求URL等,这样方便我们排查和回溯错误。具体要记录哪些信息,可以通过Nginx中的logformat指令定义,由它定义日志的格式。而对于使用哪种日志格式和设置日志的保存路径则由accesslog指令指定的。另外在Nginx中还有一个配置服务器和请求处理过程中的错误信息的指令,那就是errorlog指令。最后,如果在配置的日志文件路径中使用了变量,我们可以通过openlogfilecache指令来设置缓存,提升性能。对于大型的网站而言,大量的http请求意味着大量的日志记录,及时按天或按大小进行Nginx日志备份也至关重要的。
  在Nginx的日志模块主要有2个,ngxstreamlogmodule和ngxhttplogmodule,分别表示四层的日志模块和七层的日志模块,其指令和用法都是一致的,接下来我们只针对http请求的日志进行说明和使用。2。日志相关指令说明
  在ngxhttplogmodule模块中,只3个指令,分别是accesslog、logformat和openlogfilecache。这些指令具体的格式如下:Syntax:accesslogpath〔format〔buffersize〕〔gzip〔level〕〕〔flushtime〕〔ifcondition〕〕;accesslogoff;Default:accessloglogsaccess。logcombined;Context:http,server,location,ifinlocation,limitexceptSyntax:logformatname〔escapedefaultjsonnone〕string。。。;Default:logformatcombined。。。;Context:httpSyntax:openlogfilecachemaxN〔inactivetime〕〔minusesN〕〔validtime〕;openlogfilecacheoff;Default:openlogfilecacheoff;Context:http,server,location
  ngxhttplogmodule模块用来按某个格式来记录请求的日志。模块中的logformat指令就是用来设置打印日志的格式,该指令中可以使用Nginx中的各种变量,比如保存远端ip地址的变量remoteaddr等。一个简单的示例如下:logformatmainremoteaddrremoteuser〔timelocal〕requeststatusbodybytessenthttprefererhttpuseragenthttpxforwardedfor;
  接下来是accesslog指令。参考前面的指令格式。关闭日志记录,直接是写accesslogoff,如果打开access日志,它的写法是:accesslogpath〔format〔buffersize〕〔gzip〔level〕〕〔flushtime〕〔ifcondition〕〕;path是指定日志的写入路径,默认写入logsaccess。log文件中。注意日志路径可以包变量,但是会一些限制。format就是指定打的日志格式,也就是前面logformat指令定义好的格式。每个格式会设置一个格式名,这里取对应的格式名称,默认使用预定义的combined。buffer用来指定日志写入时的缓存大小。默认是64k。gzip日志写入前先进行压缩。压缩率可以指定,从1到9数值越大压缩比越高,同时压缩的速度也越慢。默认是1。flush设置缓存的有效时间。如果超过flush指定的时间,缓存中的内容将被清空。if条件判断。如果指定的条件计算为0或空字符串,那么该请求不会写入日志。
  accesslog指令示例:确保Nginx源码编译时安装了zlib库accesslogpathtolog。gzcombinedgzipflush5m;mapstatusloggable{〔23〕0;default1;}if条件判断,如果请求的相应码是2xx或者3xx,那么loggable变量为0,这样请求日志不会被打印accesslogpathtoaccess。logmainifloggable;
  每一条日志记录的写入都是先打开文件再写入记录,然后关闭日志文件。如果你的日志文件路径中使用了变量,如accesslogvarlogshostaccess。log,为提高性能,可以使用openlogfilecache指令设置日志文件描述符的缓存。可以通过openlogfilecacheoff关闭该缓存。该指令的几个参数选项说明如下:max:设置缓存中最多容纳的文件描述符数量,如果被占满,采用LRU算法将描述符关闭。inactive:设置缓存存活时间,默认是10s。minuses:在inactive时间段内,日志文件最少使用几次,该日志文件描述符记入缓存,默认是1次。valid:设置多久对日志文件名进行检查,看是否发生变化,默认是60s。openlogfilecachemax100inactive15svalid1mminuses2;
  最后errorlog是错误日志配置指令,主要记录客户端访问Nginx出错时的日志,它不不支持自定义日志格式。通过检查错误日志,可以快速定位线上问题,所以也是很重要的。关闭错误日志的方式和accesslog不一样,没有errorlogoff这样关错误日志的用法,反而会将错误日志打到名为off的文件中。常用的关闭方式是:errorlogdevnull;
  就像在Linux系统中,输出到devnull的内容实际上等价于丢弃一样。3。Nginx日志切割
  Nginx的日志切割实现的核心是使用nginx命令的reopen参数实现,该参数的含义是重新开始记录日志文件。人工切的做法就是凌晨将日志备份,然后执行带reopen参数的命令:备份相关的日志〔rootserversbin〕mv。。logsaccess。log。。logsbakaccess20200204。log〔rootserversbin〕mv。。logserror。log。。logsbakerror20200204。log〔rootserversbin〕。nginxsreopen
  执行后会重新生成access。log和error。log,这就是手工切割的方式。通常我们会用shell脚本和定时任务来帮我我们完成自动切割。首先准备如下的shell脚本,它完成日志的备份以及给nginx进程发生reopen信号。!binbashNGXDIRrootnginxNGXLOGPATHNGXDIRlogsNGXLGOBAKPATHvarlogngxlogbakYESTERDAY(datedyesterdayYmd)mv{NGXLOGPATH}access。log{NGXLGOBAKPATH}access{YESTERDAY}。logmv{NGXLOGPATH}error。log{NGXLGOBAKPATH}error{YESTERDAY}。log想Nginx主进程发生USR1信号,等价于sreopen选项,重新打开日志文件killUSR1{NGXDIR}lognginx。pid
  接下来,只要将这个脚本加入到crontab中即可,如下操作:crontabe上面打开的页面中输入如下行:00rootnginxnginxlogrotate。sh查看定时任务crontabl00rootnginxnginxlogrotate。sh4。案例演示
  我们在nginx。conf中添加如下的日志配置:。。。http{logformatmainremoteaddrremoteuser〔timelocal〕requeststatusbodybytessenthttprefererhttpuseragenthttpxforwardedfor;mapstatusloggable{〔34〕0;default1;}accessloglogsaccess。logmainifloggable;server{listen8000;return2008000,server;}server{listen8001;return3008001,server;}server{listen8002;return4018002,server;}。。。}。。。
  这里我们综合了前面涉及的知识,这里只简单测试日志配置中if功能。我们设置请求的相应码为3xx和4xx时,日志不会记录。接下来,启动或者热加载Nginx,然后分别对应三个端口发送http请求并观察access。log日志:〔shenshen〕curlhttp:180。76。152。113:8000IHTTP1。1200OKServer:nginx1。17。6Date:Tue,04Feb202013:31:03GMTContentType:applicationoctetstreamContentLength:13Connection:keepalive〔shenshen〕curlhttp:180。76。152。113:8001IHTTP1。1300Server:nginx1。17。6Date:Tue,04Feb202013:31:06GMTContentType:applicationoctetstreamContentLength:13Connection:keepalive〔shenshen〕curlhttp:180。76。152。113:8002IHTTP1。1401UnauthorizedServer:nginx1。17。6Date:Tue,04Feb202013:31:08GMTContentType:applicationoctetstreamContentLength:13Connection:keepalive到Nginx主机上观察access。log日志,发现只有响应码为200的请求记录了日志〔rootservernginx〕tailflogsaccess。log171。82。186。225〔04Feb2020:21:33:240800〕HEADHTTP1。12000curl7。29。05。小结
  本小节我们介绍了log相关的指令,包括访问日志和错误日志的指令。此外还介绍了Nginx中对日志切割的常用处理方法,这也是生产环境上使用日志备份的手段。

支付宝刷脸支付用照片可以吗?在扫码支付刚刚出来的时候,就有人利用一些二维码病毒散播谣言,支付的安全性问题,也使很多不明真相的人相信自己的钱会被盗刷,甚至对扫码支付还产生了一种不信任的心理。人们虽然一……3599起售,小米11首次降价!高管玩狠的,自己都害怕一年一度618活动即将开启,各大手机厂商多款新品蓄势待发,上半年旗舰机迎来降价福利,小米商城宣布率先开球,小米11系列首次降价。小米商城宣布玩,就玩点狠的,一出手,就是王……领克的年轻化战略为什么做得如此成功?看完你就明白了近几年,用户年轻化成为汽车行业的新趋势之一,越来越多的的90后人群成为中国汽车消费的主力军。对于汽车产品来讲,今天的年轻消费者越来越注重、越来越关注彰显自我,因此想要得到他们认……资讯丨上海建筑设计研究院大咖莅临格瑞考察指导近日,上海建筑设计研究院专家访问团莅临格瑞参观指导。格瑞创始人董事长刘拴强博士、总经理何强勇博士、商用和集团事业部总经理等管理层对专家团的到来表示了热烈的欢迎,同时希望双方在今……年过完了,现在显卡降价了没有?到底是什么原因导致配件价格上涨导读新年好,作为2021年的第一篇文章,老程在这里先给大家拜个年,作为一个非常不称职的自媒体作者,老程这几天在家里没少喝酒,没少打牌,就是没更新文章,毕竟文章随时想写随时……为你量身定做!东风日产轩逸最新改款车,预计在年内亮相根据最新消息,日前,一组东风日产轩逸图片在网上曝光了,从图中我们可以清楚地看到该车是全新改款汽车,另外,该车预计在年内亮相。该车的具体表现如何,又有哪些亮点呢?下面跟随小编的脚……捷克大选落下帷幕,对华强硬派最终获胜,中捷关系或产生大变化?10月9日,历经长达两天的竞选,捷克众议院选举正式落下帷幕。捷克众议院累计有200个席位,而现任总理安德烈巴比什所在的党派ANO2011累计获得72个席位。中右翼联盟一起联合获……多平台智能识别,自定义一键连招,北通阿修罗2Pro体验测评双十一已经到来,大家最近都在买些什么呢?作为一个游戏玩家,在许多人都在囤日常用品的情况下,我最近都在关注各种游戏设备,手柄就是其中之一。而非常好运的是,在我准备下单买新手柄前,……连续阴雨天,如何治愈情绪低气压?近期连续阴雨天,湿度大,天气阴沉,人情绪感到失落,要是空气过于潮湿导致衣服不干、壁纸家具发霉等,心情就更阴郁了!人体感觉舒适的湿度范围是4065,当相对湿度达到90时,即……springaspect配合自定义注解实现接口token校验在项目开发中,通常对所有的接口都需要做接口token校验,为了保证代码简洁,可以使用springaspect加自定义注解方式进行token校验,具体的实现方式如下:一。新……华为P50Pro和iPhone12ProMax实力PK,结果目前,市面上最强的两款机型,当然也可能是最贵的华为P50Pro和iPhone12ProMax成为了各自阵营的实力担当。也许很多人觉得:华为没有自研芯片后,华为手机的实力将一落千……这才是618的亮点!月影家居联袂五菱,张继科亲手送豪车进入618大促,各大电商平台和品牌纷纷推出了五花八门的新玩法,但是总结起来无非就是打折、满减、明星出面送周边,消费者们也渐渐审美疲劳了。就在大家看破套路的时候,月影家居和五菱联……
爆款成了?绿厂奇兵机型K9s首销口碑出炉,网友认可度很高又到一年一度的双11电商大促,显然今年手机厂商都准备得很充分,甚至提前几天就开始了预热活动,比如OPPO早早就在开始了不套路双11预热活动,而开门红当天手机销售额就超过了去年双……远离电商平台ampampquot内耗竞争ampampquot曾几何时,电商行业的兴起,对实体经济确实造成了一定的冲击。甚至当初曾经有人说过,正是因为电商,才让实体经济走入困境云云。言之凿凿,但其实没什么说服力。因为没证据。……摩托罗拉edge系列双新机发布,打造亿级像素轻薄新旗舰2021年8月5日,摩托罗拉于上海玻璃博物馆举办了主题为亿起惊艳的新品手机发布会,正式带来了起售价格分别为2399元与2599元的摩托罗拉edgespro和摩托罗拉edge轻奢……6499降到3800,首款双卡双待iPhone,价格回归理性进入全屏时代后,苹果手机也开始向大屏幕方向发展。他们相继推出了iPhoneX,iPhoneXR和iPhone11机型,均取得了良好的销售业绩。尽管苹果公司在5G领域的发展还算晚……广汽传祺GS87座满足刚需,推荐390T四驱豪华智联纪念版!成家立业之前,代步工具小巧灵活就行,平时跟女朋友出去遛遛街,不用太笨拙。但有了小孩,如果跟父母住,出行工具一定要满足刚需要求,7座相对是比较恰当的选择。目前市场中7座车型越来越……土地出让金大变天,楼市彻底要凉了?大家好,我是老李。今天和大家聊聊土地出让金改由税务征收一事。说到地方政府买地收入,其实是一件特别好玩的事。因为钱到手之后,做什么事的地方政府都有。这就像是不同……一辆车内17个孩子,安全问题有没有考虑过2019年6月26日,吴桥交警大队接到一则匿名举报称:收到此举报后,吴桥交警大队第一时间组织专人开展暗访调查,根据调查结果,网友反映的情况基本属实。6月26日下午1……OPPO任命刘波为中国区总裁,进一步夯实中国市场战略地位4月9日消息,在海外手机市场面临巨大压力的背景下,头部厂商们纷纷进一步强化了在国内市场的战线和打法。今天,OPPO宣布任命副总裁刘波为中国区总裁,全面负责中国市场的经营及品牌建……LK分享工信部公安部交通部CV2X重磅发文工业和信息化部、公安部、交通运输部日前印发《智能网联汽车道路测试与示范应用管理规范(试行)》。各省、自治区、直辖市及计划单列市、新疆生产建设兵团工业和信息化主管部门、公安……家用4K投影仪优选优派Q10智能家庭影院投影机体验测评前言大家好,俺又来了!新房装修已经接近尾声了,家居都差不多配齐了,现在正在选购各种数码科技产品。而作为新房客厅是选择电视机,还是投影仪,相信也是很多家庭所考虑……23岁,我实现了童年的梦想我小时候一直有个发明家的梦想,对一切都抱有着巨大的好奇心,家里的收音机、电风扇、电视机都被我拆开过,当然我也因为破坏了这些电器被父母毒打过。上了初中,我对这些机器的构造更……盘点一下华为的几款放在现在缺点明显表现一般的手机如今,经过多年的技术积累和沉淀,华为移动已经成为国内手机的领头羊,甚至有很多用户将其与三星苹果一起称为全球三大手机巨头。今天的华为也有非常强大的影响力。这就是为什么很多用户在更……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网