사전학습 마지막날! 오늘은 필수적으로 들어야하는 강의가 없었기 때문에 AWS의 Elastic Beanstalk를 사용하여 배포 연습을 했고, fetch의 작동원리에 대해서 공부를 하였고, 내일 입학시험이 있기 때문에 웹개발 종합반 강의를 다시한번 빠르게 들었다. 오늘은 Elastic Beanstalk을 통한 배포 방법과 발생했던 오류에 대해 글을 써보고자 한다.
aws 배포 명령어
- 터미널 준비하기 -
mkdir deploy //deploy 폴더 만들기
cp app.py deploy/application.py //app.py를 deploy 폴더에 application.py라는 이름으로 생성
cp -r templates deploy/templates //templates 폴더를 deploy 폴더 안에 복사하기
pip freeze > deploy/requirements.txt //requirements.txt파일에 출력결과를 저장
cd deploy //deploy 폴더로 이동
- appication.py 세팅하기 -
application = app = Flask(__name__)
app.run()
- 패키지 설치하기 -
pip install awsebcli
- 보안 자격증명 -
eb init
- 초기 설정 -
eb create myweb
- 코드 수정 & 업데이트 -
eb deploy myweb
배포는 위의 코드를 순서대로 따라하면 된다. 나는 위의 코드를 실행하던 중 pip install awsebcli 부분에서 오류가 발생했다. pip install awsebcli 명령어를 쳤을 때. pip 버전이 낮아서 업그레이드를 해야된다는 오류 메시지가 떴다. 그래서 pip을 업그레이드 했지만 같은 오류가 발생했다... 원인을 찾던 중 'Python의 버전이 3.10.6이어서 발생한 오류가 아닐까?' 하는 생각이 들었고, 다운그레이드를 하여 다시 실행해보기로 했다. 하지만 다운그레이드를 하고 가상환경을 만들면 다시 Python 버전이3.10.6으로 돌아갔고, 같은 오류가 발생했다..
문제 해결 방법은 간단했다. 가상환경 설치를 도와주는 virtualenv 를 설치 한 뒤, 원하는 Python 버전으로 가상환경을 설치하면 끝. 나머지 절차에서는 오류가 발생하지 않았기 때문에 생략..
// virtualenv 설치
pip install virtualenv
// Python 3.9 버전으로 venv 가상환경 만들기
virtualenv venv --python=python3.9
배포 시에 발생하는 오류를 경험해 봤기 때문에 참 다행이라고 생각한다.. 내일 발생했으면 멘붕왔을텐데 :(
오늘 글은 내가 배포한 웹페이지를 끝으로 마무리 하고자 한다.
http://myweb.eba-wfmbtcsu.ap-northeast-2.elasticbeanstalk.com/
'[항해99] TIL' 카테고리의 다른 글
[항해99] 1일차(JavaScript 문법) (0) | 2023.08.14 |
---|---|
1주차 WIL (사전 미니 프로젝트 회고) (0) | 2023.08.11 |
항해99 사전학습 3일차(To-do-list 만들기) (0) | 2023.08.05 |
항해99 사전학습 2일차(JS & jQuery & fetch) (0) | 2023.08.04 |
항해99 사전학습 1일차(CSS 기초) (0) | 2023.08.03 |