百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

错误代码解析500、501、502、503、504

haoteby 2025-03-24 16:34 28 浏览

一:500错误

1、500 Internal Server Error 内部服务错误:顾名思义500错误一般是服务器遇到意外情况,而无法完成请求。

2、500出错的可能性:

a、编程语言语法错误,web脚本错误

b、并发高时,因为系统资源限制,而不能打开过多的文件

3、一般解决思路:

a、查看nginx、php的错误日志文件,从而看出端倪

b、如果是too many open files,修改nginx的worker_rlimit_nofile参数,使用ulimit查看系统打开文件限制,修

改/etc/security/limits.conf,还是出现too many open files,那就要考虑做负载均衡,把流量分散到不同服务器上去了

c、如果是脚本的问题,则需要修复脚本错误,优化代码

二:502、504错误

1、502 Bad Gateway错误、504 Bad Gateway timeout 网关超时

2、502、504出现的可能性

web服务器故障、程序进程不够

3、一般解决思路

a、使用nginx代理,而后端服务器发生故障;或者php-cgi进程数不够用;php执行时间长,或者是php-cgi进程死掉;已经fastCGI使用情况等都会导致502、504错误。

b、502 是指请求的php-fpm已经执行,但是由于某种原因而没有执行完毕,最终导致php-fpm进程终止。一般来说,与php-fpm.conf的设置有关,也与php的执行程序性能有关,网站的访问量大,而php-cgi的进程数偏少。针对这种情况的502错误,只需增加 php-cgi的进程数。具体就是修改/usr/local/php/etc/ php-fpm.conf文件,将其中的max_children值适当增加。这个数据要依据你的服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。


/usr/local/php/sbin/php-fpm reload 然后重启一下.

c、504 表示超时,也就是客户端所发出的请求没有到达网关,请求没有到可以执行的php-fpm。与nginx.conf的配置也有关系。

501  服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

503  服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。(服务不可用)

505  服务器不支持请求中所用的 HTTP 协议版本。(HTTP 版本不受支持)

附:新增全部状态码含义

状态码分类

整体范围 已定义范围 分类

100~199 100~101 信息提示

200~299 200~206 成功

300~399 300~305 重定向

400~499 400~415 客户端错误

500~599 500~505 服务器错误

100(continue):说明收到了请求的初始部分,请客户端继续。

客户端发送一个携带值为100 Countinue的Expect请求首部,意味着客户端在发送实体前等待100 Continue响应。这是一种优化,客户端在避免向服务器发送一个大实体时,才使用。

101(Switching Protocols):说明服务器正在根据客户端的指定,将协议切换成Update首部所列的协议。

200(OK):请求没问题,实体的主体部分包含了所请求的资源。

201(Created):用于创建服务器对象的请求的响应(例如PUT)。实体主体部分包含各种引用了已创建的资源的URL。

202(Accepted):请求已被接受,但服务器还未对其执行任何动作,无法保证服务器会完成这个请求。

203(Non-Authoritative Information):实体首部包含的信息不是来自于源端服务器,而是来自资源的一份副本。

204(No Content):响应报文有状态行和首部,但没有实体的主体部分。

205(Reset Content):告知浏览器清除当前页面中的所有HTML表单元素。

206(Partial Content):成功执行了一个部分或Range(范围)请求。

重定向状态码要么告知客户端使用替代位置来访问他们所要访问的资源,要么提供一个替代的响应而不是资源的内容。

资源被移动的情况下,发送一个重定向状态码和一个可选的Location首部告知客户端资源已被移动,并且可以在哪里找到。

300(Multiple Choices):客户端请求一个实际指向多个资源的URL时会返回这个状态码。

301(Moved Permanently):请求的URL已经被移除,响应中Location首部包含资源现所处的URL。

302(Found):与301类似,但是客户端应该用Location首部的URL来临时定位资源,将来的请求仍用老的URL。

303(See Other):告知客户端应该用另一个URL来获取资源,新URL位于Location首部,允许POST请求的响应将客户端定向到某个资源上去。

304(Not Modified):客户端可以通过所包含的请求首部,使其变成有条件的。

305(Use Proxy):说明必须通过一个代理来访问资源,代理位置由Location首部给出。

306(未使用)

307(Temporary Redirect):和302一样。

400(Bad Request):用于告知客户端它发送了一个错误的请求。

401(Unauthorized):与适当的首部一起返回,在这些首部中请求客户端在获取对资源的访问权之前,对自己进行认证。

402(Payment Required):保留状态码,未来之用。

403(Forbidden):说明请求被访问权拒绝。拒绝原因可能在实体的主体部分。

404(Not Found):服务器无法找到所请求的URL。

405(Method Not Allowed):发起请求中带有所请求的URL不支持的方法。响应中有Allow首部,告知客户端对所请求的资源可以用哪些方法。

406(Not Acceptable):客户端可以通过参数说明它们接受什么类型的实体,服务器没有和客户端可接受的URL相匹配的资源时用此代码。

407(Proxy Authentication Required):和401相似,但用于要求对资源进行认证的代理服务器。

