Development Note/H891: YouTube Playlist Application
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 6] SCP Secret File and TestingDevelopment Note/H891: YouTube Playlist Application 2023. 12. 30. 02:34
자, 이제 앱이 정상적으로 통신이 되었다. 하지만, 한가지 Task가 남아있다. 이 프로그램은 YouTube API와 소통을 하는데, OAuth2를 이용해서 credential을 보내고 있다. 그 정보가 담긴 파일이 있는데, GitHub에 올리기에는 안전하지 않아서, 로컬에서 서버로 직접 Copy 하는 방식으로 진행했다. 복사는 간단하다. scp 코멘드를 이용하면 된다. scp -i ~/Downloads/sshKeyYouTube.pem secret-file.json ubuntu@ec2-54-180-92-29.ap-northeast-2.compute.amazonaws.com:/home/ubuntu/h891-youtube-api 자 이제, secret을 이용해서 동작하는 아래 콜을 외부에서 해보자. @app..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 5] Gunicorn & NginxDevelopment Note/H891: YouTube Playlist Application 2023. 12. 30. 01:47
지난번에는 git을 설치하고, ssh 세팅을 완료했다. git 설치 ssh 세팅 python 설치, pip 설치 google client 설치 Flask 설치 Security Setting 완료 Gunicorn 설치 nginx 설치 Flask 서버를 돌리면, 이런 메세지가 빨간색으로 나온다. WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. WSGI 서버를 사용하라는 경고이다. 왜일까? Request(요청)이 많아지면, 서버에는 병목 현상이 생기게 된다. gunicorn과 같은 WSGI는 여러개의 Thread를 생성해서 요청을 병렬로 처리해주기..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 4] Security Group 세팅Development Note/H891: YouTube Playlist Application 2023. 12. 30. 00:40
지난번에는 python, pip를 설치하고, google client와 Flask 세팅을 완료했다. git 설치 ssh 세팅 python 설치, pip 설치 google client 설치 Flask 설치 Gunicorn 설치 nginx 설치 이제 Gunicorn과 nginx설치를 해야하는데, 그 전에 외부에서 Flask 서버 호출 테스트를 해보자. 외부에서 이 서버로 호출은 어떻게 할까? 바로 public IP를 이용하면 된다. 로컬에서는 아래와 같이 서버에 API를 호출할 수 있었다. curl localhost:5000/ AWS로 돌아가서 Ubuntu Instance의 Public IP를 확인해보자. 이제 나의 로컬에서 아래 커맨드를 돌리면 통신할 수 있어야한다. curl 54.180.92.29:500..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 3] Python 라이브러리 세팅Development Note/H891: YouTube Playlist Application 2023. 12. 29. 23:33
지난번에는 git을 설치하고, ssh 세팅을 완료했다. git 설치 ssh 세팅 python 설치, pip 설치 Python Environment 설치 google client 설치 Flask 설치 Gunicorn 설치 nginx 설치 Install Python & Pip 이제, python과 pip를 설치해서 필요한 라이브러리들을 설치해보자. 먼저, python이 설치되어있는지 확인한다. ubuntu@ip-172-31-34-15:~$ python3 --version Python 3.10.12 이미 설치 되어있었다. 만약 안되어있다면 아래와 같이 설치할 수 있다. apt를 업데이트 한 후 python3를 설치해주면 된다. sudo apt update sudo apt install python3 이후 pi..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 2] Git과SSH 세팅Development Note/H891: YouTube Playlist Application 2023. 12. 29. 23:24
설치 및 세팅 이 프로젝트를 동착시키기 위해, 이 서버에 설치해야 하는 것들이 있고 다음과 같다. git 설치 ssh 세팅 python 설치, pip 설치 google client 설치 Flask 설치 nginx, Gunicorn 설치 이중, Git과 SSH를 세팅해서, Github에서 private repository에서 코드를 clone할 수 있도록 세팅해주려고 한다. Git 설치 먼저, 서버로 접속한다. 위에서 만든 키를 이용해서 해당 서버로 접속하면 된다. ssh -i "" 예시 코드는 아래와 같다. ssh -i ~/Downloads/sshKeyYouTube.pem ubuntu@ec2-54-180-92-29.ap-northeast-2.compute.amazonaws.com 접속 후, Git이 설..
-
Flask, Gunicorn, Nginx, EC2 Ubuntu Server 1]인스턴스 생성 및 연결Development Note/H891: YouTube Playlist Application 2023. 12. 29. 17:34
먼저, YouTube API를 호출하는 Flask Server를 세팅하는 방법이다. 이 프로젝트에서 가장 Back에서 동작하는 서버로, YouTube의 Playlist를 생성하고, 비디오들을 넣어달라고 요청한 후, 해당 Playlist의 URL을 Control Server에 전달하는 역할을 하는 서버이다. Python으로 코딩되어 있고, 서버는 Flask를 이용해서 호출할 수 있도록 구성해두었다. 이 코드를 Github에 Private Repository로 올려두었는데, 이 코드를 안전하게 서버에 clone해서 서버를 돌릴 수 있도록 설정해줄 예정이다. Create Instance 먼저, 인스턴스를 생성해준다. 우선은 Free Tier를 사용했다. 생성을 하게 되면, 자동으로 해당 키가 로컬 컴퓨터에 ..
-
Project H891Development Note/H891: YouTube Playlist Application 2023. 12. 28. 16:20
I have decided to collaborate with members of a coding meetup group to create a full-stack app. Our ultimate goal for the first phase is to build separate backend and frontend servers, set up a database, gain experience in networking, explore coding with various frameworks, and make use of the YouTube Data API for external API calls. Our second objective is to develop a web service equipped with..