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