IT/Django

장고 channels 서비스를 위한 nginx 설정 변경

현쭌아빠 2021. 9. 22. 21:58

이제 설정이 마무리 단계입니다.

 

지금 현재 서버에서는 nginx 서버와 daphne가 실행중입니다.  daphne는 django 서비스를 실행하고 있습니다

이제 사용자가 브라우저를 통해 웹서버(nginx)에 서비스 요청을 하면 웹서버에서 daphne로 요청을 하면 daphne는

웹 서비스와 channels의 요청을 구분하여 사용자에게 전달을 하게 됩니다.

 

이제 nginx로 들어오는 요청을 daphne로 전달하는 nginx의 설정을 하도록 하겠습니다.

 

collectstatic - 정적 파일 관리

웹서버에서 관리할 정적파일 경로 설정이 필요합니다.

 

collectstatic 명령어를 통해 static 파일을 분리하고 서버에 반영해야 합니다.

 

collectstatic은 프로젝트내 흩어져 있는 js, image, css 파일 등을 모아 staticfiles 디렉토리로 수집하는 기능을 합니다.

 

$ python manage.py collectstatic

 

 

Nginx 설정 변경 - nginx.conf

 

Nginx access_log와 error_log 경로를 변경하여 django 프로젝트가 있는 log 디렉토리에 쌓이도록 하겠습니다.

 

$ cd /etc/nginx

 

$ vi nginx.conf

 

 

Nginx 설정 변경 - sites-avaliable/default

sites-available 디렉토리에 default 파일이 있습니다.

 

default 수정 전 파일을 백업하는 것이 좋습니다.

 

현재는 도메인이 없으므로 아래와 같이 설정 하시면 됩니다.

 

$ cd /etc/nginx/sites-available

 

$ cp default default_2021_09_22

 

$ vi default

이렇게 수정하게 되면 nginx와 daphne를 연결하게 됩니다.

 

마지막으로 nginx -t로 변경내용을 저장해야 합니다.

 

$sudo nginx -t 

 

정상 구동 확인

nginx를 재시작 해줍니다. 

$service nginx restart

$ ps -ef | grep nginx

그리고 daphne 구동확인을 해봅니다.

 

$ ps -ef | grep daphne

웹브라우저에서 확인 을 해보면 확실하게 아실 수 있습니다. 

각자 준비하셨던 서비스가 정상적으로 작동할 것입니다.