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 |
댓글