
В настоящее время я размещаю Django Webapp на экземпляре AWS EC2. Для его запуска в производственном режиме я использую NGINX и gunicorn.
TheОшибкас чем я сталкиваюсь:
Производственный сервер, похоже, не обновляет urls.py, что бы я ни делал.
Приложение, используемое для передачи файлов из локального файла в экземпляр:ФайлЗилла
Действия, которые я предпринял, пытаясь решить эту проблему:
Удаляем urls.py и переписываем его
Проверка того, отказываются ли обновляться и другие файлы
РЕЗУЛЬТАТ 2-го шага: Другие файлы успешно обновляются, я протестировал со статическими файлами и с index.html
Проверка того, обновлен ли файл в экземпляре с помощьюTheнаноредактор
РЕЗУЛЬТАТ 3-го шага: Файл корректно обновлен в экземпляре, все изменения отражены.
Запустив его на экземпляре с помощью
python manage.py runserver
(в целях разработки), обнаружил, что urls.py обновляется правильно при использовании runserver
Дополнительная информация:
1. Еще вчера все обновлялось нормально, но вдруг оно решило вести себя неподобающе.
Я обновил все пакеты с помощью
sudo yum install
Я перезапустил nginx и gunicorn с помощью таких команд, как:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl restart nginx
Я пробовал проверять наличие ошибок с помощью
sudo nginx -t
, но никаких ошибок не обнаружено.Я проверил журналы ошибок, используя , но и здесь
sudo tail -f /var/log/nginx/error.log
ошибок не обнаружено .
Как мне решить эту проблему?
Спасибо
решение1
Итак, я нашел решение.
Шаги, предпринятые для решения этой проблемы:
Я попробовал использовать
python3 manage.py runserver
на своем экземпляре и обнаружил, что файлы обновились нормально, следовательно, проблема была на стороне производства.Я понял, что обновляются только статические и html-файлы (их обслуживает nginx), так что проблема была не в этом.
Я использовал gunicorn для работы с views.py и urls.py и другими подобными файлами, так что проблема могла быть в gunicorn
ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ:
Итак, я выполнил команду sudo systemctl restart gunicorn
, и код отработал отлично.