500,502,503,504,505...
 
通知
清理所有

500,502,503,504,505 服务器错误

1 帖子
1 用户
0 点赞
97 浏览
清风許来
(@steve)
管理员 管理员 已注册会员
注册时间: 2 年之前
帖子: 47
主题发起者  
500 Internal Server Error (检查你的代码吧)

顾名思义500错误一般是服务器遇到意外情况,而无法完成请求;
一般解决思路:查看nginx、php的错误日志文件
500 错误的可能原因:

  • a、编程语言语法错误,脚本错误
  • b、并发高时,因为系统资源限制,不能打开过多的文件描述符(fd)

502:简单点说,处理当前 nginx 请求的 php(进程OR服务器) 已经挂掉了;
nginx 在这里充当的是反向代理服务器的角色,是把http协议请求转成 fastcgi 协议的请求,通过 fastcgi_pass 指令传递给 php-fpm 进程,当nginx执行请求时,却收到了上游服务器( php-fpm)的无效响应,响应内容是nginx无法理解的,就会返回502 bad gateway;可以尝试刷新缓存(ob_flush);

503:简单点说,用户请求数(并发)过大;
当前请求用户量太多,服务器为了保护自己不挂掉,机智的拒绝了某些用户的访问,这些用户就会收到503这个错误(部分用户可正常访问);
因为一个 http 请求会占用一个 php-fpm 进程,瞬时请求量过大时,没有足够的 php-fpm 进程来处理请求,就会返回 503 service unavailable;
常见原因:

1、站点遭到攻击,在超过限制时报503错误,待攻击停止就可以恢复了;
2、站点规模较大,并发请求过多,这种建议修改优化程序或需要升级更高类型主机;
3、程序有错误,在短时间内产生多次工作进程崩溃,会因IIS7的快速故障防护功能而关闭程序池;
4、站点提供下载,当带宽超过限制时会报错,需停止下载功能,或者升级主机解决。

504:简单点说,请求超时,页面等了半天也没打开,返回504
一般而言,504很少会遇到,通常是由 nginx 配置不当引起;
也可能是脚本逻辑没考虑特例情况,比如 SQL 执行时间太久;
专业点儿说就是,单个 php-fpm 进程阻塞超过 nginx 的时间阈值,会返回 504 gateway timeout,例如,PHP脚本执行时间太长,此时可查看是否某些代码逻辑产生了阻塞;
比如你的 nginx 超时时间设为300,但你的请求响应时间为500,超过了300的阈值,就会看到504;

以下两种状态极少遇到

501  
服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码;
505  
服务器不支持请求中所用的 HTTP 协议版本(HTTP 版本不受支持);

KnowHost - 知晓所有主机
风暴士兵


   
引用
主题标签
分享:

登录账户

忘记密码?

忘记密码?

输入您的账户数据,我们稍后会发送重置密码的链接。

您的密码重置链接好像无效或已过期。

登录账户

隐私政策

添加到集合

暂无集合

在这里你可以找到你之前创建的所有集合。