내 컴퓨터에서 서버를 배포하려면 컴퓨터를 계속 켜놔야하는데, 계속 켜놓을 컴퓨터를 구매하는 것이 서버이다.
https://ap-northeast-2.console.aws.amazon.com/elasticbeanstalk/home?region=ap-northeast-2#/welcome
https://ap-northeast-2.console.aws.amazon.com/elasticbeanstalk/home?region=ap-northeast-2#/welcome
ap-northeast-2.console.aws.amazon.com
AWS 라고 하는 Amazon Elastic Beanstalk 서비스를 사용해서 배포를 할 것이다.
로그인 후 오른쪽 위에 있는 닉네임을 클릭하고 보안 자격 증명을 누른다.
액세스 키 만들기 클릭
사진엔 잘렸지만 엑세스 키가 나오게 된다. 두개의 키를 복사해서 저장해놓는다.
# 배포 명령어 모음
- 터미널 준비하기 - mkdir deploy cp app.py deploy/application.py cp -r templates deploy/templates pip freeze > deploy/requirements.txt cd deploy - appication.py 세팅하기 - application = app = Flask(__name__) app.run() - 패키지 설치하기 - pip install awsebcli - 보안 자격증명 - eb init - 초기 설정 - eb create myweb - 코드 수정 & 업데이트 - eb deploy myweb |
위 코드를 한줄씩 터미널에 입력할 것이다.
# 터미널 준비하기
mkdir deploy -> deploy 폴더 생성
cp app.py deploy/application.py -> app.py를 deploy 폴더 밑에 application.py 파일로 복사해라
cp -r templates deploy/templates -> deploy 폴더에 templates 폴더를 통째로 복사해라
pip freeze > deploy/requirements.txt -> requirements.txt 라는 파일에 여태까지 설치한 라이브러리를 적어달라
cd deploy -> deploy 라는 폴더에 명령어를 치고 있다
deploy 폴더 안에 있는 것들이 서버에 배포가 되는 것
# appication.py 세팅하기
application.py의 해당 박스 부분을 지우고
이와 같이 수정해준다.
맨 아래 줄의 위 코드도
이와 같이 수정해준다
# 패키지 설치하기
pip install awsebcli
오류 발생 시 pip install --upgrade pip 실행 후 재 설치
# 보안 자격 증명
eb init
서울은 10번이므로 10 입력하게 되면
access id를 입력하라고 나오는데 입력하면 secret key도 입력하라고 나오게 된다. 마찬가지로 입력한 후
application name을 입력하라고 나오는데 그냥 엔터치고 넘어가면 python이 맞냐고 물어본다. y 누르고
파이썬 버전 3.8이 디폴트이므로 마찬가지로 엔터치고 넘어간다.
codecommit 과 관련된 얘긴데 y 누르고 넘어간다.
keypair name을 입력하라고 나오는데 디폴트가 aws-eb이므로 엔터, passphrase도 엔터, 다시 한번 같은 passphrase 를 입력하라고 나오는데 마찬가지로 엔터
이렇게 나오게 된다. 여기까지하면 서버로 사용할 컴퓨터를 인터넷에서 샀다고 보면 된다.(아직 올리진 않은 상태)
# 초기 설정
eb create myweb
현재 올라가고 있는 중이고 최대 5분까지도 소요된다.
완료가 되고 aws 홈페이지의 좌측 어플리케이션을 누르면 이와 같이 뜨게 되는데, 환경에 들어가면
배포가 정상적으로 완료됐고 url을 클릭해서 들어가면
만약 배포를 한 뒤에 수정하고 싶다면 app.py나 templates에 있는 index.html 파일을 수정한 후 전체 복사해서 deploy 폴더 내에 붙여넣으면 된다. 그 후 업로드를 하려면 deploy 폴더로 이동한 후 업로드를 해야하기 때문에 cd deploy 실행하게 되면 deploy 폴더로 지정이 된 것이다.
- 코드 수정 & 업데이트 -
eb deploy myweb
그 후 위 코드를 실행시켜주면 업로드가 된다.
'코딩 > 웹개발 종합반' 카테고리의 다른 글
스파르타 피디아( + 삭제 기능 구현) (0) | 2023.03.24 |
---|---|
웹개발 종합반 5주차(팬명록) (0) | 2023.03.22 |
웹개발 종합반 5주차(버킷리스트) (0) | 2023.03.22 |
웹개발 종합반 4주차(스파르타 피디아) (0) | 2023.03.22 |
웹개발 종합반 4주차(화성땅 공동구매) (0) | 2023.03.21 |
댓글