2013-06-26 2 views
4

나는 서버에 이미지를 업로드 할 수있는 간단한 응용 프로그램을 가지고 있으며 django + uwsgi + ngnix로 구성된 내 프로덕션 서버에 설정되어 있습니다.502 잘못된 게이트웨이 Django

이미지를 업로드 할 때 문제가 있습니다. 나는 다음과 같은 오류 얻을 :

오류를

502 Bad Gateway 
nginx/1.2.1 

기능 :

def upload(request): 
    form = ImageForm() 
    context = {'form':form,} 
    context.update(csrf(request)) 


    if request.POST: 
     form = ImageForm(request.POST, request.FILES) 
     if form_is.valid(): 

      image = request.FILES.get('image') 
      CarPhoto.objects.create(user=request.user,cars=1,description='dwq',image=image) 
      return HttpResponseRedirect(reverse('transformer:kevin')) 
    return  render_to_response('image.html',context,context_instance=RequestContext(request)) 

템플릿

<form method="POST" enctype="multipart/form-data" action="."> 

{% csrf_token %} 
<div id="c">image</div> {{form.image}} 
    <input type = "submit" value= "add" id="box2"/> 
</form> 

mysite.com_error.log

"uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:07:39 [error] 28870#0: *5 sendfile() failed (32: Broken pipe) while sending request to upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:08:12 [error] 29065#0: *5 sendfile() failed (32: Broken pipe) while sending request to upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:08:18 [error] 29065#0: *7 readv() failed (104: Connection reset by peer) while reading upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:09:11 [error] 29065#0: *9 readv() failed (104: Connection reset by peer) while reading upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:09:52 [error] 29065#0: *14 sendfile() failed (32: Broken pipe) while sending request to upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
2013/06/26 12:10:51 [error] 29065#0: *19 sendfile() failed (32: Broken pipe) while sending request to upstream, client: 313.19.220.424, server: mysite.com, request: "POST /car/ HTTP/1.1", upstream: "uwsgi://unix:///tmp/mysite.com.sock:", host: "174.414.14.551", referrer: "http://174.414.14.551/car/upload" 
+0

도움이 되셨습니까? http://stackoverflow.com/a/5676038/1628832 – karthikr

+0

@ karthikr 모든 솔루션은 귀중합니다 :) helpiong에게 감사드립니다. –

답변

1

uWSGI 인스턴스가 사망했거나 대답하는 방법을 모르는 것처럼 보입니다.

uginog 로그뿐 아니라 uWSGI 로그를보고 얼마나 멀리 있는지 확인하십시오.

아마도 업로드하는 파일이 너무 커서 일부 전면 스트리밍 부분을 질식시킬 수 있습니다.

게시물을 편집하여 두 로그 파일의 출력을 나타내면 알 수 있습니다.

1

타사 앱이 프로젝트에 포함되어있는 경우 타사 앱이 south와 같이 서버에 설치되어야합니다. south가 settings.py 파일에 포함되어 있으면 south도 서버에 설치해야합니다. 해당 모듈을 여기 south로 간주하면 서버에 이미 설치되어 있고 업그레이드를 시도하십시오. 로컬 컴퓨터에서 업그레이드 된 버전의 모듈을 사용하고 이전 버전이 서버에 설치되어있을 수 있습니다.

관련 문제