502 Bad Gateway Django

时间:2013-06-26 12:22:15

标签: django

我有一个简单的应用程序,允许您将图像上传到服务器,它在我的生产服务器上设置,包括django + uwsgi + ngnix。

尝试上传图片时遇到问题。我收到以下错误:

错误

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"

2 个答案:

答案 0 :(得分:1)

听起来你的uWSGI实例已经死亡或者以一种不知道如何回答的方式失败。

首先观察除了uWSGI日志之外的nginx日志,看看它有多远。

你上传的文件可能太大了,它会阻塞一些前端部分。

编辑帖子以指示两个日志文件的输出,我们将看到。

答案 1 :(得分:1)

如果您的项目中包含第三方应用程序,那么它应该安装在您的服务器上,就像南方是第三方应用程序一样。 考虑在您的settings.py文件中包含south,然后南也应该安装在您的服务器上。 如果该模块在这里考虑南,已经安装在服务器上然后尝试升级它。因为您可能在本地计算机上使用升级版本的模块,并且在服务器中安装了旧版本。