Ubuntu 上的 Nginx + PHP-FPM 在上传 Joomla 扩展 zip 文件时给出“上游发送无效状态”

Ubuntu 上的 Nginx + PHP-FPM 在上传 Joomla 扩展 zip 文件时给出“上游发送无效状态”

我有一个在 ESV VM 环境中运行的 Ubuntu 服务器,并且安装了具有以下配置的 Web 服务器:

  • Nginx 1.0.5
  • 带有 PHP-FMP 的 PHP 5.3.6
  • Mysql 5.1.62

我在此服务器上安装了最新版本的 joomla,当我尝试上传安装包(包含 joomla 扩展文件的 zip 文件)时,我收到“502 Bad Gateway”,并在 nginx 日志文件中出现以下错误:

2012/05/13 11:22:21 [错误] 19911#0:*20 上游读取上游响应标头时发送了无效状态“-1 复制失败”,客户端:10.10.56.70,服务器:localhost,请求:“POST /administrator/index.php?option=com_installer&view=install HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“radio.xx.xx”,引荐来源:“http://radio.xx.xx/administrator/index.php?option=com_installer

我搜索了整个互联网,更改了 php 配置、fpm 配置和 nginx 配置的太多参数,包括增加执行时间等,但问题仍然存在。我很确定这与我的 Joomla 无关,问题出在网络服务器上,但除了上述消息外,没有可用的日志消息。

有人能帮我解决这个问题吗?

答案1

可能对你有用。

我在更新单个组件时遇到了类似的问题。这似乎与它试图替换的文件的权限有关。该论坛帖子建议在它返回的错误消息中添加一些额外信息,以便您可以确定它在哪些文件上失败。

答案2

经过几个月的搜索,我发现问题出在vsftpd上传文件时使用的 chmod。上传文件后,PHP 甚至无法读取文件。

我不再费力地使用 vsftpd,而是设法使用 http 上传文件,问题就解决了!

答案3

对于我来说,我通过 http 上传了文件,我得到了类似的信息:1886#0:* 37766 上游发送了无效状态“-1 复制失败”,同时从上游读取响应头,客户端在我的 nginx 日志中,结果发现其中一个目录在这种情况下不存在“cli”。

相关内容