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. Nginx is a popular web server that can be used to host websites and web applications. 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 and 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.


  • A server running one of the following operating systems: RHEL-based such as CentOS, AlmaLinux, or Rocky Linux.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo useror access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Fix 504 Gateway Time-out on Nginx

  • Changes in php.ini

Try raising the max_execution_time setting in php.ini a file (The 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

sudo systemctl restart php-fpm
sudo systemctl restart nginx

For Nginx as Proxy for the 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       300;
proxy_send_timeout          300;
proxy_read_timeout          300;
send_timeout                300;

Once complete, simply reload Nginx:

sudo nginx -t
sudo systemctl restart nginx

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!