본문 바로가기

IT/Django

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

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

 

지금 현재 서버에서는 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

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

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