[python] Django와 NGINX 연동 방법은 어떻게 되는가?

Django는 웹 개발을 위한 강력하고 인기있는 프레임워크이며, NGINX는 하이퍼텍스트 전송 프로토콜(HTTP)을 위한 웹 서버로 널리 사용됩니다. Django와 NGINX를 함께 사용하면 안정적이고 확장 가능한 웹 애플리케이션을 구축할 수 있습니다. 이번 포스트에서는 Django와 NGINX를 연동하는 방법을 알려드리겠습니다.

  1. NGINX 설치하기
    • Ubuntu에서는 다음의 명령어를 사용하여 NGINX를 설치할 수 있습니다:
      sudo apt-get update
      sudo apt-get install nginx
      
  2. Django 애플리케이션 설정하기
    • NGINX와 연동하기 위해 Django 애플리케이션의 설정을 변경해야 합니다.
    • Django settings.py 파일에서 다음과 같이 ALLOWED_HOSTS 변수를 설정합니다:
      ALLOWED_HOSTS = ['your_domain_or_ip']
      
  3. NGINX 설정 파일 수정하기
    • NGINX 설정 파일인 /etc/nginx/nginx.conf를 수정해야 합니다. 다음의 명령어로 파일을 엽니다:
      sudo nano /etc/nginx/nginx.conf
      
    • 파일 내에서 다음과 같이 수정합니다:
      ...
      http {
        ...
        server {
            listen 80;
            server_name your_domain_or_ip;
      
            location = /favicon.ico { access_log off; log_not_found off; }
            location /static/ {
                root /path/to/your/django/static/files;
            }
            location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
        }
        ...
      }
      
  4. NGINX 재시작하기
    • NGINX 설정을 변경한 후에는 다음의 명령어로 NGINX를 재시작해야 합니다:
      sudo service nginx restart
      
  5. Django 서버 실행하기
    • 마지막으로, Django 서버를 실행해야 합니다. Django 프로젝트 디렉토리로 이동한 후 다음의 명령어를 사용하여 Django 서버를 실행합니다:
      python manage.py runserver
      

이제 Django와 NGINX가 함께 동작하며, Django 애플리케이션을 NGINX를 통해 접속할 수 있습니다. 이 방법을 사용하여 안전하고 효율적인 웹 애플리케이션을 개발해보세요!

[참고 문서]