5

我有一个简单的应用程序,允许您将图像上传到服务器上,它设置在我的生产服务器上,由 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"
4

2 回答 2

1

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

除了 uWSGI 日志之外,还可以查看 nginx 日志,看看它有多远。

也许您正在上传的文件太大,以至于阻塞了一些前端流媒体部分。

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

于 2013-09-13T06:09:37.560 回答
1

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

于 2014-04-22T10:42:57.343 回答