runserver로 장고 서버를 구동할수 있지만 운영서버에서는 사용하지 말아야한다. (참고) 백그라운드 프로세스로 구동할 수 있지만 성능이나 안전성 이슈가 있는가 보다.
gunicon은 장고 서버를 관리하는 툴이다. 포에버가 노드를 관리하는 것과 비슷한 역할인 것 같다. 데몬으로 구동하고 워커를 생성하는 기능이 있다. gunicon을 이용해 장고 서버를 구동해 보자.
설치
$ pip install gunicorn소스 설치나 apt, yum으로 설치하려면 여기 참고
static 파일 호스팅
js, css 파일등은 nginx로 호스팅 해야한다.
settings.py에 정적 파일을 저장할 폴더를 설정한다.
STATIC_ROOT = '/static/files/path/'collectstatic 명령으로 스태틱 파일을 생성한다.
$ python manage.py collectstaticnginx로 해당파일을 호스팅한다.
server {
listen localhost:8000;
location / {
proxy_pass http://127.0.0.1:8001;
}
location /static/ {
autoindex on;
alias /static/files/path/;
}
}gunicon 실행
gunicorn project.wsgi:application --bind=127.0.0.1:8001 --daemon --reload--daemon: 데몬 프로세스로 실행--reload: 소스 변경시 재구동