nginx, uwsgi и Django выдают ошибку 500

#django #nginx #uwsgi

Вопрос:

Я застрял на несколько часов, пытаясь заставить эту конфигурацию работать. Вот мои данные о конфигурации ниже:

 [uwsgi] uid = ubuntu gid = ubuntu  plugins = python3  wsgi-file = /home/ubuntu/core/core/wsgi.py virtualenv = /home/ubuntu/virtual chdir = /home/ubuntu/core home = /home/ubuntu/virtual  env = DJANGO_SETTINGS_MODULE=core.settings socket = /run/uwsgi/app.sock logto = /var/log/uwsgi/%n.log module = core.wsgi:application chown-socket = ubuntu:ubuntu chmod-socket = 666 enable-threads = True  

и для nginx:

 # nginx -c /etc/nginx/nginx.conf server {  listen 80;  server_name example.com;  proxy_hide_header X-Frame-Options;   if ($http_x_forwarded_proto = 'http') {  return 301 https://$server_name$request_uri;  }   proxy_set_header X-Forwarded-Proto https;   location /static {  root /home/ubuntu/core/assets;  }   location / {  include uwsgi_params;  uwsgi_pass unix:/run/uwsgi/app.sock;  } }  

Я не вижу никаких ошибок в журналах, но там все равно написано 500 ошибок. Я внимательно прочитал документацию по uwsgi и nginx. Я чего-то не понимаю? Любая помощь будет признательна!

ПРАВКА 1

Вот моя LOGGING со стороны Джанго:

 LOGGING = {  'version': 1,  'disable_existing_loggers': False,  'formatters': {  'verbose': {  'format': '[%(levelname)s %(asctime)s %(thread)d] '  '%(module)s:%(funcName)s - %(message)s'  },  'simple': {  'format': '%(levelname)s %(message)s'  },  'loggly': {  'format': 'loggly: %(message)s',  },  },  'filters': {  'require_debug_false': {  '()': 'django.utils.log.RequireDebugFalse'  }  },  'handlers': {  'null': {  'level': 'DEBUG',  'class': 'logging.NullHandler',  },  "mail_admins": {  "level": "ERROR",  "filters": ["require_debug_false"],  "class": "django.utils.log.AdminEmailHandler",  "include_html": True,  },  'console': {  'level': 'DEBUG',  'formatter': 'verbose',  'class': 'logging.StreamHandler'  },  'file': {  'level': 'DEBUG',  'class': 'logging.handlers.TimedRotatingFileHandler',  'formatter': 'verbose',  'filename': str(Path(BASE_DIR, 'logs', 'django.log').resolve()),  'when': 'midnight',  'interval': 1  },  },  'loggers': {  'django.security.DisallowedHost': {  'handlers': ['null'],  'propagate': False,  },  'main': {  'handlers': ['file', 'console', 'mail_admins'],  'level': 'INFO',  'propagate': True,  },  'django.request': {  'handlers': ['mail_admins'],  'level': 'ERROR',  'propagate': True,  }  } }  

Комментарии:

1. Я не знаком с ведением журнала uwsgi, поэтому я не уверен, что делает %n in /var/log/uwsgi/%n.log , но даже если uwsgi правильно записывает в файл журнала, вы, вероятно, не увидите точную ошибку, только то, что произошла ошибка. 500 означает, что служба работает правильно, но при обработке вашего запроса произошла ошибка. Вам нужно будет заглянуть в журнал Django. Что такое значение LOGGING в настройках Django?

2. Обновлено с помощью ведения журнала Django.

3. Общий доступ к журналам nginx в /var/log/nginx/*.log

4. Разве вы не должны видеть 500 ошибок, зарегистрированных в django.log файле?

5. Это была проблема с разрешениями! Спасибо за помощь.