Nginx + php-fpm "504 Gateway Time-out" error with almost zero load (on a test-server)
Solution 1:
I found answer on my posting on the nginx forum - http://forum.nginx.org/read.php?2,127854
The answer, in my case, is to set:
request_terminate_timeout=30s
in php-fpm config (usually /etc/php5/fpm/php-fpm.conf
)
Note, you can use values other than 30s also.
I used it to match my value in main php.ini
file which is:
max_execution_time = 30
Thanks All. :-)
Solution 2:
Here how it resolved my issue:
make following changes to /etc/nginx/nginx.conf in http { section
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
and then restart nginx
/etc/init.d/nginx restart
Solution 3:
If you are using php 5.3, increase the backlog.
If you are using php 5.2, backport the patch to increase the backlog size from 128.
Also, use a unix socket rather than a TCP socket. unix:/tmp/php5-cgi.sock (or the relevant path)
Solution 4:
Great, thanks
request_terminate_timeout=30s
It works perfectly for me
but, I had to insert the line in this file : "/etc/php5/fpm/pool.d/www.conf" that is to say in the "Worker Section".
PHP 5.3.21-1 - Wordpress 3.5.1
http://php-fpm.org/wiki/Configuration_File
Solution 5:
in my case (same nginx error message), some problematic php scripts are not ending to execute and waiting for something, resulting no more php5-fpm children for nginx to pick.
fix:
- add execution time limit other mentioned it this post.
request_terminate_timeout=30s
- raise children number. and everything worked like a charm.
pm.max_spare_servers=16
pm.min_spare_servers=2
now everything worked like a charm.