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

  • 相关阅读:
    AjaxHelper 无刷新留言
    girdview 中的radiobutton 的逐行触发checkedselected事件
    .NET 新语法
    获取checkbox的值
    git 代码提交规范
    chrome的timeline中stalled问题解析
    小程序添加节流阀
    深度遍历与广度遍历
    JS 运行机制
    地址栏输入url后做了那些事情什么
  • 原文地址:https://www.cnblogs.com/farwish/p/15529751.html
Copyright © 2011-2022 走看看