Uncle Toby
Uncle Toby

Reputation: 377

502 Bad Gateway Django

I have a simple application that allows you to upload images onto the server, and it is set up on my production server which consist of django + uwsgi + ngnix .

I have a problem when trying to upload an image. I get the following error:

error

502 Bad Gateway
nginx/1.2.1

function:

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))

template

 <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>

The 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"

Upvotes: 5

Views: 6830

Answers (2)

user3555345
user3555345

Reputation:

if third party app included in your project then it should be installed on your server also like south is third party app. Consider south is included in your settings.py file then south should be installed on your server also. If that module consider south here, is already installed on server then try to upgrade it. Because it is possible that you are using upgraded version of module on local machine and older version is installed in the server.

Upvotes: 1

Christian Jensen
Christian Jensen

Reputation: 395

It sounds like your uWSGI instance has died or is failing in such a way that it does not know how to answer.

Start by watching the nginx logs in addition to the uWSGI logs and see how far it gets.

Perhaps the file you are uploading is so large it is choking some front streaming portion.

Edit your post to indicate the output of the two log files and we will see.

Upvotes: 1

Related Questions