共计 1335 个字符,预计需要花费 4 分钟才能阅读完成。
游戏后端代码采用 Nginx+PHP-FPM 的方式部署。放问游戏的时候偶尔会出现 502 错误。
还有一篇:Nginx+PHP-FPM 遇到的 502 报错 http://www.linuxidc.com/Linux/2012-02/54782.htm
LAMP-PHP-fpm 服务器配置 http://www.linuxidc.com/Linux/2014-06/103093.htm
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm
高负载 PHP-FPM 调优 http://www.linuxidc.com/Linux/2013-07/86963.htm
Nginx php-fpm 出现 502 解决办法和调优心得 http://www.linuxidc.com/Linux/2013-01/78566.htm
Nginx+PHP-FPM 在两台服务器实现 http://www.linuxidc.com/Linux/2012-11/74001.htm
Ubuntu 10.04 配置 nginx + php-fpm 模式 http://www.linuxidc.com/Linux/2012-11/74001p2.htm
Nginx&&PHP-FPM 配置及优化指南(上)http://www.linuxidc.com/Linux/2012-07/65732.htm
Nginx 错误日志出现以下日志
2014/07/05 17:20:58 [error] 18431#0: *148739 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.56, server: , request: “POST /gateway.php HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “”
现列出排查思路
1.
在 /etc/php.ini 中设置 PHP 脚本执行的最长时间 max_execution_time = 30,这里设置为 30 秒。
2.
在 /etc/php-fpm.conf 中设置 PHP-FPM 进程处理每个进程的超时时间 request_terminate_timeout = 30s
3.
在 /etc/php-fpm.conf 中开启 PHP 的慢日志
request_slowlog_timeout = 1s
slowlog = /var/log/php-fpm/www-slow.log
4.
在 Nginx 配置文件 nginx.conf 中设置
fastcgi_connect_timeout 60; 设置 Nginx 和 FastCGI Server 建立连接的超时时间,默认是 60 秒,但是这个值不能经常超过 75 秒
fastcgi_send_timeout 60; 设置 Nginx 传送请求到 FastCGI Server 的超时时间
fastcgi_read_timeout 60; 设置 FastCGI Server 读取请求的超时时间
Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里