使用Nginx網絡服務器看到504網關超時錯誤是很常見的。在服務內容的後端連接上,由於多種原因,通常會生成此超時錯誤。要修復504網關超時,您必須確定使用的配置。
您將如何看到504 Gateway Timeout錯誤
不同的網站可以自定義504網關超時錯誤消息。以下是最常見的504錯誤消息:
- “504網關超時”
- “504網關超時”
- “504 Gateway Timeout NGINX”
- “Nginx 504網關超時”
- “HTTP 504網關超時”
- “HTTP 504錯誤”
- “HTTP 504”
- “網關超時(504)”
Nginx + FastCGI上的504網關超時錯誤(php-fpm)
對於 Nginx + FastCGI(php-fpm),您應該嘗試以這種方式調整nginx配置:
嘗試提高文件中的max_execution_time設置php.ini(CentOS路徑是/etc/php.ini):
max_execution_time = 300
但是,您還應該request_terminate_timeout parameter在www.confPHP-FPM的文件中更改set (默認情況下注釋):
pico -w /etc/php-fpm.d/www.conf
然後將變量設置爲相同的值max_execution_time:
request_terminate_timeout = 300
現在讓fastcgi_read_timeout我們在Nginx虛擬主機配置中添加 變量:
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;
包括fastcgi_params;
fastcgi_read_timeout 300;
}
然後重啓nginx:
服務nginx重新加載 ./nginx -s reload
使用Nginx作爲代理進行504網關超時錯誤
對於 Nginx作爲 Apache Web服務器的代理,您必須嘗試修復504網關超時錯誤:
將這些變量添加到nginx.conf文件中:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
然後重啓nginx:
服務nginx重新加載 ./nginx -s reload