nginx常见内部参数,错误总结

1、日志简介

nginx日志主要有两种:访问日志和错误日志。访问日志主要记录客户端访问nginx的每一个请求,格式可以自定义;错误日志主要记录客户端访问nginx出错时的日志,格式不支持自定义。两种日志都可以选择性关闭。

通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。

2、访问日志

[Access.log]

log_format  main  ‘$remote_addr $remote_user [$time_local] "$request" $http_host ‘

‘$status $upstream_status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent" $ssl_protocol $ssl_cipher $upstream_addr ‘

‘$request_time $upstream_response_time‘;


变量名称


变量描述


举例说明


$remote_addr


客户端地址


113.140.15.90


$remote_user


客户端用户名称


-


$time_local


访问时间和时区


18/Jul/2012:17:00:01 +0800


$request


请求的URI和HTTP协议


"GET /pa/img/home/logo-alipay-t.png HTTP/1.1"


$http_host


请求地址,即浏览器中你输入的地址(IP或域名)


img.alipay.com

10.253.70.103


$status


HTTP请求状态


200


$upstream_status


upstream状态


200


$body_bytes_sent


发送给客户端文件内容大小


547


$http_referer


跳转来源


"https://cashier.alipay.com.../"


$http_user_agent


用户终端代理


"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;


$ssl_protocol


SSL协议版本


TLSv1


$ssl_cipher


交换数据中的算法


RC4-SHA


$upstream_addr


后台upstream的地址,即真正提供服务的主机地址


10.228.35.247:80


$request_time


整个请求的总时间


0.205


$upstream_response_time


请求过程中,upstream响应时间


0.002

线上实例:

116.9.137.90 - [02/Aug/2012:14:47:12 +0800] "GET /images/XX/20100324752729.png HTTP/1.1"img.alipay.com 200 200 2038 https://cashier.alipay.com/XX/PaymentResult.htm?payNo=XX&outBizNo=2012XX "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; 360SE)" TLSv1 AES128-SHA 10.228.21.237:80 0.198 0.001

 

线下测试($http_referer):

10.14.21.197 - - [14/Aug/2012:17:28:22 +0800] "GET /spanner/watch/v1?--db=ztg-1&--mode=compare&--index=status&--option=&--cluster=whole&-F=2012/8/12-00:00:00&-T=+2880&-i=1&-n=0&_=1344936501292 HTTP/1.1" 200 94193 "http://spanner.alipay.net/optionFrame/history.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.60 Safari/537.1"

备注:$http_referer和重定向有关。

线下测试($http_host):

备注:$http_host的值和你在浏览器里输入的值有关。

3、错误日志


错误信息


错误说明


"upstream prematurely(过早的) closed connection"


请求uri的时候出现的异常,是由于upstream还未返回应答给用户时用户断掉连接造成的,对系统没有影响,可以忽略


"recv() failed (104: Connection reset by peer)"


