代码之家  ›  专栏  ›  技术社区  ›  saiyan

django和uwsgi只显示特定url的502

  •  0
  • saiyan  · 技术社区  · 6 年前

    我最近把django升级到1.8,芹菜升级到4.1.1。升级后,服务器上只有一个url出现502错误。

    我在用 uwsgi .这是一些代码。我遇到的问题是 judging/

    urlpatterns = patterns('lbb.views',
        url(r'^judging/', include('judging.urls')),
    )
    

    判断应用程序中的url.py

    urlpatterns = patterns('judging.views',
        url(r'^$', AppView.as_view(), name='judge_home')
    )
    

    景色是

    class AppView(TemplateView):
        template_name = 'judging/app.html'
    
        def get(self, request, *args, **kwargs):
            """ method get of class JudgeLoginView """
            if not request.user.is_authenticated():
                url="%s?next=%s" % (reverse("judge_login"), '/judging/#/judge_home')
                return redirect(url)
            return super(AppView, self).get(self, request, *args, **kwargs)
    

    它通常正常运行。但升级后我遇到了这个问题。nginx文件是

    upstream application {
        server lbb-app:8000;
    }
    
    
    server {
        listen 80 default_server;
    
        charset     utf-8;
    
        client_max_body_size 4G;   # adjust to taste
        server_tokens off;
    
        add_header X-Content-Type-Options nosniff;
    
        add_header X-XSS-Protection "1; mode=block";
    
        add_header Cache-Control "no-store";
    
        add_header Pragma "no-cache";
    
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
    
    
        location /work {
            include     uwsgi_params;
            uwsgi_pass  application;
        }
    
    
        location / {
            include     uwsgi_params;
            uwsgi_pass  application;
        }
    }
    

    Uwsgu.ini是

    [uwsgi]
    env=DJANGO_SETTINGS_MODULE=lbb.settings.common
    chdir=/opt/webapp
    module=lbb.wsgi:application
    reload-mercy=10
    master=1
    no-orphans=1
    workers=4
    enable-threads=1
    single-interpreter=1
    socket=:8000
    harakiri=20
    max-requests=5000
    vacuum=1
    buffer-size = 65535
    

    我在nginx配置中做了一些更改并部署了几次。但换回旧的重新部署。其他url都可以正常工作。除了我提到的那个 https://website/judging/ 是的。我试着评论一些不必要的代码。但还是不行。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Alex K.    6 年前

    我认为问题在于:

    urlpatterns = patterns('judging.views',
        url(r'^$', AppView.as_view(), name='judge_home')
    )
    

    您应该从url模式中删除$或^sign。