본문 바로가기

분류 전체보기847

Python boto3로 AWS S3스토리지 연동하는 방법 파이썬으로 AWS의 S3스토리지에 연결하려면 boto3라는 라이브러리를 사용하면 된다.처음에는 boto2버전을 사용하다가 공식홈페이지에 들어가보니 3버전까지 나와서 3로 갈아탔다.나는 가상환경을 구축하고 그 위에서 작업했지만 이번 포스팅에서는 가상환경을 구축하지 않고 설명한다.또한 맥북(OS X)를 사용하므로 대부분을 터미널에서 작업했다.먼저 아래의 명령어로 boto3를 설치한다. pip3 install boto3 다음으로 aws 커맨드라인 명령어툴을 설치한다. pip3 install awscli 이제 작업할 폴더로 들어가서 .aws라는 숨김 폴더를 하나 생성한다.해당 폴더로 진입하여 credentials라는 파일을 만들고 아래의 내용을 채워넣는다. [default]aws_access_key_id = 액.. 2018. 12. 5.
Flask Mongoengine Mongo Atlas와 연동하는 방법 요즘 RDB를 벗어나 NoSQL을 많이 다루고 있다.찾아보니 Mongo Atlas라는 것이 존재했는데 AWS처럼 프리티어도 존재하나보다.먼저 아래의 사이트로 들어간다.(참고로 나는 현재 파이썬 플라스크를 통해 API서버를 구축하고 있다) https://www.mongodb.com/cloud/atlas 이메일을 적는 칸이 있다.입력하고 Get started free버튼을 누른다. 그러면 위와 같은 창이 뜬다.Build my first cluster버튼을 누른다. 이제 간단한 설정을 해줘야 한다.먼저 클라우드를 선택해야하는데 나는 익숙한 AWS를 선택했다. 다음으로 아래쪽에서 지역 선택은 그냥 프리티어 중 아무곳이나 선택한다. 다른건 크게 건드릴필요가 없다.아래쪽에 있는 Cluster Name에 원하는 이름.. 2018. 12. 4.
Docker-compose로 Nginx/Flask/MongoDB 배포하는 방법 먼저 해당 포스팅은 기존에 작성해놓은 Flaks boilerplate를 이용한다.(https://github.com/teamhide/flask_restplus_docker/tree/master) 위 boilerplate를 보면 간단하게 유저 생성 조회, 게시판 기능을 갖추고 있다. (글 생성, 조회/댓글 생성, 조회)API에 관한 포스팅이 아니므로 소스에 대한 설명은 생략하고 구조부터 보자. 도커 관련된 dockerfile은 /docker 디렉토리에 들어있고 사용할 환경설정 파일들은전부다 /config폴더에 들어있다. (참고로 redis는 아직 연동하지 않았지만 dockerfile은 미리 생성해놨다) 보통 도커를 이용하여 작업을 하다보면 여러개의 컨테이너를 하나로 묶어주는 작업이 필요하다.이 작업에 사용.. 2018. 11. 13.
Docker-compose로 nginx/python-flask/redis/mongodb 연동하는 방법 기존에는 로컬에서 그냥 작업을 했는데 실제 배포등 여러 이슈들이 발생하여 도커를 사용하기로 했다.간단하게 하나의 이미지를 띄울때는 기본 docker를 사용하면 되는데여러개의 이미지를 띄우고 각 이미지를 연동시키려면 docker-compose를 사용하여하나로 묶어주는 작업이 필요하다.먼저 docker, docker-compose는 설치가 되어있다고 가정한다.아래의 명령어로 nginx, python, redis, mongodb를 설치한다. docker pull nginx:latestdocker pull mongo:laterdocker pull redis:latestdocker pull python:3.6.5 여기서 파이썬 3.6.5버전을 사용한 이유가 궁금할수도 있겠다.이전 포스팅을 보면 알겠지만, 추후 c.. 2018. 11. 9.
맥북(OS X) Python3.7 버전 3.6으로 다운그레이드 하는 방법 기존에 Homebrew를 통해 python3을 설치했었고 잘 사용해왔었다.기본적으로 최신 버전인 3.7이 설치되는데, Celery와 redis를 연동하는 작업중에celery쪽에서 계속 오류가 발생했는데 찾아보니 아직 3.7을 공식적으로 지원하지 않는다고 한다.그래서 3.6.5 정도로 다운그레이드 하는 방법을 찾아봤고 그 방법을 기록한다.먼저 아래의 명령어로 link를 끊어준다. brew unlink python 그리고 python3을 입력해보면 not found가 뜰 것이다.이제 아래의 명령어로 3.6.5버전을 설치한다. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80.. 2018. 11. 7.
Python Celery Redis 연동하는 방법 먼저 Redis부터 설치한다.터미널에 아래의 명령어를 차례대로 입력한다. $ wget http://download.redis.io/releases/redis-5.0.0.tar.gz $ tar xzf redis-5.0.0.tar.gz $ cd redis-5.0.0 $ make(현재 5.0 버전이므로 추후 바뀔 수 있음. 그때는 https://redis.io/download 참고) 위처럼 나온다면 정상적으로 설치가 완료된 것이다.혹시 모르니 실제로 실행시켜본다.먼저 터미널에서 redis-server를 입력한다. 위와 같이 나온다면 정상적으로 서버가 실행된 모습이다.이제 celery를 설치해야 한다.파이썬으로 작업환경을 구축할 때는 가상환경을 통해 독립적인 공간을 만드는게 좋다.(pipenv로 가상환경 구축하.. 2018. 11. 7.