웹개발 종합반 - 5주차 - 09~11 서버 세팅하기

2022. 10. 13. 22:18항해99/사전 스터디

이번엔 서버를 막 구매한 상태에서 여러가지 세팅을 해줄 것이다.

 

먼저 서버에 접속해서

아래와 같은 명령어를 쳐주자!

 

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

//python 쉽게 실행하기 위해 하는 거라고 생각하자

 

sudo apt-get update  //리눅스 다운로드 패키지 업데이트 비슷한거임

sudo apt-get install -y python3-pip //pip 설치

sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

//pip 쉽게 실행하기위해 설정

 

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

//port 5000을 80번 (http tcp port번호)로 리다이렉트함


자 다음으로는 우리가 현재 컴퓨터에 가지고 있는 프로젝트 파일들을 서버로 옮겨볼 것이다.

그러기 위해 우리는 여러 프로토콜 중 SFTP를 사용할 것이다.

해당 프로토콜을 사용해주기 위해 file zilla 프로그램을 실행한 뒤

아래와 같이 파일 전송하자!

 

keyfile엔 aws에서 받은 키파일을 넣어주면 된다.

 

 

그 후 왼쪽은 내 컴퓨터 

오른쪽은 서버이다.

서버로 우리 프로젝트 파일을 옮겨준 뒤

서버에 접속해서 ls명령어로 잘 들어왔는지 확인해주자


그 후 파이썬 파일을 실행하기전에 파이썬 패키지를 서버에 설치해주자

 

pip install flask dnspython pymongo


이제 파이썬파일을 실행해보자!

python app.py

 

그 후 내 aws서버 공인ip에 웹브라우저로 접속해도 접속이 되지 않을 것이다.

그 이유는 5000번 포트가 막혀있기 때문 ( 기본적으로 aws는 화이트리스트로 보안을 한다.)

아래와 같이 포트를 뚫어주자!!

이렇게 포트들을 permit 해줘야 해당 포트 서비스로 접속을 할 수 있음

→ 80포트: HTTP 접속을 위한 기본포트

→ 5000포트: flask 기본포트

→ 27017포트: DB 접속 포트

→ 22포트: SSH

 

그 후 접속을 해보면?

이렇게 접속이 되는 것을 확인할 수 있다.


하지만

ssh접속이 끊기면 해당 웹서비스도 종료가 되는 이슈가 있었는데

이건 아래 명령어 하나로 충분히 해결가능하니 걱정말자

nohup python app.py &

 

그렇다면 종료하는 방법은?

ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill

 

 

한 번 nohup를 사용한 뒤 ssh접속을 끊고 웹페이지에 접속해보자 (성공ㅎㅎ)