Я недавно обновил Django до 1.8 и Celery до 4.1.1. После обновления на сервере появляется ошибка 502 только для одного URL.
Я использую uwsgi
. Вот часть кода. URL, с которым я сталкиваюсь, это judging/
urlpatterns = patterns('lbb.views',
url(r'^judging/', include('judging.urls')),
)
urls.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/
. Я пытался комментировать какой-то ненужный код. Но это все еще не работает.