• [FAQ] PHP+Nginx 架构网站 502 和 504 问题


    502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
    504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。

    PHP 脚本执行中断,受以下几个配置的影响:
      php.ini 配置的 max_execute_time,默认30秒,可以通过 ini_set 和 set_time_limit 都用来设置此值。系统调用、数据库操作 的时间不包含在内。
      https://www.php.net/manual/zh/function.set-time-limit.php
      https://www.php.net/manual/zh/info.configuration.php#ini.max-execution-time

    php-fpm 配置 request_terminate_timeout。设置单个请求的超时中止时间。
    该选项可能会对 php.ini 设置中的 'max_execution_time' 因为某些特殊原因没有中止运行的脚本有用。设置为 '0' 表示 'Off'。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。
      https://www.php.net/manual/zh/install.fpm.configuration.php


    其它 php-fpm 本身的优化是根据服务器资源、负载,合理配置fpm子进程数、子进程重启时间。


    504错误一般是与 nginx.conf 配置有关。主要与以下几个参数有关:
      fastcgi_connect_timeout
      fastcgi_send_timeout
      fastcgi_read_timeout
      fastcgi_buffer_size
      fastcgi_buffers
      fastcgi_busy_buffers_size
      fastcgi_temp_file_write_size
      fastcgi_intercept_errors
      特别是前三个超时时间,单位是秒,默认是60。
      如果fastcgi缓冲区太小会导致fastcgi进程被挂起从而演变为504错误。

    Refer:http://www.ttlsa.com/web/analysis-of-site-502-and-504-error/
    Link:https://www.cnblogs.com/farwish/p/15529751.html

  • 相关阅读:
    undefined与null
    php中实现MVC的思想
    jquery返回json格式数据来获取每天的天气预报
    在php.ini中safe_mode开启之后对于PHP系统函数有什么影响呢?
    PHP的垃圾收集机制是怎样的
    javascript图片预加载技术
    web标准
    javascript简介
    javascript中的四种循环语句
    那些年,我还在学习C#
  • 原文地址:https://www.cnblogs.com/farwish/p/15529751.html
Copyright © 2020-2023  润新知