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

首页 主机论坛 主机交流 500,502,503,504,505 服务器错误

标签: 

  • 您的话题内容不能为空。
  • 创建者
    话题
  • #2760
    清风許来
    管理员
    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 版本不受支持);

  • 哎呀,回复话题必需登录。