登录

HTTP 状态码

php
0 1405

1、状态码分类



- 1xx:信息,服务器收到请求,需要请求者继续操作



- 2xx:成功



- 3xx:重定向



- 4xx:客户端错误



- 5xx:服务端错误



2、常用状态码



200:请求成功



301:永久重定向



302:临时移动



400 bad request:客户端请求语法错误



401 unauthorized:客户端没有权限



403 forbidden:服务器拒绝客户端请求



404 not found:客户端请求资源不存在



500 Internal Server Eerro:服务器内部错误



502 bad gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应



503 Service Unavailable 超载或系统维护



504 Gateway timeout:网关超时



3、502 的原因及解决方法



原因:nginx将请求提交给网关(php-fpm)处理异常导致



1)fastcgi 缓冲区设置过小



fastcgi_buffers 8 16k;



fastcgi_buffer_size 32k;



2)php-cgi的进程数设置过少



查看FastCgi进程数:netstat -anpo | grep "php-cgi"| wc -l



调整参数最大子进程数:max_children



一般按照单个进程20M计算需要需要设置的子进程数



3)max_requests(内存溢出或频繁重启)



参数指明每个children最多能处理的请求数量,到达最大值之后会重启children。



设置过小可能导致频繁重启children:



php将请求轮询给每个children,在大流量的场景下,每一个children 到达最大值的时间差不多,如果设置过小可能多个children 在同一时间关闭,nginx无法将请求转发给php-fpm,cpu降低,负载变高。



设置过大可能导致内存泄露



4)php执行时间超过nginx等待时间



fastcgi_connect_timeout



fastcgi_send_timeout



fastcgi_read_timeout



5)fastcgi执行时间



max_execution_time


发表评论

0 个回复