xml过长时被nginx截断

本文介绍了一个关于Nginx无法正确处理长XML数据的问题,并详细记录了解决过程。问题出现的原因在于Nginx尝试将部分数据写入临时文件时遇到权限问题。文章最后给出了具体的解决方案。

问题描述

通过网页获取数据,数据格式为xml。当xml比较短时,可以正常获取数据。但是xml长度过长时不能正常获取数据,通过观察返回数据的源代码,发现xml被截断了。

服务器环境

  • CentOS 6.5
  • Nginx 1.0.15
  • PHP 5.3.3

解决方法

对比发现,使用apache代替nginx的时候可以正常获取长的xml数据。确定问题出现在nginx的配置上。

查看ngnix日志(yum安装默认目录:/var/log/nginx/)发现问题所在。

2015/01/26 13:38:07 [crit] 2316#0: *33 open() "/var/lib/nginx/tmp/fastcgi/1/01/0000000011" failed (13: Permission denied) while reading upstream, client: 192.16    8.56.1, server: , request: "GET /index.php?param=****** HTTP/1.1", upstream: "fastcgi://127.0    .0.1:9000", host: "centos.ctrip.dev:8001"

问题出现在此时nginx临时向/var/lib/nginx/tmp/目录下写入了临时数据,而执行nginx的用户没有该目录的写入权限。

解决该权限问题后问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值