nginx配置和排查指引

nginx问题的排查方法

当出现直接超时、处理返回慢时的报警时,nigix侧的故障排查参考方法有如下: 1、检查请求日志情况, tail -f logs/access.log ,看upstream_status字段。

200:表示正常;
502/503/504:表示处理慢,或者后端down机;再看upstream_response_time返回的时间是否真的较慢,有没有上百毫秒,或更高的,有则说明是后端服务有问题。
404:表示请求的路径不存在或不对,文件不在了。需要检查你配置在公众平台上的url路径是否正确; 服务器上的文件、程序是否存在。
403:表示无权限访问。 检查一下nginx.conf 是否有特殊的访问配置。
499: 则是客户端的问题,请联系微信团队。 此错误少见。

2、检查错误日志情况,tail -f logs/error_log ,查看是否有connect() failed、Connection refused、 Connection reset by peer等error错误日志,有则说明有可能nginx出现的连接数超负载等情况。

(1)查看系统的网络连接数情况确认是否有较大的链接数

# netstat -n | awk '/^tcp/ {++S\[$NF\]} END {for(a in S) print a, S\[a\]}' 
解析: 
   CLOSED //无连接是活动的或正在进行 
   LISTEN //服务器在等待进入呼叫 
   SYN_RECV //一个连接请求已经到达,等待确认 
  SYN_SENT //应用已经开始,打开一个连接 
   ESTABLISHED //正常数据传输状态/当前并发连接数  
   FIN_WAIT1 //应用说它已经完成  
   FIN_WAIT2 //另一边已同意释放  
   ITMED_WAIT //等待所有分组死掉 
   CLOSING //两边同时尝试关闭 
   TIME_WAIT //另一边已初始化一个释放 
   LAST_ACK //等待所有分组死掉

(2)查看系统的句柄配置情况,ulimit -n ,确认是否过小(小于请求数)
(3)worker_rlimit_nofile、worker_connections配置项,是否过小(小于请求数)

0%