在LNMP环境下定位常见问题
Written on October 8, 2015
适用环境
- linux
- nginx
- php
- mysql
- redis
定位常见问题,并不针对特定环境,思路正确即可。仅是本文所使用工具暂时只支持linux + nginx。
基础部署
- 对于linux + nginx环境,建议部署nginx访问日志分析监控脚本,实时了解业务运行状况。目前仅对CentOS6.3兼容,支持请求响应状态分析、请求响应时长分析。
- php-fpm开启slowlog记录(request_slowlog_timeout),用于分析造成慢请求的backtrace。
定位问题
- 分析请求响应状态
- 若使用了 基础部署 1. 中提及到的监控脚本,能迅速定位到发生异常或即将发生异常的具体业务及其应用服务器,甚至是具体业务接口。定位精确粒度视监控脚本具体设置而定。
-
若未使用,则手工对请求访问日志进行分析,观察响应状态异常部分。 响应异常一般有以下几种情况: 1. 引用不存在文件,或者重定向规则命中失败,导致发生404。 2. 上游(如php)在达到nginx设置的请求超时值时未返回(未作出响应),导致发生499。 3. 上游(如php)有代码错误,导致发生500。 4. 上游(如php)挂死,导致发生502。...