首页 > 系统相关 >php nginx 出现504 Gateway Timeout

php nginx 出现504 Gateway Timeout

时间:2023-11-17 14:44:49浏览次数:37  
标签:nginx 128k Timeout 504 php Gateway fastcgi

先试试:

ini_set('memory_limit','4096M'); 
set_time_limit(0);

情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成

这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。

情况一解决办法:

默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8块128k大小的空间。
情况一解决办法(改进):
在上述方法修改后,如果还是出现问题,我们可以继续修改nginx的超时参数,将参数调大一点,如设置为60秒:
send_timeout 60;
经过这两个参数的调整,结果没有再提示“504 Gateway Time-out”错误,问题基本解决。

情况二:PHP环境的配置问题

这里我们需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。

情况二解决办法( php-fpm配置修改):

将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用。
将request_terminate_timeout由之前的0秒改成60秒,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。
情况二解决办法(nginx配置修改):
为了减少fastcgi的请求次数,尽量维持buffers不变,我们要更改nginx的几个配置项,如下:
将fastcgi_buffers由4 64k改为2 256k;
将fastcgi_buffer_size 由64k改为128k;
将fastcgi_busy_buffers_size由128k改为256k;
将fastcgi_temp_file_write_size由128k改成256k。
情况二解决办法修改完,我们需要重新加载php-fpm和nginx的配置,然后再进行测试。就应该不会再出现“504 Gateway Time-out”错误

标签:nginx,128k,Timeout,504,php,Gateway,fastcgi
From: https://www.cnblogs.com/shaoing/p/17838710.html

相关文章

  • 默认nginx.conf
     usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime.types;default_typeapplication/octet-stream;log_formatmain'$remote_a......
  • 内网走nginx代理访问高德webapi2.0
    需求:客户的电脑都只能访问内,服务器可以访问外网,客户电脑使用的项目中用到了高德webapi2.0。10.200.31.45:32100是我们的web服务器。网上基本上都是对高德webapi1.4的配置方式,而web2.0有一些差别。1.前端修改高德地图的js应用如果是index.html引入,修改之前的应用:<script......
  • Ubuntu 22.04 LTS 安装最新稳定版本nginx、mysql5.7和php7.2
    Ubuntu22.04LTS安装最新稳定版本nginx、mysql5.7和php7.2全部apt-get安装,就是快,迅速。前提是需要在有网络环境的情况下哈!!操作系统版本:Ubuntu22.04LTS一、安装最新稳定版本的nginxapt-getupdate#查看默认安装的nginx版本(默认为1.18。有点老,我们安装最新稳定版本)apt......
  • 504 与413错误处理
    报504错误,我们可以从ngxin上找找看是否是nginx访问超时导致的错误。proxy_connect_timeout1000;proxy_send_timeout1000;proxy_read_timeout1000;send_timeout1000;如果还是不行,那么很可能是fastcgi请求超时导致了程序访问超时fastcgi_connect_timeout1000......
  • nginx 日志备份
    ·1、编辑脚本backup.sh#!/bin/bash#进入备份目录cd/data/nginx/logs/#设置备份名字newAccessLog="access`date+%Y-%m-%d`.log"newErrorLog="error`date+%Y-%m-%d`.log"#拷贝日志文件,已经在配置文件设置日志文件存放在:/data/nginx/logs/下,如果没有修改日志路径的一般在:/u......
  • nginx 定时重启
    1、编写脚本nginx_restart.sh#!/bin/bashps-ef|grepnginx|grep-vgrep>/data/nginx/nginx_restart.txtfile=$(cat/data/nginx/nginx_restart.txt|grepprocess|grep-vnginx_restart|awk'{print$2}')file_num=`cat/data/nginx/nginx_restart.......
  • nginx 日志查询
    转载:https://www.jianshu.com/p/f105fb19dd0b1、根据访问IP统计UVawk'{print$1}'access.log|sort|uniq-c|wc-l2、统计访问URL统计PVawk'{print$7}'access.log|wc-l3、查询访问最频繁的URLawk'{print$7}'access.log|sort|uniq-c|sort-n-k1-r|m......
  • skywalking(二) 实现基于nginx+java服务的全链路数据收集
    实现nginx+jenkins全链路数据追踪1.部署JenkinsIP:10.0.0.941.1安装、配置jenkins#1.安装jdk11aptupdateaptinstall-yopenjdk-11-jdk#2.下载tomcatmdkir/apps&cd/appswgethttps://dlcdn.apache.org/tomcat/tomcat-8/v8.5.93/bin/apache-tomcat-8.5.93.tar.g......
  • nginx配置kibana访问用户名和密码认证、及无认证访问配置
    在nginx上配置kibana页面访问时,默认是采用kibana的认证,一般直接安装kibana后,是没有用户名和密码认证的。如果要在负载均衡上配置反向代理和用户认证,可按以下步骤进行配置:1.安装Nginx:首先,确保已经安装了Nginx,并且可以正常访问Kibana页面。2.生成密码文件:使用htpa......
  • web nginx 大量time_wait 几乎没有establish
     #!/usr/bin/python#-*-coding:utf-8-*-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@auhorbyruiy####pipinstallparamiko-ihttps://pypi.tuna.tsinghua.edu.cn/simple##pipinstallpsutil-ihttps:/......