Рейтинг:2

Urls.py не обновляется на производственном сервере Django, который использует nginx и gunicorn

флаг in

В настоящее время я размещаю веб-приложение Django на экземпляре AWS EC2. Чтобы запустить его в рабочем режиме, я использую NGINX и gunicorn.

Ошибка с чем я сталкиваюсь:

Рабочий сервер, похоже, не обновляет urls.py, что бы я ни делал.

Приложение, используемое для передачи файлов из локального файла в экземпляр : FileZilla

Шаги, которые я предпринял, пытаясь решить проблему:

  1. Удаление urls.py и его перезапись

  2. Проверка, отказываются ли обновляться и другие файлы

    РЕЗУЛЬТАТ 2-го шага: другие файлы успешно обновляются, я тестировал статические файлы и с index.html

  3. Проверка того, обновляется ли файл в экземпляре с помощью нано редактор

    РЕЗУЛЬТАТ 3-го шага: Файл корректно обновляется в экземпляре, все изменения сохраняются. отражение

  4. Запуск его на экземпляре с использованием сервер запуска python manage.py (для целей разработки) и обнаружил, что urls.py правильно обновляется при использовании сервера запуска

Другая информация:

1. Буквально вчера все нормально обновлялось, но вдруг решило бунтовать

  1. Я обновил все пакеты, используя Судо Юм установить

  2. Я перезапустил nginx и gunicorn: используя такие команды, как:

    sudo systemctl запустить пушку

    sudo systemctl включить пушку

    sudo systemctl перезапустить nginx

  3. Я попытался проверить ошибки, используя судо nginx-т, но ошибки не появляются

  4. Я проверил журналы ошибок, используя sudo tail -f /var/log/nginx/error.log , но ошибок не показывает
    здесь либо

Как мне это решить?

Спасибо

Michael Hampton avatar
флаг cz
Ваше приложение динамически перезаписывает urls.py? Проверьте, где это [ведение журнала] (https://docs.djangoproject.com/en/3.2/topics/logging/) для любых соответствующих сообщений.
Madhav avatar
флаг in
Извините, но я впервые слышу о ведении журнала, поэтому мне может потребоваться некоторое время, чтобы понять, как «регистрироваться», поэтому мой следующий ответ может занять некоторое время, и все равно спасибо за помощь.
Madhav avatar
флаг in
А что касается динамической перезаписи urls.py... на производственном сервере, да, он не обновляется, а не перезаписывается.... но когда я размещаю его с помощью manage.py runserver, он работает нормально, и те же файлы используются как в производстве, так и в разработке
Michael Hampton avatar
флаг cz
Вы можете щелкнуть ссылку, чтобы узнать о регистрации. Значения по умолчанию показаны в конце страницы. Если вы не настроили ведение журнала, они будут отправлены на stdout или stderr и попадут в журнал systemd (если только вы не настроили сервисный модуль systemd для их перенаправления).
Madhav avatar
флаг in
@MichaelHampton Айв также заметил, что view.py не обновляется, и что единственное, что обновляется должным образом, — это html-файлы и статические файлы. Я сейчас работаю над журналами. но подумал, что я должен сообщить вам об этом наблюдении, если этот cld расскажет вам больше о моей проблеме
Madhav avatar
флаг in
MIcheallll Я решил эту проблему ...... оказалось, что мне нужно было перезапустить свой пистолет с помощью `sudo systemctl restart gunicorn`, большое спасибо за попытку помочь мне, особенно познакомив меня с журналами, я посмотрю на них
anx avatar
флаг fr
anx
Бонусные баллы за написание вопроса, фактически цитирующего ключевую проблему.. ***перезапуск** [..] gunicorn с использованием [..] **старт** [вместо перезагрузки]* ;)
Madhav avatar
флаг in
ценю голосование!!
Рейтинг:1
флаг in

Итак, я нашел решение.

Действия, предпринятые для ее решения:

  1. я пытался использовать сервер выполнения python3 manage.py на моем экземпляре и обнаружил, что файлы были обновлены нормально, поэтому проблема была с производственной стороной

  2. Я разобрался, что обновляются только статические и html файлы (nginx их обслуживает), так что проблема была не в этом

  3. Я использовал gunicorn, чтобы помочь с файлами views.py и urls.py и другими подобными файлами, поэтому проблема могла быть с gunicorn.

ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ:

Итак, я выполнил команду sudo systemctl перезапустить пушку, и код работал отлично

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.