본문 바로가기

IT/Django

장고 channels 서비스를 위한 nginx 설정 변경 이제 설정이 마무리 단계입니다. 지금 현재 서버에서는 nginx 서버와 daphne가 실행중입니다. daphne는 django 서비스를 실행하고 있습니다 이제 사용자가 브라우저를 통해 웹서버(nginx)에 서비스 요청을 하면 웹서버에서 daphne로 요청을 하면 daphne는 웹 서비스와 channels의 요청을 구분하여 사용자에게 전달을 하게 됩니다. 이제 nginx로 들어오는 요청을 daphne로 전달하는 nginx의 설정을 하도록 하겠습니다. collectstatic - 정적 파일 관리 웹서버에서 관리할 정적파일 경로 설정이 필요합니다. collectstatic 명령어를 통해 static 파일을 분리하고 서버에 반영해야 합니다. collectstatic은 프로젝트내 흩어져 있는 js, image, .. 더보기
장고 channels를 위한 Daphne + nginx + supervisord 서비스 설치 이제 서비스를 위한 준비는 되었습니다. 제가 준비하는 서비스는 django + Channels 서비스입니다. Channels를 사용하려면 asgi를 사용하여 서비스를 하여야 합니다. asgi서비스를 위해서는 uwsgi를 사용하지 않고 daphne를 이용하여 서비스를 해야합니다. daphne + Nginx를 연동하는 자료는 부족하였습니다. 구글 검색과 channels의 공식 설명서를 보면서 어렵게 daphne + Nginx 서비스를 구현하게 되었습니다. 이에 다음에 다른 프로젝트를 수행할 때 시행착오를 겪지 않으려고 자료를 남기려는 목적과 저 처럼 서비스를 구현하는데 어려움을 겪는 분들에게 조금이나봐 도움이 되었으면 하는 생각에 남기게 되었습니다. daphne 설치 daphne는 python 패키지로 pi.. 더보기
장고(Django) 서비스를 위한 기본 패키지 설치 및 장고 서비스 시작 Django 기본패키지 설치 이제 django 기본 패키지를 설치 해보도록 하겠습니다. 먼저 가상환경 모드로 진입하겠습니다. 1) workon iothook_env 2) pip list로 설치된 패키지를 확인해 보겠습니다. 3) /usr/local/share/iothook/requirements 디렉토리로 이동하여 requirements.txt 내용을 읽어 패키지를 설치합니다. $pip install -r requirements.txt 기본 iothook 서비스를 위한 python 패키지를 설치를 하였습니다. django 서비스를 구동시켜 보겠습니다. $python mange.py runserver 0.0.0.0:80 실행했는데 이와 같이 나오면서 서비스가 된다면 지금까지의 설정이 제대로 이루어졌다는 것.. 더보기
장고(django)서비스를 위한 방화벽 설정 web 서비스는 기본적으로 80, 443(ssh)를 사용하여 서비스를 합니다. 오라클 클라우드에 서버(인스탄스)를 생성하게 되면 기본적으로 ssh포트(22번)만 외부에서 접속할 수 있도록 되어 있습니다. 사용자가 원하는 서비스를 하기 위해서는 해당 서비스 포트를 접속할 수 있도록 해줘야 서비스가 가능합니다. 서비스 포트를 접속할 수 있도록 하는 방법은 2단계를 거쳐야 합니다. 오라클 클라우드는 기본적으로 idc 센터에서 가상서버로 서비스를 하기 때문에 각 사용작별로 가상네트워크가 생성이 되어 서비스를 하는 것으로 보입니다. 따라서 서비스 포트를 접속하게 하려면 먼저 각 사용자의 가상 네트워크에서 80, 443 포트를 접속이 가능하도록 규칙을 추가하여야 합니다. 그 다음에는 해당 서버에서 iptables를.. 더보기
우분투 서버에 pip3 모듈 설치 및 Python 가상 환경 설정 이제 web서버에 github 저장소로 부터 django 프로젝트를 가져와 설치를 하게 되었습니다. 이제 python 가상환경을 설치하고 프로젝트에서 필요한 python package를 설치 등을 하여 서비스를 운영할 수 있도록 하겠습니다. PIP 설치 확인 및 설치하기 파이썬 모듈을 설치하기 위해 pip을 설치합니다. pip3 list 또는 pip -V 실행해서 설치확인을 합니다. 에러메시지가 나오면 설치해야합니다. 설치가 안되어 있습니다. 이제 pip 패키지를 설치 하도록 하겠습니다. 패키지 설치 전 apt update를 합니다. 이후 python3-pip 패키지를 설치합니다. $ sudo apt update $ sudo apt install python3-pip pip 설치 완료 $pip3 list.. 더보기
github로부터 django 프로젝트 소스 복사하여 서버에 설치 지금까지 오라클 클라우드에 DB 서버 설정을 하였습니다. 처음에 이야기 했듯이 전 web 서버와 db 서버를 분리하여 운영하려고 하였습니다. 이제 web 서버의 설정과 django 설치, daphne 설정을 하여 웹 서비스를 운영할 수 있도록 설정을 진행하도록 하겠습니다. 저도 처음으로 시도하는 것이라 작은 실수나 틀린 부분이 있을 수 있습니다. 그런 부분은 댓글로 남겨주시면 감사하겠습니다. 기존에 많은 자료가 있으므로 굳이 여기서 django 설치나 설정은 굳이 설명하지 않도록 하겠습니다. github 소스 가져오기 저는 django 소스를 github에 올려두고 소스 관리를 하고 있습니다. 예전에는 로컬에 저장하고 ftp를 올려서 관리를 했었는데 버전관리에 어려움을 겪어 github를 이용하고 있습니.. 더보기
장고(Django)와 다프네(Daphne) 서비스 설정을 위한 mysql 서버 설치 및 설정 지금까지 Django 사이트 개설을 위한 기본 설정들을 해오고 있습니다. 이글은 제가 사이트 개설을 하면서 겪었던 시행착오를 정리하는 차원입니다. 제가 설정하는 방법이 정답은 아닙니다. 제가 편하게 검색을 통해 알아보고 그것을 적용하여 사이트를 개설한 것에 대한 정리입니다. mysql db 설치 먼저 web 서버를 만드는 것처럼 서버를 한대 더 추가하시면 됩니다. 오라클 대시보드에서 인스턴스를 추가하여 root 접속까지 가능한 기본 설정을 하시면 됩니다. 한가지 주의할 점이 있습니다. 다들 오라클에서 인스턴스(서버)를 생성하실 때 이 부분을 주의하여야 합니다. Name: 이 부분이 중요합니다. 중요할 수도 있고 안할 수도 있겠지만 서버의 이름을 지정하는 것입니다. 서버를 생성하고 나서는 오라클에서는 수정.. 더보기
장고(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.. 더보기