解决 nginx 返回数据不完整的方法

通过PHP请求接口时发现接口的内容输出没有完整的返回整个数据,早上只修改了nginx api_metrics插件里的计算response大小的代码,观察日志发现一条:

2012/08/28 02:13:05 [crit] 1912#0: *21685 open() "/usr/local/nginx/proxy_temp/8/00/0000000008" failed (13: Permission denied) while reading upstream, client: 59.***.**.***, server: ******.banckle.com, request: "GET /livechat/livechat-backend.do HTTP/1.1", upstream: "http://127.0.0.1:8084/livechat/livechat-backend.do", host: "******.banckle.com"

该目录无法被nginx的nobody账户访问,那就设置权限呗:

sudo chown -R nobody:nobody /usr/local/nginx/proxy_temp/

刷新浏览器,一切正常。

出 现这个问题的原因是nginx里对于小的反向代理请求是使用内存作中转,对于稍微大一点的,是使用文件系统来做中转。然后之前调试nginx插件的时候, 为了方便访问日志等数据就在root下调试的,部分子目录被nginx删除后重建,owner变了,所以正式的nginx反而不能访问了。

时间: 2024-11-06 03:52:03

解决 nginx 返回数据不完整的方法的相关文章

paramiko 登录linux主机后执行tail后返回数据不完整解决方法。

1 def get_sql_log(host,port,user,password,key_words,out_put_filename): 2 commond='cd crm-app/;./tailall.sh | grep %s'%key_words 3 s = paramiko.SSHClient() 4 s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 5 s.connect(host,port,user,password)

C# 解决串口接收数据不完整

方法1: 使 用缓存机制完成.首先通过定义一个成员变量List<byte> buffer = new List<byte> (4096);用来存放所有的数据,在接收函数里,通过buffer.AddRange()方法不断地将接收到的数据加入到buffer中,并同时对 buffer中的数据进行检验,如果达到一定的长度并且校验结果正确(校验方法在发送方和接收方一致),再进行处理.具体代码如下:代码 private List<byte> buffer = new List<

解决 ie 返回json提示下载 ResponseEntity方法

js 配合java  springMVC后台,成功后返回消息,chrom ff都正常,只有IE提交后返回的JSON提示下载,查看类型 application/json  google后发现原来是IE不支持该标识,所以一律作为文件下载 网上一般有三种方法: 一是手工指定response 二是修改配置文件(但本人一直为试验成功) 三是不再用 @ResponseBody,改用ResponseEntity<T>      这种方法成功率最高,但是修改起来比较麻烦,如果你有很多地方已经用了@Respon

nginx 返回数据被截断

nignx 代理 buffer proxy_buffers 16 512k; proxy_buffer_size 512k;   fastcgi buffer fastcgi_buffers 4 64k; fastcgi_buffer_size 64K;   nginx的buffer机制 对于来自 FastCGI Server 的 Response,Nginx 将其缓冲到内存中,然后依次发送到客户端浏览器.缓冲区的大小由 fastcgi_buffers 和 fastcgi_buffer_size

解决nginx 504 Gateway Time-out的一些方法

在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现.    从 错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况

解决Ajax返回数据包含整个jsp页面的问题

处理请求页 <% ResultSet rs = conn.executeQuery("select name from tb_book order by id desc"); String str = ""; str = "{ \"info\":\""; if(rs.next()){ do{ str += ""+rs.getString(1)+""; }while(rs.

delphi SPCOMM 接收数据不完整!该如何解决

SPCOMM 接收数据不完整!该如何解决 SPCOMM 接收数据不完整!我作了一个 读取地磅数据的程序,是用spcomm接收的! 总共有五台地磅,其他4台地磅数据读取都正常.但是有一台接收数据的时候,总是接收不到完整的数据,基本上小于100的数据都读不到,比如:地磅上显示1234,但是接收到的数据是12.  地磅上显示60,接收不到数据. 有时地磅上什么东西都没有,但是显示接收到 5 . 这个地磅用原来硬件供应商提供的程序可以正常工作.用我写的程序,偶尔也能正常读到数据(用程序测试了半天,有几次

返回数据给上一个活动

我们都知道,android开发中一个活动跳转时是可以带数据传递给下一个活动的,那么能不能够返回数据给上一个活动呢?答案是肯定的.不过不同的是,返回上一个活动只需要按一下Back键就可以了,并没有一个用于启动活动Intent来传递数据.通过查阅文档你会发现,Activity中还有一个startActivityForResult()方法也是用于启动活动的,但这个方法期望在活动销毁的时候能返回一个结果给上一个活动.毫无疑问,这就是我们所需要的. startActivityForResult()方法接收

SpringMVC-------2.接受参数,保存数据和返回数据

1.springmvc接受参数 1.1直接把表单的参数写在Controller相应的方法的形参中  1.2 通过HttpServletRequest接收 1.3通过一个bean来接收,post方式和get方式都可以. 创建user实体类 1.4用注解@RequestParam绑定请求参数到方法入参 当表单元素的name属性和方法参数名不同时,通过@RequestParam来绑定参数 1.5当接收的参数是时间类型的参数 1.5.1接收单个时间参数,在controller中添加initBinder注