본문 바로가기
코딩/웹개발 종합반

웹개발 종합반 5주차(서버 배포)

by junhub 2023. 3. 23.

내 컴퓨터에서 서버를 배포하려면 컴퓨터를 계속 켜놔야하는데, 계속 켜놓을 컴퓨터를 구매하는 것이 서버이다.

 

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

 

그 후 위 코드를 실행시켜주면 업로드가 된다. 

댓글