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

Ошибка 502 после добавления модуля в проект Django, работающий на nginx и gunicorn

Я пытаюсь добавить модуль в существующий проект Django, но как только я это сделаю, я получаю ошибку 502. На сервере работает Ubuntu. Я не думаю, что это связано с кодом приложения, потому что я запустил его на сервере разработки django. Он уходит, когда я беру имя приложения из settings.py и перезапускаю gunicorn.

Вот часть журнала

2011/07/15 01:24:45 [error] 16136#0: *75593 connect() failed (111: Connection refused)   while connecting to upstream, client: 24.17.8.152, server: staging.site.org, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8020/", host: "staging.site.org"

Вот конфигурационный файл nginx. Файл конфигурации Nginx

Я не уверен, какая еще информация нужна. Не уверен, где находятся бревна огнестрельного оружия. Мне не хватает навыков администратора сервера. Что я должен делать, чтобы понять, в чем проблема?

Как вы установили новый модуль? Если вы установили его на свой компьютер разработчика с помощью pip, apt-get и т. Д., Убедитесь, что вы делаете то же самое на своем сервере.

Вероятно, в модуле есть ошибка, из-за которой приложение django не работает. Проверьте, работает ли он вообще.

Connection refused довольно очевидный. Это означает, что ваш бэкэнд (в данном случае gunicorn) не работает на порту, который вы указали в конфигурации nginx (в данном случае 8020).

Здесь происходит одно из двух. Либо:

  1. Gunicorn работает на другом порту, или
  2. Gunicorn не работает.

Если вы уверены, что это правильный порт, попробуйте запустить gunicorn.

Я не знаю, применимо ли это к вам, но у меня была аналогичная проблема с использованием nginx и пассажира, и я не включал свой корневой каталог django (тот, который с manage.py/settings.py/etc) в свою работу дорожка. Я не работал с Gunicorn, но возможно ли вам добавить sys.path.append в этом каталоге где-то в вашей конфигурации Gunicorn?