zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    用“Keras”11行代码构建CNN
    技术 | 使用深度学习检测DGA(域名生成算法)
    未来的超级智能网络攻击需要AI竞技俱乐部来拯救
    开源中国的代码托管
    Hello Java !
    15-include的使用
    14-递归函数
    13-函数的调用
    12-函数的返回值
    11-函数的参数
  • 原文地址:https://www.cnblogs.com/farwish/p/15529751.html
Copyright © 2011-2022 走看看