我有一个在 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”。