2013-06-26 72 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每個解決方案都是有價值的:)謝謝你的幫助 –

回答

1

這聽起來像你的uWSGI實例已經死亡或正在失敗,它不知道如何回答。

除了uWSGI日誌以外,還可以看看nginx日誌,看看它有多遠。

也許你正在上傳的文件太大了,它窒息了一些前端流媒體部分。

編輯您的帖子以指示兩個日誌文件的輸出,我們將會看到。

1

如果第三方應用程序包含在您的項目中,那麼它應該安裝在您的服務器上,就像南方是第三方應用程序。 考慮南你的settings.py文件,然後南應該也安裝在你的服務器上。 如果該模塊考慮在這裏,已經安裝在服務器上,然後嘗試升級它。因爲您可能在本地計算機上使用模塊的升級版本,並且在服務器中安裝了舊版本。