본문 바로가기

IT

Delphi 안드로이드 구글 스토어 배포(64bit) 수족관 IOT 프로젝트에서 스마트폰 APP개발을 하게 되었습니다. 개발 언어는 Delphi, 프레임워크는 Firemonkey로 하게되었습니다. 개발을 완료하여 구글 스토어에 등록을 하여야 하는데, 예전에 개발을 할때는 32bit로 개발을 하였으나 이번에 등록하면서 64bit로 등록을 하여야 합니다. 그래서 32bit와 달라진 점을 확인하고 64bit로 등록을 하게 되었습니다. 이와 관련하여 컴파일과 등록방법을 정리하여 다음번 개발을 위해 자료를 정리하는 목적으로 작성을 하였습니다. 1) 어플리케이션 웹 서명 Key 파일 생성 2) App bundle 패키지로 빌드 후 업로드(.aab) 1) 어플리케이션 앱 서명 key 파일 생성 안드로이드 구글 스토어에 앱을 배포하기 위해서는 앱을 서명하여야 합니다. 앱.. 더보기
장고 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를 이용하고 있습니.. 더보기
github 접속용 ssh 키 만드는 법 github를 사용하려면 ssh키를 등록해야합니다. git과 github를 처음 사용하면 ssh키를 어떻게 만들어야 하는지 어디서 만들어야 하는지 잘 모를 수 있습니다. 저 역시도 그랬구요. github를 이용하여 소스관리를 하려고 했는데, 검색으로 github에 소스를 등록하고 서버에서 github에 있는 소스를 가져오려고 하는데 검색한 자료대로 했는데 소스는 가져오기가 안되고, 내가 멀 잘못했나 하고 한참을 고민을 한 적이 있습니다. 그러다가 git clone을 할때 나오는 메시지를 보고 다시 검색해보니 github에서 이제는 ssh를 통해서만 clone이 된다고 하여 또 다시 구글 검색을 통해서 ssh키 발급과 github에 ssh키를 등록하는 방법을 알게 되었습니다. github를 사용할 때 ss.. 더보기