nginx + php-fpm中的504错误:post请求

我有一个testing服务器nginx和php-fpm。

网站上的页面正常打开,但是当我想发送POST请求例如“现场授权”时,我得到“504网关超时错误”。 Nginx和php-fpm被configuration为默认设置。

什么可能是504的原因?

这似乎是一个相当普遍的问题,如过去在StackOverflow上所示:

  • 如何防止与Nginx的网关超时
  • Django站点上的Nginx + FastCGI去(504网关超时)
  • nginx错误“504网关超时”

无论如何,对于你的具体问题,我会说答案在于PHP-FPMconfiguration。 也许你应该检查你的php-fpm.conf(如果你有PHP5-FPM,你应该检查/etc/php5/fpm/pool.d/www.conf/etc/php5/fpm/php-fpm.conf )并设置这个参数:

 request_terminate_timeout = 30s 

如果事情不起作用,将其改为更低或更高的值也可能有用。

你也可以在nginx端处理这个问题,如果在你使用fastcgi_pass的节中使用这些指令的时候nginx超时,

 fastcgi_connect_timeout 60; fastcgi_read_timeout 60; 

那些将连接和响应超时设置为60秒之前nginx将给你的504。