nginx搭配php-fpm504問題解決

使用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章