(1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;

(2)客户关掉了浏览器,而服务器还在给客户端发送数据;

(3)浏览器端按了Stop


"(111: Connection refused) while connecting to upstream"


用户在连接时,若遇到后端upstream挂掉或者不通,会收到该错误


"(111: Connection refused) while reading response header from upstream"


用户在连接成功后读取数据时,若遇到后端upstream挂掉或者不通,会收到该错误


"(111: Connection refused) while sending request to upstream"


Nginx和upstream连接成功后发送数据时,若遇到后端upstream挂掉或者不通,会收到该错误


"(110: Connection timed out) while connecting to upstream"


nginx连接后面的upstream时超时


"(110: Connection timed out) while reading upstream"


nginx读取来自upstream的响应时超时


"(110: Connection timed out) while reading response header from upstream"


nginx读取来自upstream的响应头时超时


"(110: Connection timed out) while reading upstream"


nginx读取来自upstream的响应时超时


"(104: Connection reset by peer) while connecting to upstream"


upstream发送了RST,将连接重置


"upstream sent invalid header while reading response header from upstream"


upstream发送的响应头无效


"upstream sent no valid HTTP/1.0 header while reading response header from upstream"


upstream发送的响应头无效


"client intended to send too large body"


用于设置允许接受的客户端请求内容的最大值,默认值是1M,client发送的body超过了设置值


"reopening logs"


用户发送kill  -USR1命令


"gracefully shutting down",


用户发送kill  -WINCH命令


"no servers are inside upstream"


upstream下未配置server


"no live upstreams while connecting to upstream"


upstream下的server全都挂了


"SSL_do_handshake() failed"


SSL握手失败


"SSL_write() failed (SSL:) while sending to client"


"(13: Permission denied) while reading upstream"


"(98: Address already in use) while connecting to upstream"


"(99: Cannot assign requested address) while connecting to upstream"


"ngx_slab_alloc() failed: no memory in SSL session shared cache"


ssl_session_cache大小不够等原因造成


"could not add new SSL session to the session cache while SSL handshaking"


ssl_session_cache大小不够等原因造成


"send() failed (111: Connection refused)"


 
时间: 2024-08-05 15:55:26

nginx常见内部参数,错误总结的相关文章

Nginx 502 bad gateway错误解决思路

当网站打开遇到Nginx 502 bad gateway的错误,造成这种错误的原因有很多,下面分别解析nginx常见的502错误. 1.nginx配置文件错误 因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port 解决方案: [[email protected] ~]# vim/usr/local/nginx/conf/vhosts/www.conf server {    listen 80;    se

Nginx常见错误与问题之解决方法技术指南

  Nginx常见错误与问题之解决方法技术指南. 安装环境: 系统环境:redhat enterprise 6.5 64bit 1.Nginx 常见启动错误 有的时候初次安装nginx的时候会报这样的错误 sbin/nginx -c conf/nginx.conf 报错内容:sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or

19. Nginx常见错误

HTTP 状态码 413:用户上传的文件过大,需要调高 client_max_body_size 参数设置 502:后端无响应,例如 php 服务是否启动,php-fpm 的 pm 相关设置值是否过小导致无法创建新的进程处理请求等 504:后端服务执行超时,此时需要查看一下后端服务器是否CPU占用过高,RDS数据库是否有慢查询等 专题阅读 1. Nginx的优点 2. Nginx的安装与开机自启 3. Nginx目录和配置语法 4. Nginx模块 5. Nginx静态资源处理 6. Nginx

nginx File not found 错误

使用php-fpm解析PHP,"No input file specified","File not found"是令nginx新手头疼的常见错误,原因是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认404错误提示. 比如我的网站doucument_root下没有test.php,访问这个文件时通过抓包可以看到返回的内容. HTTP/1.1 404 Not Found Date: Fri, 21

nginx 502 Bad Gateway 错误解决办法

一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现.以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考: Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的.这些错误一般都不是nginx本身的问题,一定要从后端找原因!但nginx把这些出错都揽在自己身上了,着实让nginx的推广者备受置疑,毕竟从字眼上理解,bad gateway?不就是bad nginx吗?让不了解的人看到,会直接把责任推在nginx

最常见的HTTP错误

1. HTTP 500错误(内部服务器错误)对对HTTP 500错误的定义已经充分证明了这是一个最常见的HTTP错误. 一般来说,HTTP 500 错误就是web服务器发生内部错误时返回的信息. 例如,web服务器过载时将无法正确处理访问请求.根据Google的搜索数据统计,HTTP 500 错误发生机率是404错误的两倍: 2. HTTP 404错误(文件未找到)大多数人都知道这个错误. 当用户试图访问Web服务器(通常是一个网页)上某个实际不存在的资源时,就会发生404错误. 404错误可能

nginx 504 Gateway Time-out错误排查

一次nginx 504 Gateway Time-out错误排查.解决记录,经过反复检查,发现造成这个问题的原因就是PHP的CURL没有设置超时时间,解决办法只要设置超时时间或者修改一下nginx的配置即可解决. 记一次莫名其妙的网站失去响应排查.之前网站一直是使用nginx做代理后端的apache运行php来提供服务.apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现"504 Gateway Time-out"查看错误日志也看不到任何东西,以为是apache的

Nginx 502和504错误原因分析

一直以来当nginx出现502或者504错误时,大多数的运维人员都会参考张宴大师的nginx优化文档来解决.但是什么情况下出现502,什么情况下出现504,确不是很清楚,反正就知道是php-cgi处理不过来了.前段时间curl模拟超时,偶然发现有时是502和504,刚好今天刚好有空测试. 在 php.ini 中有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是nginx+php-cgi(php-fpm) 中该参数不会起效.真正能够控制 PHP 脚本最大执

汇编中常见的一些错误信息

ml.exe错误信息: FATAL   严重错误 cannot open file不能打开文件 I/O error closing fileI/O错误 正在关闭文件 I/O error writing fileI/O错误 正在写文件 I/O error reading file            I/O错误 正在读取文件 out of memory              缺少内存 assembler limit : macro parameter name table full