How To Fix 504 Gateway Time-out on Nginx

Fix 504 Gateway Time-out on Nginx

In this tutorial, we will show you how to fix 504 gateway time-out on the Nginx web server on the Linux server. If you run an Nginx web server you may have already encountered the annoying 504 Gateway Time-out errors. This is a pretty common error, is generated most probably by the PHP max execution time limit, or by the FastCGI read timeout settings.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation to fix Nginx 504 gateway timeout on the Nginx webserver.

Fix 504 Gateway Time-out on Nginx

  • Changes in php.ini

Try raising the max_execution_time setting in php.ini file (CentOS path is /etc/php.ini):

max_execution_time = 150
  • Changes in PHP-FPM

Try raising the request_terminate_timeout setting in the php.ini file (CentOS path is /etc/php-fpm.d):

request_terminate_timeout = 150
  • Changes in Nginx Config

Finally, add the fastcgi_read_timeout variable inside our Nginx virtual host configuration:

location ~* \.php$ {
    include         fastcgi_params;
    fastcgi_index   index.php;
    fastcgi_read_timeout 150;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;

Reload PHP-FPM and Nginx

service php-fpm restart
service nginx restart

For Nginx as Proxy for Apache web server, this is what you have to try to fix the 504 Gateway Timeout error:

Add the following variables to nginx.conf file:

proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
send_timeout                600;

Once complete, simply reload Nginx:

service nginx restart

Congratulations! You have successfully fixed the error Nginx 504 gateway time out. Thanks for using this tutorial to fix 504 gateway timeout errors in the Linux system. For additional help or useful information, we recommend you check the official Nginx website.

Nginx Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “Nginx Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!