프레임워크/Django

AWS EC2 gunicorn을 이용한 django 배포하기

멍토 2020. 9. 12.

django에서 기본적으로 지원하는 runserver는 개발용이기 때문에 1개의 프로세스만을 이용하여 느리다는 단점이 있다.

따라서 실제서버에서 배포를 하기위해서는 gunicorn같은것의 지원을받아 배포를 하게된다.

이번에는 gunicorn(g유니콘)의 간단한 사용법을 적어본다.

 

 

1. gunicorn 설치

pip install gunicorn

2. gunicorn 셋팅

settings.py 에서 정적파일 저장할 경로 추가

STATIC_ROOT = '/static/'

manage.py가 있는 경로에서 아래와 같이 실행

python manage.py collectstatic

아래경로에 파일 생성

/etc/systemd/system/gunicorn.service

WorkingDirectory에는 manage.py가 있는 경로를 적어준다.

ExecStart에는 gunicorn이 설치된 경로를 적어준다. (venv라면 venv 경로로)

--workers 는 gunicorn으로 동작시킬 프로세스 수이다.

--workers 뒤에 프로젝트명.wsgi:application로 작성한다.

아래와 같이 동작시키면 localhost:8000으로 잡히게 된다.

외부에서 접속이 가능하게 하려하면 --workers 3 뒤에 --bind 0.0.0.0:8000 을 추가한다.

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/project/backend
ExecStart=/home/ubuntu/anaconda3/envs/AI/bin/gunicorn --workers 3 AI_PJT3.wsgi:application

[Install]
WantedBy=multi-user.target

3. gunicorn 명령어

서비스 등록

sudo systemctl start gunicorn
sudo systemctl enable gunicorn

서비스 재시작

sudo systemctl daemon-reload
sudo service gunicorn restart

gunicorn 상태확인

systemctl status gunicorn

'프레임워크 > Django' 카테고리의 다른 글

Django에서 mysql 연동하기  (0) 2020.09.13
장고를 왜 사용할까?(특징, 장단점)  (0) 2020.08.14
Django 시작하기  (0) 2020.04.24

댓글

💲 광고입니다.