408(Request Timeout):如果完成请求所花时间太长,服务器可以返回此状态码。

409(Confict):说明请求可能在资源上引发的一些冲突。

410(Gone):与404类似,只是服务器之前有过此资源。

411(Length Required):服务器要求在请求报文中包含Content-Length首部。

412(Precondition Failed):客户端发起了条件请求,且其中一个条件失败了。

413(Request Entity Too Large):实体主体部分过大。

414(Request URI Too Long):URL比服务器能处理的长。

415(Unsupport Media Type):无法理解或无法支持客户端所发实体的内容类型。

416(Requested Range Not Satisfiable):请求报文请求的是指定资源的某个范围,而此范围无效或无法满足。

417(Expectation Failed):请求的Expect请求首部包含一个期望,但服务器无法满足此期望。

500(Internal Server Error):服务器遇到一个妨碍它为请求提供服务的错误。

501(Not Implemented):客户端发起的请求超出服务器的能力范围。

502(Bad Gateway):作为代理或网关使用的服务器从请求响应链的下一条链路上收到了一条伪响应。

503(Service Unavailable):说明服务器现在无法为请求提供服务,将来可以。

504(Gateway Timeout):与408相似。

505(HTTP Version Not Support):服务器收到的请求使用了它无法或不愿意支持的协议版本。

相关推荐

Chrome OS 41 用 Freon 取代 X11_chrome os atom

在刚发布的ChromeOS41里,除了常规的Wi-Fi稳定性提升(几乎所有系统的changelog里都会包含这一项)、访客模式壁纸等之外,还存在底层改变。这一更新中Google移除...

苹果iPad Pro再曝光 有望今年六月发布

自进入2015年以后,有关大屏iPad的消息便一直不绝于耳,之前就有不少媒体猜想这款全新的平板电脑将会在三月发布,不过可惜的是我么只在那次发布会上看到了MacBookPro。近日@Ubuntu团队便...

雷卯针对香橙派Orange Pi 5 Max开发板防雷防静电方案

一、应用场景高端平板、边缘计算、人工智能、云计算、AR/VR、智能安防、智能家居、Linux桌面计算机、Linux网络服务器、Android平板、Android游戏机...

Ubuntu Server无法更新问题解决_ubuntu server not found

上周老家的一台运行UbuntuServer的盒子无法连接上了,中秋这两天回来打开,顺手更新一下发现更新报错。提示`E:Releasefileforhttps://mirrors.aliyun...

虚幻引擎5正式版发布:古墓丽影&巫师新作采用、新一代实时渲染

机器之心报道编辑:杜伟、陈萍虚幻引擎5的目标是「助力各种规模的团队在视觉领域和互动领域挑战极限,施展无限潜能」。...

AMD Milan-X双路霄龙7773X平台基准测试曝光 CPU缓存总量超1.5GB

OpenBenchmarking基准测试数据库刚刚曝光了AMDMilan-X双路霄龙7773X平台的跑分成绩,虽然很快就被撤下,但我们还是知晓了高达1.6GB的总CPU缓存。早些时...

ROS机器人建模_ros机器人硬件搭建

...

全网最新的Dify(1.7.2)私有化离线部署教程(ARM架构)

Hello,大家好!近期工作中有涉及到Dify私有化离线部署,特别是针对于一些国产设备。因此特别整理了该教程,实测有效!有需要的小伙伴可以参考下!本文主要针对Dify1.7.2最新版本+国产操作系...

在ubuntu下新建asp.net core项目_创建ubuntu

本文一步步讲述在ubuntu下用visualstudiocode创建asp.netcore项目的过程。step1:环境操作系统:virtualbox下安装的lubuntu。请不要开启“硬件...

在晶晨A311D2处理器上进行Linux硬件视频编码
在晶晨A311D2处理器上进行Linux硬件视频编码

在KhadasVIM4AmogicA311D2SBC上,我更多的时间是在使用Ubuntu22.04。它的总体性能还不错,只不过缺少3D图形加速和硬件视...

2025-08-26 17:22 haoteby

Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!

之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...

电影质量级渲染来了!虚幻引擎5.3正式发布:已开放下载

快科技9月8日消息,日前,Unrealengine正式发布了虚幻引擎5.3,带来了大量全方位的改进。...

2025如何选购办公电脑?极摩客mini主机英特尔系列选购指南

当下,迷你主机的性能越来越强,品类也越来越多。但是CPU是不变的,基本都是AMD和英特尔的。有一个小伙伴在评论区提问,我应该如何在众多机器中选购一台符合自己的迷你主机呢?那今天我们优先把我们的系列,分...

ubuntu 20.04+RTX4060 Ti+CUDA 11.7+cudnn

ububtu添加国内源sudocp/etc/apt/sources.list/etc/apt/sources.list.backupsudovim/etc/apt/sources.lis...

Linux Mint 18将重新基于Ubuntu 16.04 带来更好硬件支持

项目负责人ClementLefebvre在本月6日披露了关于LinuxMint18“Sarah”操作系统的大量信息,包括带来全新扁平化体验的Mint-Y主题。而现在,这款将于年底之前上线的操作...