nginx 및 gunicorn을 사용하는 Django 프로덕션 서버에서 Urls.py가 업데이트되지 않습니다.

nginx 및 gunicorn을 사용하는 Django 프로덕션 서버에서 Urls.py가 업데이트되지 않습니다.

현재 AWS EC2 인스턴스에서 Django Webapp을 호스팅하고 있습니다. 프로덕션 모드에서 실행하려면 NGINX와 gunicorn을 사용합니다.

그만큼오류내가 직면하고 있는 것은:

내가 무엇을 하든 프로덕션 서버가 urls.py를 업데이트하지 않는 것 같습니다.

로컬 파일에서 인스턴스로 파일을 전송하는 데 사용되는 앱:파일질라

문제를 해결하기 위해 취한 단계:

  1. urls.py를 삭제하고 다시 작성하기

  2. 다른 파일도 업데이트를 거부하는지 확인

    2단계 결과: 다른 파일이 성공적으로 업데이트되고 있습니다. 정적 파일과 index.html을 사용하여 테스트했습니다.

  3. 다음을 사용하여 인스턴스에서 파일이 업데이트되었는지 확인그만큼나노편집자

    3단계 결과: 파일이 인스턴스에서 제대로 업데이트되고 모든 변경 사항이 반영됩니다.

  4. (개발 목적으로) 을 사용하여 인스턴스에서 실행하고 python manage.py runserverrunserver를 사용할 때 urls.py가 제대로 업데이트되고 있음을 확인했습니다.

기타 정보:

1. 어제만 해도 모든 것이 제대로 업데이트되고 있었는데 갑자기 반항적인 행동을 하기로 결정했습니다.

  1. 다음을 사용하여 모든 패키지를 업데이트했습니다.sudo yum install

  2. 다음과 같은 명령을 사용하여 nginx와 gunicorn을 다시 시작했습니다.

    sudo systemctl start gunicorn

    sudo systemctl enable gunicorn

    sudo systemctl restart nginx

  3. 를 사용하여 오류를 확인하려고 시도했지만 sudo nginx -t오류가 표시되지 않습니다.

  4. 를 사용하여 오류 로그를 확인했지만 여기에도 sudo tail -f /var/log/nginx/error.log오류가 표시되지 않습니다 .

이 문제를 어떻게 해결하나요?

감사합니다

답변1

좋아, 해결책을 찾았습니다.

이를 해결하기 위해 취한 단계:

  1. 내 인스턴스에서 사용하려고 시도했는데 python3 manage.py runserver파일이 제대로 업데이트되었음을 ​​확인했습니다. 따라서 문제는 프로덕션 측에 있었습니다.

  2. 나는 정적 파일과 html 파일만 업데이트된다는 것을 알았습니다(nginx가 해당 파일을 제공합니다). 그래서 문제는 그게 아니었습니다.

  3. views.py, urls.py 및 기타 파일을 처리하기 위해 gunicorn을 사용하고 있었기 때문에 문제는 gunicorn에 있을 수 있습니다.

마지막 해결책:

그래서 명령을 실행했는데 sudo systemctl restart gunicorn코드가 완벽하게 작동했습니다.

관련 정보