nginx 错误日志分析
一、Nginx配置和内核优化 实现突破十万并发
二、一次Nignx的502页面的错误记录
(1)错误页面显示
错误日志:
2017/07/17 17:32:57 [error] 29071#0: *96 recv() failed (104: Connection reset by peer) while reading response header from upstream,client: 101.226.125.118, server: live.baidu.com, request: "GET /live/CY00013 HTTP/1.1", upstream: "http://show.baidu.com/live/123.html", host: "live.baidu.com"
(2)配置以及流程设置
本次采用Openresty 搭建的web服务器,使用代理服务器IP(192.168.1.166)代理被代理服务器IP(172.16.0.166)。改配置以及流程一直是合适的,结果在今天下午访问代理服务器出现Nginx 502 错误。配置信息:
server {listen 80;#resolver 8.8.8.8;server_name live.baidu.com;location / {proxy_pass http://show.baidu.com;proxy_set_header Host show.baidu.com;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Real-PORT $remote_port;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
IP地址和域名对应关系:
show.baidu.com (172.16.0.166)
live.baidu.com (192.168.1.166)
经过各种百度和google都说是后端服务器的原因,但是访问后端服务器也是正常的show.baidu.com (172.16.0.166),但是当访问关于一个和Redis有关的页面的时候就会出现,redis服务器已经断开连接,重启Redis服务器后正常工作
(3)总结:如果当前服务器是代理服务器,出现502的错误原因,则一般都是后端服务器的异常导致的
三、nginx错误日志文件Error.log常见错误详细说明
我们经常遇到各种各样的nginx错误日志,平时根据一些nginx错误日志就可以分析出原因了。不过不是很系统,这里网上看到一篇资料还是比较系统的关于nginx的error.log的详细说明,这里记录下,方便以后查看了解。
以上表格来自网络资料。这里只是记录下,方便以后查看。
四、Nginx错误日志说明
错误日志类型
类型1: upstream timed out
类型2: connect() failed
类型3: no live upstreams
类型4: upstream prematurely closed connection
类型5: 104: Connection reset by peer
类型6: client intended to send too large body
类型7: upstream sent no valid HTTP/1.0 header
类型 |
错误日志 |
原因 |
解决办法 |
---|---|---|---|
1 | upstream timed out (110: Connection timed out) while connecting to upstream | nginx与upstream建立tcp连接超时,nginx默认连接建立超时为200ms | 排查upstream是否能正常建立tcp连接 |
1 | upstream timed out (110: Connection timed out) while reading response header from upstream | nginx从upstream读取响应时超时,nginx默认的读超时为20s,读超时不是整体读的时间超时,而是指两次读操作之间的超时,整体读耗时有可能超过20s | 排查upstream响应请求为什么过于缓慢 |
2 | connect() failed (104: Connection reset by peer) while connecting to upstream | nginx与upstream建立tcp连接时被reset | 排查upstream是否能正常建立tcp连接 |
2 | connect() failed (111: Connection refused) while connecting to upstream | nginx与upstream建立tcp连接时被拒 | 排查upstream是否能正常建立tcp连接 |
3 | no live upstreams while connecting to upstream | nginx向upstream转发请求时发现upstream状态全都为down | 排查nginx的upstream的健康检查为什么失败 |
4 | upstream prematurely closed connection | nginx在与upstream建立完tcp连接之后,试图发送请求或者读取响应时,连接被upstream强制关闭 | 排查upstream程序是否异常,是否能正常处理http请求 |
5 | recv() failed (104: Connection reset by peer) while reading response header from upstream | nginx从upstream读取响应时连接被对方reset | 排查upstream应用已经tcp连接状态是否异常 |
6 | client intended to send too large body | 客户端试图发送过大的请求body,nginx默认最大允许的大小为1m,超过此大小,客户端会受到http 413错误码 |
|
7 | upstream sent no valid HTTP/1.0 header | nginx不能正常解析从upstream返回来的请求行 |
nginx 错误日志分析相关推荐
- nginx日志报警|微信公众号推送预警消息|PHP+shell脚本实现nginx错误日志报警恶意访问报警,实时通知到微信公众号 | 小型网站nginx日志报警轻量级方案
1.shell脚本 命名:run.sh #!/bin/bash #!/usr/bin/python # -*- coding:utf-8 -*- #日志文件路径 accesslog=/www/wwwl ...
- nginx 访问日志分析工具 goacess
2019独角兽企业重金招聘Python工程师标准>>> 20150702 nginx 访问日志分析 goacess 1.安装GoAccess需要一些系统支持库 yum install ...
- linux var mqm权限,Linux MQ中间件/var/mqm文件系统结构与错误日志分析
Linux MQ中间件/var/mqm文件系统结构与错误日志分析 Linux MQ中间件/var/mqm文件系统结构与错误日志分析 本文转自 http://www.wo81.com/tec/mid/m ...
- Nginx错误日志详解
Nginx错误日志详解 Nginx软件会把自身运行的故障信息及用户访问的日志信息记录到指定的日志文件里 Nginx错误日志信息介绍 Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块 ...
- 主机Nginx的错误日志分析整理
最近开通了一个香港主机,使用Nginx发布了一个页面,但是我却将几百个域名指向了它! 然后一两天的时间,就有一些错误日志. 写了个程序分析了一下,我们来看一下: 1.有哪些蜘蛛 bingbot Tur ...
- Logstash+Redis+Elasticsearch+Kibana+Nginx搭建日志分析系统
为什么80%的码农都做不了架构师?>>> 前言: 随着实时分析技术的发展及成本的降低,用户已经不仅仅满足于离线分析.目前我们服务的用户包括微博.微盘.云存储.弹性计算平台等十多 ...
- Nginx错误日志说明
错误日志类型 类型1: upstream timed out 类型2: connect() failed 类型3: no live upstreams 类型4: upstream prematurel ...
- php错误日志分析_php错误日志
检测php运行时或用户自记录错误日志:http://blog.csdn.net/ty_hf/article/details/55505262 ## 查找 ``` find / -name php-fp ...
- redis服务器错误日志分析
未解决的问题 persistence-available no #不用持久化 maxmemory 4gb #内存限制 maxmemory-policy volatile-lru #内存满时,删除设置了 ...
最新文章
- POJ2570 二进制,位运算,Floyd
- 直方图应用:直方图均衡化,直方图匹配,对比直方图
- Python求解线性方程组
- 1059 Prime Factors (25 分)【难度: 一般 / 知识点: 分解质因子 】
- Redis事务中几种常见的场景-exec执行前后的语法错误时的处理
- 给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出(算法导论第十章10.4-2)
- 多线程写mysql数据库_多线程读写mysql数据库
- 做了6年的Java,mysql配置环境变量mac
- ubuntu18虚拟机添加网卡后,不自动启用dhcp
- 罗永浩直播间再回应直播售假:全方位整改 成立质控实验室
- OpenCV-Python实战(13)——OpenCV与机器学习的碰撞
- VB.net:VB编程语言/VB.net语言编程的简介、IDE安装、学习路线(几十项案例代码实现)之详细攻略
- 安卓内存监控悬浮窗,6年菜鸟开发面试字节跳动安卓研发岗,面试建议
- ac管理器管理员密码忘记了_你应该使用密码管理器吗
- 小米pro15拆机_小米pro拆机图解(8步)
- 哪家的服务器cpu性能高,服务器cpu排行
- delphi学习笔记(1)-object pascal语言的数据类型 选择自 xmz2629 的 Blog
- 【松鼠科学会】头脑练功房:冥想真的有效吗?
- 企业邮箱出现问题我们该联系谁?联系邮箱是什么?
- ui设计需要做android和苹果版本,安卓和IOS系统对于UI设计来说一样吗
热门文章
- C++ Reference: Standard C++ Library reference: C Library: cctype: toupper
- 央行新规:支付宝、微信将限制转账笔数
- hexo自用黑色主题
- DevOps流水线CI成倍提速方案
- 【Python游戏】用Python实现一个测试你智商的小游戏——24点,过不了三关的都是细狗 | 附带源码
- Unity_UIWidgets - 文字图标Icon
- mysql使用sum保留小数或者保留整数
- 使用canal监听binlog将数据发送到RocketMQ同步到es
- 教育直播系统中不可或缺的功能部件:电子白板
- uni-app开发微信小程序时u-view自定义样式不生效