php+nginx服務發生500、502錯誤如何排查

概述

當線上的服務中訪問中出現500或者502錯誤時,需要緊急處理,排查問題,該怎么做?可以通過分析一些錯誤日志或者跟蹤php-fpm進程來進行問題定位。

nginx error_log

nginx的error_log在nginx的配置文件中定義的

server?{ ?listen??80; ?server_name?localhost; ?root???/var/www;  ?access_log?/users/jiao/logs/default.access.log; ?error_log?/users/jiao/logs/default.error.log; ?location?/?{ ??index?index.html?index.htm?index.php; ??autoindex?on; ?} ?location?=?/info?{ ??allow?127.0.0.1; ??deny?all; ??rewrite?(.*)?/.info.php; ?} ?location?~?.php$?{ ??root?/var/www; ??fastcgi_pass?127.0.0.1:9000; ??fastcgi_index?index.php; ??fastcgi_param?script_filename?/var/www$fastcgi_script_name; ??include?/usr/local/etc/nginx/fastcgi_params; ?} }

查看error_log

?? tail /users/jiao/logs/default.error.log
2019/07/17 11:08:18 [error] 77416#0: *76 kevent() reported about an closed connection (54: connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: localhost, request: “get / http/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “localhost”

發現出現了connection reset by peer,連接被重置了,此時可以再查看php-fpm的error_log進一步分析問題

php-fpm error_log

php-fpm的error_log在php-fpm.conf文件中配置中定義的

;?error?log?file ;?if?it's?set?to?"syslog",?log?is?sent?to?syslogd?instead?of?being?written ;?in?a?local?file. ;?note:?the?default?prefix?is?/usr/local/var ;?default?value:?log/php-fpm.log error_log?=?log/php-fpm.log

error_log里面的內容是這樣的

??tail?/usr/local/var/log/php-fpm.log [17-jul-2019?10:49:54]?notice:?[pool?www]?child?81948?started [17-jul-2019?11:08:18]?warning:?[pool?www]?child?77537,?script?'/var/www/index.php'?(request:?"get?/index.php")?execution?timed?out?(3.801267?sec),?terminating [17-jul-2019?11:08:18]?warning:?[pool?www]?child?77537?exited?on?signal?15?(sigterm)?after?1503.113967?seconds?from?start [17-jul-2019?11:08:18]?notice:?[pool?www]?child?94339?started

可以看到是請求/var/www/index.php文件出現了超時

dtruss

dtruss是動態跟蹤命令,可以根據pid,name跟蹤進程

mac環境下使用dtruss,linux環境可以使用strace,pstack

??dtruss? usage:?dtruss?[-acdefholls]?[-t?syscall]?{?-p?pid?|?-n?name?|?command?|?-w?name?}
??-p?pid???#?examine?this?pid ??-n?name???#?examine?this?process?name ??-t?syscall??#?examine?this?syscall?only ??-w?name???#?wait?for?a?process?matching?this?name ??-a????#?print?all?details ??-c????#?print?syscall?counts ??-d????#?print?relative?times?(us) ??-e????#?print?elapsed?times?(us) ??-f????#?follow?children ??-l????#?force?printing?pid/lwpid ??-o????#?print?on?cpu?times ??-s????#?print?stack?backtraces ??-l????#?don't?print?pid/lwpid ??-b?bufsize??#?dynamic?variable?buf?size

eg,

?dtruss?df?-h??#?run?and?examine?"df?-h" ?dtruss?-p?1871??#?examine?pid?1871 ?dtruss?-n?tar??#?examine?all?processes?called?"tar" ?dtruss?-f?test.sh?#?run?test.sh?and?follow?children

跟蹤php-fpm:sudo dtruss -a -n php-fpm

此時訪問web頁面,就可以看到跟蹤內容

21416/0x3479b6:??1559??63??3?getrusage(0x0,?0x7ffee1ec0760,?0x0)???=?0?0 21416/0x3479b6:??1561??4??0?getrusage(0xffffffffffffffff,?0x7ffee1ec0760,?0x0)???=?0?0 21416/0x3479b6:??1627??77??17?poll(0x7ffee1ec08c0,?0x1,?0x1388)???=?1?0 dtrace:?error?on?enabled?probe?id?2174?(id?159:?syscall::read:return):?invalid?kernel?access?in?action?#13?at?dif?offset?68 dtrace:?error?on?enabled?probe?id?2174?(id?159:?syscall::read:return):?invalid?kernel?access?in?action?#13?at?dif?offset?68 dtrace:?error?on?enabled?probe?id?2174?(id?159:?syscall::read:return):?invalid?kernel?access?in?action?#13?at?dif?offset?68 dtrace:?error?on?enabled?probe?id?2174?(id?159:?syscall::read:return):?invalid?kernel?access?in?action?#13?at?dif?offset?68 dtrace:?error?on?enabled?probe?id?2174?(id?159:?syscall::read:return):?invalid?kernel?access?in?action?#13?at?dif?offset?68 21416/0x3479b6:??1872??29??24?lstat64("/var/www/index.php

中文字幕无码免费久久|
国内精品久久久久久久coent|
亚洲国产小视频精品久久久三级|
亚洲精品NV久久久久久久久久
|
亚洲精品午夜国产va久久|
久久午夜无码鲁丝片秋霞|
无码专区久久综合久中文字幕|
精品久久久久久亚洲|
精品久久久久久久国产潘金莲|
.精品久久久麻豆国产精品|
精品久久久久久无码人妻蜜桃|
国产精品乱码久久久久久软件
|
亚洲精品乱码久久久久66|
一本久久久久久久|
无码人妻久久一区二区三区免费|
草草久久久无码国产专区|
人妻无码精品久久亚瑟影视|
国产高潮国产高潮久久久91
|
中文字幕亚洲综合久久|
99蜜桃臀久久久欧美精品网站|
国产91色综合久久免费|
亚洲精品乱码久久久久久蜜桃不卡|
国产日韩久久久精品影院首页|
国内精品久久久久影院日本|
久久久久久综合网天天|
欧美激情精品久久久久久久|
jizzjizz国产精品久久|
无码人妻久久一区二区三区|
无码人妻久久一区二区三区蜜桃
|
婷婷久久香蕉五月综合加勒比|
亚洲婷婷国产精品电影人久久|
日本久久久久久中文字幕|
91精品国产综合久久久久久|
欧美亚洲色综久久精品国产|
99久久精品国产一区二区|
久久人人爽人人爽人人片av麻烦|
久久99精品久久久久久不卡|
久久激情五月丁香伊人|
久久青青草原精品国产不卡|
色欲综合久久躁天天躁|
人人妻久久人人澡人人爽人人精品|