동뀨의 story
5주차 개발일지 본문
AWS EC2에 접속하기 (준비 상식 편)
- 다른 컴퓨터에 접속할 때 쓰는 프로그램입니다. 다른 것들 보다 보안이 상대적으로 뛰어납니다.
- 접속할 컴퓨터가 22번 포트가 열려있어야 접속 가능 AWS EC2의 경우, 이미 22번 포트가 열려있다.
우분트의 경우에는 ssh를 설치한다.
sudo apt update
$ sudo apt install openssh-server
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
ex)
ssh -i /path/my-key-pair.pem ubuntu@13.125.250.20
Key fingerprint 관련 메시지가 나올 경우 Yes를 입력!
exit 명령어를 입력하여 ssh 접속을 먼저 끊어주세요.
리눅스는 윈도우 같지 않아서, '쉘 명령어'를 통해 OS를 조작한다. (일종의 마우스 역할)
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
- filezilla를 이용해서


python test.py
파이썬 실행 코드
서버 환경 세팅 - 한 줄씩 설명
- <aside> 💡 실제 업무에서는 아래 내용을 인프라 엔지니어 또는 개발 팀장님이 해두시는 경우가 많다.
- 튜터들도 모두 외우고 있는 코드가 아니기에, 맥락만 이해하면 된다.
1. 파이썬 (python3 → python)
python3 명령어를 python으로 사용할 수 있게 하는 명령어
2. pip (pip3 → pip)
1) pip3 설치
2) 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
3.포트포워딩 (80포트 → 5000포트)
80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
pip로 패키지를 설치하기
pip install flask
pip install pymongo dnspython
어떻게 되는걸까? 포트 번호 없애기 - 기본 개념
지금은 5000포트에서 웹 서비스가 실행되고 있다.
그래서 매번 :5000 이라고 뒤에 붙여줘야 하지.
뒤에 붙는 포트 번호를 없애려면 어떻게 해야할까요?
http 요청에서는 80포트가 기본이기 때문에, 굳이 :80을 붙이지 않아도 자동으로 연결이 된다.
포트 번호를 입력하지 않아도 자동으로 접속되기 위해, 우리는 80포트로 오는 요청을 5000 포트로 전달하게 하는 포트포워딩(port forwarding) 을 사용하겠습니다.
리눅스에서 기본으로 제공해주는 포트포워딩을 사용할 것입니다. 그림으로 보면 아래와 같습니다.
client ~> 80port ~> 5000port ~> server
sever ~> 500port ~> 80port ~> client
. nohup 설정하기
-
- SSH 접속을 끊어도 서버가 계속 돌게 하기
- 현재 상황
- Git bash 또는 터미널을 종료하면 (=즉, SSH 접속을 끊으면) 프로세스가 종료되면서, 서버가 돌아가지 않고 있습니다. 그러나 우리가 원격접속을 끊어도, 서버는 계속 동작해야겠죠?
- 원격 접속을 종료하더라도 서버가 계속 돌아가게 하기
# 아래의 명령어로 실행하면 된다
nohup python app.py &
서버 종료하기 - 강제종료하는 방법
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
og 태그 만들기
static 폴더 아래에 이미지 파일을 넣고,
각자 프로젝트 HTML의 <head>~</head> 사이에 아래 내용을 작성하면
og 태그를 개인 프로젝트에 사용할 수 있습니다.
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="이미지URL" />
- 참고! 이미지를 바꿨는데 이전 ogimage가 그대로 나와요!</aside>
- <aside> 👉 그것은 페이스북/카카오톡 등에서 처음 것을 한동안 저장해놓기 때문입니다.
- 페이스북 og 태그 초기화 하기: https://developers.facebook.com/tools/debug/
- 카카오톡 og 태그 초기화 하기: https://developers.kakao.com/tool/clear/og