上传大文件失败,并显示“ResponseText:504 网关超时”

上传大文件失败,并显示“ResponseText:504 网关超时”

服务器设置:

Ubuntu server 10.10
using nginx 0.7.67
PHP 5.3.3 with PHP-FPM
Drupal 7 site. 
post_max_size = 1000M
upload_max_filesize = 1000M
max_execution_time = 3600
request_terminate_timeout = 3600s  <---this is PHP-FPM setting

从本地电脑上传到服务器时,上传栏突然停止并弹出一条消息:

An AJAX HTTP request terminated abnormally.
Debugging information follows.
Path: /file/ajax/field_vid/und/0/form-E3f71tOgO8ZCiQgVryNSshhFe8Xl4ieBkJJswXjSgwA
StatusText: n/a
ResponseText: 
ReadyState: undefined

单击“上传”按钮后 30 秒到 60 秒内会出现弹出消息。

这可能与从本地 PC 上传有关。因此,我尝试远程上传。它也失败了,并弹出一条消息:

An AJAX HTTP request terminated abnormally.
Debugging information follows.
Path: /file/ajax/field_vid/und/0/form-i9q-9xhs7bR9v9GMaqF9Z4Jyh8E5gIzjA4qMlRRR7cM
StatusText: n/a
ResponseText: 504 Gateway Time-out
nginx/0.7.67

ReadyState: undefined

我已经在网上搜索过,尝试了很多解决方案,但都没有成功

- - - - 添加

如果出现 504 Gateway 错误,一般是服务器端的问题。如果 PHP 配置没问题,那一定是其他问题。

由于错误弹出窗口来自 ajax,我认为这可能与某些缺失有关。仅供参考,服务器没有安装任何“上传进度”包。

(即使没有安装任何“上传进度”包,上传进度条仍然有效)

在 nginx 中安装上传进度需要重新安装,这让我三思而后行。您认为在这种情况下上传进度是强制性的吗?

答案1

1.我认为您可能存在以下情况之一:

1.1 上传设置错误。

1.2 某种网络数据包碎片

2.您可以按照以下步骤进一步测试:

2.1.查看错误的时间模式。

2.2.查看文件大小是否规律(文件大小超过 100mb 或类似情况)

对于第 1.1 点。完成第 2 点后,您可以尝试设置。对于第 1.2 点。在达到上传上限后,您可以尝试在本地网络中复制文件,然后尝试在网络外复制(如果适用)。

答案2

由于你没有发布你的 nginx 配置,所以你可能还没有尝试过这个设置

client_max_body_size 1000M;

在您的 http 块上。问题是,我不知道该设置是否对 nginx 0.7 有效。

相关内容