[python] Django에서 Nginx와 함께하는 배포 방법

Django로 웹 애플리케이션을 개발했다면, Nginx와 함께 배포하는 방법을 알아두는 것이 유용합니다. 이 포스트에서는 Django 애플리케이션을 Nginx로 서빙하는 방법에 대해 설명하겠습니다.

1. Gunicorn 설치 및 실행

먼저, Django 애플리케이션을 실행하기 위해 Gunicorn을 설치합니다.

pip install gunicorn

Gunicorn은 WSGI 요청을 처리하는 웹 서버로, Django 애플리케이션과 함께 사용하기에 적합합니다.

애플리케이션을 Gunicorn으로 실행하려면, 다음 명령어를 통해 실행합니다.

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

2. Nginx 설치 및 설정

이제 Nginx를 설치하고 Django 애플리케이션을 서빙할 수 있는 설정을 추가해보겠습니다.

Nginx를 설치합니다.

sudo apt-get install nginx

Nginx 설정 파일(/etc/nginx/sites-available/myproject)을 생성하고, 다음과 같이 설정합니다.

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

위 설정에서 example.com을 자신의 도메인으로 변경하고, proxy_pass 부분은 Gunicorn이 실행되는 호스트와 포트로 설정합니다.

3. Nginx 설정 적용

Nginx 설정을 적용하고, 서비스를 시작합니다.

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
sudo systemctl restart nginx

이제 Django 애플리케이션은 Nginx를 통해 서빙됩니다.

위와 같은 방법으로 Django와 Nginx를 함께 사용하여 안정적이고 성능이 우수한 웹 애플리케이션을 배포할 수 있습니다.

참고 자료