Назад | Перейти на главную страницу

Nginx с UWSGI - ошибка 502 каждую минуту

Я развернул приложение Django, следуя этому руководство.

Я побежал uwsgi --emperor /etc/uwsgi/vassals --uid nginx --gid nginx --daemonize /var/log/uwsgi-emperor.log и сайт работал нормально.

Но через 3-5 минут я получил 502 Bad Gateway Error. Понятия не имею, как это произошло, так как я впервые развертываю приложение с использованием UWSGI и Nginx.

Вот мой журнал ошибок nginx:

2019/11/28 17:42:15 [error] 6907#6907: *26 connect() to unix:///var/www/api.kitab.or.id/lai_project.sock failed (111: Connection refused) while connecting to upstream, client: 36.71.210.205, server: api.kitab.or.id, request: "POST /v1/register.json HTTP/1.1", upstream: "uwsgi://unix:///var/www/api.kitab.or.id/lai_project.sock:", host: "api.kitab.or.id"

Там написано «соединение отклонено», но почему через ~ 3 минуты? Предыдущие запросы обрабатывались сервером нормально.

Последние строки из моего журнала uwsgi-emperor.log:

[uWSGI] getting INI configuration from lai_project_uwsgi.ini
Thu Nov 28 17:45:01 2019 - [emperor] curse the uwsgi instance lai_project_uwsgi.ini (pid: 8677)
Thu Nov 28 17:45:01 2019 - [emperor] removed uwsgi instance lai_project_uwsgi.ini

Файл .ini моего проекта uwsgi:

[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /var/www/api.kitab.or.id
# Django's wsgi file
module          = lai_project.wsgi
# the virtualenv (full path), i.e., "main"
home            = /home/username/Envs/main

# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 10
# the socket (use the full path to be safe
socket          = /var/www/api.kitab.or.id/lai_project.sock
# ... with appropriate permissions - may be needed
chmod-socket    = 666
# clear environment on exit (true)
vacuum          = true

env = DJANGO_SETTINGS_MODULE=lai_project.settings

safe-pidfile = /tmp/lai-master.pid
# create a pidfile

harakiri = 20

#limit-as = 128 # limit the project to 128 MB

max-requests = 5000

daemonize = /var/log/uwsgi/lai.log

Каталог проекта Django принадлежит myusername:nginx и разрешение 775.