나의 웹서비스를 배포하기 위해서는 클라이언트의 요청에 항상 응답해줄 수 있는 서버에 프로젝트를 실행시켜줘야 한다.
이때 언제나 요청에 응답하려면,
내가 사용하고 있는 컴퓨터를 계속 켜놓을 수도 없고, 보안상의 문제와 여러가지 제약이 있기 때문에 통상적으로는 aws라는 클라우드 서비스에서 컴퓨터를 사서 그 쪽으로 접속할 수 있도록 한다.
aws상에서 컴퓨터를 인스턴스라고 부른다.
인스턴스를 살때 리눅스를 선택하는데,
리눅스는 우리가 보통 사용하는 윈도우나 맥같은 운영체제의 한 종류이다.
이때 리눅스 운영체제의 특징은 오픈소스라는 점이다. 즉 무료라는 것이다 !
통상적으로 서버는 여러대의 컴퓨터를 운영해야되기 때문에 비용이 필요없는 오픈소스인 리눅스를 사용한다.
리눅스도 여러계열이 있는데 보편적으로 ununtu
계열을 사용한다.
t2.micro
유형을 선택하고 시작하기를 눌러준다.
컴퓨터를 사면 keypair
를 생성해줘야하는데, 구매한 컴퓨터에 원격접속하러 들어갈 수 있는 key로써 반드시! 기억해야한다
( 까먹으면 아무도 안찾아주니까 메일 등으로 전송해두는 것을 추천..! )
이때 구매한 aws 인스턴스는 1년동안만 무료이다. 때문에 비용이 지불되기 전에 인스턴스 종료버튼을 눌러줘야한다.
윈도우 사용자는 Git bash
를 이용해서 구매한 서버에 원격접속을 한다.
✔gitbash
를 실행하고, 아래 명령어를 입력한다.
✔ 이때 key fingerprint
관련 메시지가 나올 경우 모두 yes
해주면 된다.
$ ssh -i (키페어 끌어놓기) ubuntu@(퍼블릭 IPv4 주소)
이렇게 ubuntu@ip....
로 나온다면 아까 산 컴퓨터에 원격접속이 된 것이다.
리눅스에서는 마우스가 없기 때문에 모든 것이 명령어로 이루어 진다.
- mkdir
(폴더명) : make diretory로 파일을 만들어준다.
- ls
(폴더명) : 지금 있는 위치에 있는 파일목록을 보여준다.
- cd
(폴더명) : 폴더로 들어간다.
- cd ..
(폴더명) : 폴더에서 나온다.
filezilla
를 이용해서 파일을 업로드 해준다.
✔ myec2라고 사이트를 만들어 주고, 다음 사항을 확인해준다.
- 프로토콜 : SFTP
- 호스트 : aws에서 구매한 컴퓨터의 퍼블릭 IPv4 주소
- 포트 : 22
- 로그온 유형 : 키 파일
- 사용자 : ubuntu
- 키 파일 : keypair가 있는 폴더경로 지정
키 파일 경로를 지정해 줄때 파일이 보이지 않는 경우, 파일 유형을 All files
로 지정해주면 된다.
마우스로 드래그 해서 파일을 업로드/다운로드 하면 된다.
gitbash
를 실행하고 ec2 원격접속 상태에서 실행시킬 파일이 있는 폴더로 이동한 뒤, 다음을 입력한다.
python3 test.py
ec2
한방에 세팅하기filezilla
로 ec2
세팅파일을 업로드하고 gitbash
에서 다음 코드를 차례로 입력한다.
- sudo chmod 755 initial.ec2.sh
➡ 파일의 권한을 설정해준다.
- ./initial.ec2.sh
이때 ini 까지만 치고 tab
버튼을 누르면 initial.ec2.sh가 자동완성된다 !
flask
서버 실행하기