共计 1599 个字符,预计需要花费 4 分钟才能阅读完成。
有说 504 Gateway Time-out 的错误提示与 Nginx 本身是没有任何关系的我们可以通过 fastcgi 配置参数的调整进行解决。
修改 php-fpm 配置文件:
1. 把 max_children 根据系统修改下,保证有充足的 php-cgi 进程可以被使用;
修改 php-fpm 配置文件增加 php-cgi 进程数量
修改 php-cgi 进程数:
代码如下
vi /usr/local/php/etc/php-fpm.conf
找到:
<value name=”max_children”>5</value>
找到按你的内存容量修改 PHP 进程的数量,一般 128 内存开启 6 个,256 内存开启 16 个。这样能保证,在 PHP 大并发的情况下不会 502 错误。一个进程占 12M-20M 不等,具体开多少个根据内存大小自己决定。
max_children 用于设置 FastCGI 的进程数。根据官方建议,小于 2GB 内存的服务器,可以只开启 64 个进程,4GB 以上内存的服务器可以开启 200 个进程。
2. 把 request_terminate_timeout 改为 60s,这样 php-cgi 进程处理脚本的超时时间就是 60 秒,可以防止进程都被挂起,提高利用效率。
修改 nginx.conf 文件,如下:
代码如下
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
之后再重启你的服务器 /etc/init.d/php-fpm restart 即可解决了
Nginx 的配置与部署研究,Upstream 负载均衡模块 http://www.linuxidc.com/Linux/2013-04/82526p2.htm
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的 500,502,504 错误解决方法 http://www.linuxidc.com/Linux/2015-03/115507.htm
Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139764.htm