
502错误原因分析:
1、这类错误常见于Nginx+PHP的Web架构,Nginx将请求提交给网关PHP-FPM执行,但是由于某些原因请求没有执行完毕导致PHP-FPM进程终止执行。说到此,这个问题就很明了了,与网关服务如PHP-FPM的配置有关了。
2、php-fpmconf配置文件中有两个参数就需要你考虑到,分别是max_children和request_terminate_timeout。
3、max_children最大子进程数,在高并发请求下,达到php-fpm最大响应数,后续的请求就会出现502错误的。可以通过netstat命令来查看当前连接数。
4、request_terminate_timeout设置单个请求的超时终止时间。还应该注意到phpini中的max_execution_time参数。当请求终止时,也会出现502错误的。
5、当积累了大量的php请求,你重启php-fpm释放资源,但一两分钟不到,502又再次呈现, 这时还应该考虑到数据库,查看下数据库进程是否有大量的locked进程,数据库死锁导致超时,前端终止了继续请求,但是SQL语句还在等待释放锁,这时就要重启数据库服务了或kill掉死锁SQL进程了。
6、所以在调整max_children和request_terminate_timeout、max_execution_time也需要考虑到服务器资源使用情况及应用代码sql执行效率情况,需要综合衡量。502 Bad Gateway:服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。 亦说Web服务器用作网关或代理服务器时收到了无效响应。
远程服务器是成对设置的。 若要设置一对远程服务器,请将这两台服务器配置为彼此将对方识别为远程服务器。
大多数情况下,不需要为远程服务器设置配置选项。 SQL Server 组将在本地计算机和远程计算机上设置默认值以允许远程服务器连接。
为了能够进行远程访问,必须在本地和远程计算机上将 remote access 配置选项设置为 1。 (这是默认设置。)remote access 控制远程服务器的登录。 可以通过使用 Transact-SQL sp_configure 存储过程或 SQL Server Management Studio 重置此配置选项。 若要在 SQL Server Management Studio中设置选项,请在 “服务器属性连接” 页上,使用 “允许远程连接到此服务器”。 若要访问“服务器属性连接”页,请在对象资源管理器中右键单击服务器名称,再单击“属性”。 在 “服务器属性” 页上,单击 “连接” 页。
在本地服务器中,您可以禁用远程服务器配置,以防止远程服务器中的用户对与其配对的本地服务器进行访问。
502 Bad Gateway是指错误网关;无效网关;在互联网中表示一种网络错误。表现在WEB浏览器中给出的页面反馈。
解决方法就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。
如果服务器能正常给予响应就可以看到页面了。
刷新其实就是从服务器下载数据到本地的硬盘浏览器,再从本地硬盘中读取数据到浏览器显示给我们看。
①基本刷新:就是点击刷新或者使用F5快捷键
基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发出请求。大部分用户很多时候都是这样刷新的,遇到502报错的就没有任何效果。
②从服务器刷新: 如果你重新直接点击想要浏览的网页链接,会发现显示"502 bad gateway"错误信息的页面在点击链接后又可以正常浏览。
服务器(不一定是Web服务器)是作为网关或代理,以满足客户的要求(如Web浏览器或我们的CheckUpDown机器人)来访问所请求的URL 。此服务器收到无效响应从上游服务器访问履行它的要求。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)