- 이 글은 웹개발 종합반 강의를 수강하고 공부한 내용을 정리하는 용도로 작성되었습니다.
- 추가학습이 필요한 부분은 ❓이렇게 표시하고 학습 이후 글을 업로드 합니다.
[💡학습 목표]
1. Flask 프레임워크를 활용해서 API를 만들 수 있다.
2. '버킷리스트'를 완성한다.
3. EC2에 내 프로젝트를 올리고, 자랑한다!
1) EC2 서버 구매하기
2) EC2 서버 종료하는 방법 (1년 후 자동결제 방지!)
3) EC2에 접속하기
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
예) 아래와 비슷한 생김새!ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20
4) 간단한 리눅스 명령어 연습하기
[가장 많이 쓰는 몇 가지 명령어]
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것][붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리자 권한으로 들어간다. (나올때는 exit으로 나옴)
1) 서버 환경 통일하기
💡 우리는 지금 막! 컴퓨터를 구매한 상태이므로, 여기에 이런저런 세팅들(업그레이드, DB설치, 명령어 통일 등)을 해줘야 본격적으로 이용할 때 편리하다!
EC2 한방에 세팅하기
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# pip3 -> pip
sudo apt-get update
sudo apt-get install -y python3-pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
파이썬 (python3 → python)
python3 명령어를 python으로 사용할 수 있게 하는 명령어
pip (pip3 → pip)
# pip3 설치
sudo apt-get update
sudo apt-get install -y python3-pip
# pip3 대신 pip 라고 입력하기 위한 명령어
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
포트포워딩 (80포트 -> 5000포트)
80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어
2) filezilla를 실행하여 파일 업로드
3) pip로 패키지 설치하기
pip install flask
pip install pymongo
pip install dnspython
4) AWS에서 5000 포트를 열어주기
EC2 서버(=가상의 내 컴퓨터)에서 포트를 따로 설정하는 것 외에도, AWS EC2에서도 자체적으로 포트를 열고/닫을 수 있게 관리를 하고 있다.
→ 그래서 AWS EC2 Security Group에서 인바운드 요청 포트를 열어줘야 한다.
EC2 관리 콘솔 > 보안그룹(영문: Security Group) > Edit inbound rules 선택
두 가지 포트 추가하고 ❓Anywhere-IPv4 클릭
→ 80 포트: ❓HTTP 접속을 위한 기본포트
→ 5000 포트: flask 기본포트
포트 번호 없애기
개념
- 지금은 5000포트에서 웹 서비스가 실행되고 있다. 그래서 매번 :5000 이라고 뒤에 붙여줘야 한다.
- http 요청에서는 80포트가 기본이기 때문에, 굳이 :80을 붙이지 않아도 자동으로 연결된다.
현재 상황: Git bash 또는 맥의 터미널을 종료하면 (=즉, SSH 접속을 끊으면) 프로세스가 종료되면서, 서버가 돌아가지 않는다.
원격 접속을 종료하더라도 서버가 계속 돌아가게 하기
# 아래의 명령어로 실행하면 된다
nohup python app.py &
서버 종료하기(=강제종료하는 방법)
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
2) SSH 접속을 종료한 뒤, 접속해보자!
브라우저에서 접속하기
http://내AWS아이피/
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="이미지URL" />
👉 그것은 페이스북/카카오톡 등에서 처음 것을 한동안 저장해놓기 때문.