내 컴퓨터 대신 계속 켜있는 컴퓨터를 빌린다. (인터넷 환경에서 컴퓨터를 대여한다.)
인터넷에 있는 컴퓨터를 클라우드 컴퓨터 라고 부른다.
배포 과정은 원래는 쉽지 않아 얼개를 이해하고 다시 찾아보면서 배포하게 된다.
AWS 계정 가입 → 액세스 키 생성 → 액세스 키 복사해서 준비
📎 AWS? : AWS 아마존이라는 큰 회사에서 운영하는 클라우드 서비스 : 가입시 해외결제를 위한 카드가 필요함터미널 명령어
- 터미널 준비하기 -
mkdir deploy
cp app.py deploy/application.py
cp -r templates deploy/templates
pip freeze > deploy/requirements.txt
cd deploy
- application.py 세팅하기 -
application = app = Flask(name)
app.run()
- 패키지 설치하기 -
pip install awsebcli
- 보안 자격증명 -
eb init
- 초기 설정 -
eb create myweb
- 코드 수정 & 업데이트 -
eb deploy myweb
터미널 준비하기
mkdir deploy
- deploy라는 폴더를 만들기
cp [app.py](http://app.py) deploy/application.py
- app.py라는 파일을 deploy 폴더에 application.py라는 이름으로 복사하기
cp -r templates deploy/templates
- templates라는 폴더를 deploy 폴더 안에 통째로 복사하기
pip freeze > deploy/requirements.txt
- requirements에 내가 사용한 라이브러리만 적어줘
cd deploy
- deploy로 들어갔다.(거기서 명령을 치고 있다)
appication.py 세팅하기
application = app = Flask(**name**)
app.run()
#before
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
.
.
.
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
#after
from flask import Flask, render_template, request, jsonify
application = app = Flask(__name__)
.
.
.
if __name__ == '__main__':
app.run()
패키지 설치하기
pip install awsebcli
보안 자격증명
eb init
Select a default region : 10 (seoul)
AWS Access Key ID [None]: 발급된 액세스 키 ID (복사 붙여넣기)
AWS Secret Access Key [None]: 발급된 비밀 액세스 키 (복사 붙여넣기)
Enter Application Name (default is "deploy") : enter
It appears you are using Python. Is this correct? : Y
Select a platform branch (default is 1) : enter
Do you want use Codecommit? : N
Cannot setup CodeCommit because there is no Source Control setup, continuing with initialization
Do you want to set up SSH for your instances? : Y
Select a keypair : [Create new Keypair]
Type a keypair name : enter
Enter passphrase : enter
Enter same passphrase again : enter
AWS 배포중 eb init 에러
→ eb init --interactive
: 세팅을 다시 시작하기
eb create myweb
eb deploy myweb
eb create를 할 때마다 서버를 구매한다는 사실
1년이 지나면 과금이 되니까 삭제를 해놔야 한다.