It is very common to see a 504 Gateway Time-out using Nginx webserver. This timeout error is generated often by a number of reasons on the backend connection that is serving content. To fix it, you will have to figure out what configuration are you using.
For Nginx + FastCGI (php-fpm), you should try to tweak nginx configuration in this way-:
Try raising max_execution_time setting in php.ini file (CentOS path is /etc/php.ini):
Mã:
max_execution_time = 300
max_input_time = 300
But, you should also change set request_terminate_timeout parameter (commented by default) at www.conf file from PHP-FPM:
Mã:
pico -w /etc/php-fpm.d/www.conf
Then set the variable to the same value as max_execution_time:
Mã:
request_terminate_timeout = 300
Then set keepalive_timeout in nginx.conf file (CentOS path is /etc/nginx/nginx.conf):
Mã:
keepalive_timeout 300;
Now let’s add fastcgi_read_timeout variable inside our Nginx virtual host configuration:
Mã:
location ~ .php$ {
root /var/www/sites/nginxtips.com;
try_files $uri =404;
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
Then restart nginx:
Mã:
service nginx restart
For Nginx as Proxy for Apache web server, this is what you have to try:
Add this variables to nginx.conf file:
Mã:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
Then restart nginx:
Mã:
service nginx restart