AWS EC2로 Django 프로젝트 배포하기 (part.2)

찬민·2024년 9월 21일
0

TIL

목록 보기
56/62

3. Django 환경 설정

3.1. Python3, pip, venv 설치

  • EC2 서버에 접속한 후, Django 프로젝트를 실행하기 위해 Python3, pipvenv(가상환경)을 설치한다.
sudo apt update
sudo apt install python3-pip python3-venv -y

3.2. 가상 환경 설정 및 활성화

  • Django 프로젝트를 위한 가상 환경을 생성하고 활성화한다.
python3 -m venv myenv
source myenv/bin/activate

3.3. Django 프로젝트 클론

  • Git을 사용해 로컬에서 개발한 Django 프로젝트를 EC2 서버로 클론한다.
git clone <your-repository-url>
cd <your-project-folder>

3.4. 필수 패키지 설치

  • requirements.txt 파일이 있는 경우, 해당 파일을 사용해 필요한 Python 패키지를 설치한다.
pip install -r requirements.txt

3.5. 데이터베이스 설정 및 마이그레이션

  • 데이터베이스 설정을 확인하고, Django 프로젝트에서 마이그레이션 명령어를 실행해 데이터베이스를 준비한다.
python manage.py migrate

3.6. 정적 파일 수집

  • Django 프로젝트에서 사용되는 정적 파일을 수집하여 서버에 저장한다.
python manage.py collectstatic

4. Gunicorn 및 Nginx 설정

4.1. Gunicorn 설치 및 실행

  • Django 애플리케이션을 배포하기 위해 Gunicorn을 설치하고 실행한다.
pip install gunicorn
gunicorn --bind 0.0.0.0:8000 <your_project_name>.wsgi:application

4.2. Nginx 설치 및 설정

  • Nginx를 설치하여 웹 서버로 설정한다.
sudo apt install nginx -y

4.3. Nginx 설정 파일 구성

  • Nginx 설정 파일을 수정하여 Gunicorn과 연동한다. 다음 설정을 /etc/nginx/sites-available/에 추가하고, <your-ec2-public-ip>을 EC2의 Public IP로 대체한다.
server {
    listen 80;
    server_name <your-ec2-public-ip>;

    location / {
        proxy_pass http://127.0.0.1:8000;
    }

    location /static/ {
        alias /home/ubuntu/<your_project_folder>/static/;
    }

    location /media/ {
        alias /home/ubuntu/<your_project_folder>/media/;
    }
}

4.4. Nginx 설정 활성화 및 서버 재시작

  • Nginx 설정을 활성화하고, 서버를 재시작하여 변경 사항을 적용한다.
sudo ln -s /etc/nginx/sites-available/django_project /etc/nginx/sites-enabled
sudo systemctl restart nginx

0개의 댓글