朋友说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 即可解决了。
时间: 2024-10-10 16:09:25