> 백엔드 개발 > PHP 튜토리얼 > 运维 - nginx + php 上传图片报warn

运维 - nginx + php 上传图片报warn

WBOY
풀어 주다: 2016-06-06 20:49:33
원래의
1276명이 탐색했습니다.

网站是nginx+php,有个接口是接受用户上传的图片,当接口并发量大的时候会报nginx warn

<code>a client request body is buffered to a temporary file /var/cache/nginx/client_temp/*****
</code>
로그인 후 복사
로그인 후 복사

查了一下资料,应该是客户端请求内容大于缓冲区,请求内容被写入临时文件 一般用户上传的图片都有1M左右,是否可以

<code>client_body_buffer_size 1024k
</code>
로그인 후 복사
로그인 후 복사

疑问:这样是否就是将请求保存在内存中?那么请求量大的时候会不会因为内存不足造成更大的问题

最近服务器负载会飙高,估计也和这个接口有关系,上传图片比较慢导致大量php进程在处理,是否有其它替代方案?

回复内容:

网站是nginx+php,有个接口是接受用户上传的图片,当接口并发量大的时候会报nginx warn

<code>a client request body is buffered to a temporary file /var/cache/nginx/client_temp/*****
</code>
로그인 후 복사
로그인 후 복사

查了一下资料,应该是客户端请求内容大于缓冲区,请求内容被写入临时文件 一般用户上传的图片都有1M左右,是否可以

<code>client_body_buffer_size 1024k
</code>
로그인 후 복사
로그인 후 복사

疑问:这样是否就是将请求保存在内存中?那么请求量大的时候会不会因为内存不足造成更大的问题

最近服务器负载会飙高,估计也和这个接口有关系,上传图片比较慢导致大量php进程在处理,是否有其它替代方案?

如果你设定了最大的buffersize,那么当这个maxbuffer_size小于可以使用的内存大小时,是不会报内存不足的,这点可以不用担心。如果要坚持用php做这个的话,我个人觉得只能加强些硬件性能了,否则可以换一种异步io的方式做做看(nodejs),但不见得一定有效,也不知道会不会有其他方面的问题。

这本身就不是个问题。我nginx设置的上传大小是100wGB。我认为就不应该设置这个限制。然后说回问题本身,有这么多用户你还愣用一个小水管!!?!?!这本身就不科学啊!!那腾讯网银新浪神马的岂不是都能一台服务器搞定所有事了= =

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