카테고리 없음

스파르타 웹종 배포하기.

GABOJOK 2023. 6. 6. 05:16

og태그

 

내 웹서비스 런칭.

내 컴퓨터를 끄지 않으면, 사람들이 이걸 계속 볼 수 있다. 근데 그럴수 없으니까,

인터넷 환경에서 컴퓨터를 대여한다. 

그게 가장 유명한 클라우드 회사가 aws

 

그중에서도 Elastic Beanstalk 서비스가 굉장히 쉬움..

 

- 터미널 준비하기 - 

mkdir deploy   

폴더 만들어줘

 

cp app.py deploy/application.py     

app.py 라는 파일을 방금 만든 deploy라는 폴더로 복사해줘

 

cp -r templates deploy/templates     

templates 폴더를 통채로 복사해줘

 

pip freeze > deploy/requirements.txt   

requirements.txt 라는 파일에 우리가 여태까지 설치한 라이브러리 들을 적어달라는 말.

 

cd deploy       

터미널이 체인지 디렉토리 되면서 명령어를 이제 여기서 치게 됨.

 

- appication.py 세팅하기 - 

application = app = Flask(__name__)       

자 이제 코드 수정 할껀데, vscode에 켜져있는 모든 파일 다 끄고,

application.py라는 파일을 켜서

맨 위에 app = Flask(__name__)이거 삭제후 저걸로 갈아끼우기.

 

app.run()

application.py라는 파일에 맨 아래 보면, 

app.run('0.0.0.0', port = 5000, debug=True)  이거 지우고 저걸로 갈아끼우기.(띄어쓰기 유의)

 

- 패키지 설치하기 - 

pip install awsebcli

터미널에 입력해서 설치

 

- 보안 자격증명 - 

eb init

터미널에 입력해서 자격증명 하기, 아까 aws에 로그인 하고 새로 생성한 엑세스 보안 아이디,비번을 입력한다.

(아이디 비번 입력은 한번만 하면 된다고 한당)

 

Enter Application Name       

엔터치기

 

It appears you are using Python. Is this correct?     

파이썬 이용하려고 하는거 같은데 맞니?? 라는말 .  Y 누르고 엔터

 

Select a platform branch

1) Python 3.8 running on 64 bit Amazon Linux 2

2) Python 3.7 running on 64 bit Amazon Linux 2

3) 등등

 

1번으로 디폴트 설정이 되어있어서 엔터치기

 

Do you want to set up SSH for your instances ?  

코드 커밋과 관련된 질문 .   Y  입력 후 엔터치기

 

Select a keypair 

1)

2)

3)

4)

5) [Create new KeyPair]

이거 누르기. 번호 다를수도 있으니까 확인 필수.

 

 

Type a keypair name. 

이거 필요 없으니까 엔터

 

Enter passphrase  

이것도 엔터

 

Enter same passphrase again

이것도 엔터

 

 

자 이제 프로그램 구동시킬, 맨날 켜져있는 클라우드 컴퓨터를 인터넷에서 쓸 준비한거.

 

 

 

 

- 초기 설정 - 

eb create myweb

이거 터미널에 복붙해서 엔터.(꽤나 기다려야함 최대5분)

aws 사이트 들어가서 왼쪽에 애플리케이션 들어가면 상태 확인 가능.

환경에 들어가면 pending 이라는 게 있는데 그게 업로드 되고 있다는 말. 돌아가고 잇다는 말. 

 

업로드가 완료 되면, 환경에 상태가 ok라고 바뀌고, 오른쪽에 url 이 떠잇다. 

그 url타고 들어가서 사용하면 됨. 

 

 

 

 

 

- 코드 수정 & 업데이트 - 

eb deploy myweb

 

1. venv 설정 하고 터미널 다시 켜기

2. 내가 기존에 만들었던 app.py실행. 거기서   터미널에서 python파일  실행 누른다. 

3. 실행 한번 해보기. localhost:5000

4. 기존에 만들었던 index.html에서 파일 수정

5. 바뀐부분만 복사. 후 deploy 안에있는 templates 안에있는 index.html 에 바뀐부분을 그대로 바꿔준다. 

6. 업로드 할껀데, 일단 deploy 폴더로 이동해야함  cd deploy 터미널에 입력해서 이동하기

7. eb deploy myweb 라고 터미널에 입력하고 엔터. 소요시간 필요. 

 

 

 

aws 이용시 주의사항.

   1. eb create 를 할때마다 서버를 구매한다.  그럼 돈 나감. 

      하나만 있어야 한다. 

      만약 여러개가 있다면, ??

      왼쪽 사이드바 ->

      ->애플리케이션 ->

      ->삭제할 파일 클릭 ->

      ->오른쪽 상단쪽에 작업 클릭 ->

      ->애플리케이션 삭제 클릭 ->

      ->000을 영구히 삭제하시겟습니까? 나오는데, 그 000 이름 그대로 입력하고 삭제버튼 클릭.