首页 » 网站建设 » nginx拜访php502技巧_触类旁通从502缺点看Nginx常见故障与修复

nginx拜访php502技巧_触类旁通从502缺点看Nginx常见故障与修复

访客 2024-12-15 0

扫一扫用手机浏览

文章目录 [+]

因此,本文将从一个Nginx缺点代码502引发的故障入手,谈谈如何剖析和修复常见的Nginx非常。

故障简述

nginx拜访php502技巧_触类旁通从502缺点看Nginx常见故障与修复

某一天游戏客服溘然反应说,游戏x区涌现502 Bad Gateway,于是上做事器进行检讨

nginx拜访php502技巧_触类旁通从502缺点看Nginx常见故障与修复
(图片来自网络侵删)

故障详情

这个网页游戏区是由三台腾讯云做事器供应的做事。

172.16.0.5Nginx反向代理172.16.0.8MDB+WEB172.16.0.16SDB+WEB

172.16.0.5是一台调度器,后端两台做事器采取lnmp+memcached架构。
每过一段韶光玩家通过nginx转发机登录会报错如上图502缺点,可是后端做事器访问正常,当我重启后端memcached之后,转发机规复正常

处理过程

nginx涌现502有很多缘故原由,但大部分缘故原由可以归结为资源数量不足用,也便是说后端php-fpm处理有问题,nginx将精确的客户端要求发给了后真个php-fpm进程,但是由于php-fpm进程的问题导致不能精确解析php代码,终极返回给了客户端502缺点。
以是我着重检讨了php-fpm进程。
将php-fpm进程调至64。

<value name=\公众max_children\公众>64</value>

清楚memcahced缓存之后规复正常,可适当不雅观察一段韶光,前置代理机又会涌现502缺点,这就让人很头疼了。

看来调试php-fpm不管用,不是办理方法,不是缘故原由所在。

进一步排查。
502缺点是由于后端无法正常供应做事造成的,以是敢断定一定是后真个问题。

我们进行内核优化,sysctl.conf中添加如下几行,

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_max_syn_backlog = 8192

net.core.somaxconn = 512

不雅观察一段韶光后没有结果依然不尽人意。
后来想到了每当我重启memcached时候就会规复正常。
于是就把焦点转移到了memcahced上。
由于游戏程序利用了memcached,关闭此做事,游戏程序会报错,以是我们决定对他进行调优。
也只有这样一步一步排查了。

针对有8G内存的云主机上,在memcached启动脚本中修正了启动内存参数为256M,默认是64M,然后重启memcached,创造前置代理机规复正常再也没有涌现过502报错。

free -m

total used free shared buffers cached

Mem: 7870 6728 1141 32 151 2277

-/+ buffers/cache: 4299 3570

Swap: 0 0 0

履历教训

忽略对缓存的调优,针对内存大小进行调优

引申

上面先容了Nginx 502缺点的可能缘故原由和解决办法,但实际事情中,我们碰着的可不止这么一点。
于是,由此引申出去的是,针对那些Nginx常见缺点如何去排查和解决。

403缺点

403是很常见的缺点代码,一样平常便是未授权被禁止访问的意思。

可能的缘故原由有两种:

Nginx程序用户无权限访问web目录文件

Nginx须要访问目录,但是autoindex选项被关闭

修复方法:

付与Nginx程序用户权限读取web目录文件

设置autoindex目录为on

504缺点

Nginx 504 Gateway Time-out的含义是所要求的网关没有要求到,大略来说便是没有要求到可以实行的PHP-CGI。

Nginx 504 Gateway Time-out一样平常与Nginx.conf的设置有关。

标签:

相关文章

php7012nts技巧_Composer依靠治理

举个例子,平时我们开始的时候如果不是用框架,想要一个验证码,就要先去Gihutb或者其他地方找一个验证码类,然后在项目中inclu...

网站建设 2024-12-17 阅读0 评论0