话说今天小编被今日头条的服务器崩溃这一头条吓到了,用了这么久其实都没有遇见过这样的问题,只能感叹互联网的风云变幻也不是我等凡人能够感知的,下面小编就来为大家介绍一下今天小编因为今日头条系统事故而频频见到的504 gateway time out是什么意思,又该如何解决这一问题呢。
504 gateway time out什么意思
如果单单只是按照字面的意思的话,就是504超时的意思,实际上也确实差不太多,504 Gateway Time-out 意思为:网关超时!
引起这样的问题大多数情况下可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器。
504 gateway time out如何解决
情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成:
这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。
情况一解决办法:
默认的fastcgi进程响应的缓冲区是8K,可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k
情况二:PHP环境的配置问题
这里需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。
情况二解决办法( php-fpm配置修改):
将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用。将request_terminate_timeout由之前的0秒改成60秒,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。
以上就是小编对于什么是504 gateway time out以及怎么解决这一问题的具体介绍,更多相关资讯请继续关注。