본문 바로가기

장고

Django channels 소개 Django Channels는 Django 웹 프레임워크의 확장 기능으로, 비동기 웹 애플리케이션을 개발하는 데 필요한 다양한 기능을 제공합니다. 이를 통해 Django 프로젝트는 HTTP 뿐만 아니라 WebSocket, MQTT, 챗봇, 아마추어 라디오 등과 같은 장기 실행 연결이 필요한 프로토콜도 처리할 수 있습니다. Django Channels는 Django의 기본 비동기식 뷰 지원을 감싸며, Django 뷰와 유사한 동기식 방식, 완전한 비동기식 방식 또는 둘의 조합 중 어떤 것이든 선택할 수 있습니다. 이를 통해 Django의 동기식 및 사용하기 쉬운 성격을 유지하서, Django 프레임워크의 다양한 기능과 함께 사용할 수 있습니다. Django Channels를 사용하여 WebSocket 연결.. 더보기
장고 channels를 위한 Daphne + nginx + supervisord 서비스 설치 이제 서비스를 위한 준비는 되었습니다. 제가 준비하는 서비스는 django + Channels 서비스입니다. Channels를 사용하려면 asgi를 사용하여 서비스를 하여야 합니다. asgi서비스를 위해서는 uwsgi를 사용하지 않고 daphne를 이용하여 서비스를 해야합니다. daphne + Nginx를 연동하는 자료는 부족하였습니다. 구글 검색과 channels의 공식 설명서를 보면서 어렵게 daphne + Nginx 서비스를 구현하게 되었습니다. 이에 다음에 다른 프로젝트를 수행할 때 시행착오를 겪지 않으려고 자료를 남기려는 목적과 저 처럼 서비스를 구현하는데 어려움을 겪는 분들에게 조금이나봐 도움이 되었으면 하는 생각에 남기게 되었습니다. daphne 설치 daphne는 python 패키지로 pi.. 더보기
장고(django)서비스를 위한 방화벽 설정 web 서비스는 기본적으로 80, 443(ssh)를 사용하여 서비스를 합니다. 오라클 클라우드에 서버(인스탄스)를 생성하게 되면 기본적으로 ssh포트(22번)만 외부에서 접속할 수 있도록 되어 있습니다. 사용자가 원하는 서비스를 하기 위해서는 해당 서비스 포트를 접속할 수 있도록 해줘야 서비스가 가능합니다. 서비스 포트를 접속할 수 있도록 하는 방법은 2단계를 거쳐야 합니다. 오라클 클라우드는 기본적으로 idc 센터에서 가상서버로 서비스를 하기 때문에 각 사용작별로 가상네트워크가 생성이 되어 서비스를 하는 것으로 보입니다. 따라서 서비스 포트를 접속하게 하려면 먼저 각 사용자의 가상 네트워크에서 80, 443 포트를 접속이 가능하도록 규칙을 추가하여야 합니다. 그 다음에는 해당 서버에서 iptables를.. 더보기
github로부터 django 프로젝트 소스 복사하여 서버에 설치 지금까지 오라클 클라우드에 DB 서버 설정을 하였습니다. 처음에 이야기 했듯이 전 web 서버와 db 서버를 분리하여 운영하려고 하였습니다. 이제 web 서버의 설정과 django 설치, daphne 설정을 하여 웹 서비스를 운영할 수 있도록 설정을 진행하도록 하겠습니다. 저도 처음으로 시도하는 것이라 작은 실수나 틀린 부분이 있을 수 있습니다. 그런 부분은 댓글로 남겨주시면 감사하겠습니다. 기존에 많은 자료가 있으므로 굳이 여기서 django 설치나 설정은 굳이 설명하지 않도록 하겠습니다. github 소스 가져오기 저는 django 소스를 github에 올려두고 소스 관리를 하고 있습니다. 예전에는 로컬에 저장하고 ftp를 올려서 관리를 했었는데 버전관리에 어려움을 겪어 github를 이용하고 있습니.. 더보기
장고(Django)와 다프네(Daphne)를 이용한 서비스 구축을 위한 준비 - 리눅스 서버 설정 root 비밀번호 변경하기 앞서 설명하였던 mobaterm에서 해당 세션을 더블클릭하면 서버에 접속할 수 있습니다. root의 비밀번호 변경은 sudo passwd root 명령을 입력하여 위의 화면처럼 비밀번호를 변경하면 됩니다. su - root 를 콘솔에서 입력하면 비밀번호 요청하여 입력하게 되면 root로 전환됩니다. ssh - root 계정으로 접속하기 ssh로 접속을 root로 하기 위해서는 설정을 변경해줘야 합니다. mobaterm으로 서버에 접속하여 root 계정의 설정을 변경해줘야 합니다. ssh_config 설정 파일 변경 기본 계정을 접속한 상태에서 /etc/ssh/sshd_config 파일의 내용을 변경해줘야 합니다. 기본 계정에서 변경 내용을 적용하게 하기 위해서는 su vi /e.. 더보기