[TIL] 항해99 웹개발 종합 5주차 220621

HJ Kim·2022년 6월 21일
0

TIL

목록 보기
23/27

1. AWS 서버 세팅하기 (EC2)

(1) Git bash를 통해서 linux에 접속 했으면 아래 명령어 한 줄씩 입력

python3 -> python

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

(python3을 쳐서 실행하는게 아닌 python을 치고 실행 시키게끔)

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

(pip 모듈 설치)

port forwarding

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

(2) Fileziila 오픈.

  • 좌측 상단 사이트 관리자 버튼 클릭

  • 아래 그림과 같이 설정
    • New Site 클릭 후 이름 설정 (ex. myec2)
    • 프로토콜 변경 : SFTP
    • 호스트 입력 : 본인 AWS Instance IP
    • 포트 입력 : 22
    • 로그온 유형 변경 : 키파일
    • 사용자 입력 : ubuntu
    • 키파일 선택 : 기존에 저장한 키파일
    • 연결 버튼 클릭

  • 아래 그림과 같이 나올 시 확인 버튼 클릭

  • linux 컴퓨터 연결 확인

  • 오른쪽 내컴퓨터에서 원하는 파일을 복사 후 붙여넣기 하면 연결된 컴퓨터에 복사 가능

(3) 파일 실행

2. 프로젝트 업로드하기 (팬명록)

(1) 기존 프로젝트 폴더 및 파일 중 아래에 해당하는 것만 옮긴다.

  • static (folder)
  • templates (folder)
  • app.py

(2) git bash에서 app.py 실행

  • flask 모듈이 안깔려있다. 먼저 깔러가자

(3) pip install flask 입력 후 엔터

(4) 다시 app.py 실행

  • pymongo가 없다고 한다. pymongo와 dnspython도 깔아주자

(5) pip install pymongo / pip install dnspython 입력 후 엔터

(6) app.py 실행

  • 서버가 올라온걸 볼 수 있다.

(7) AWS 화면에서 보안 탭에 보안 그룹 클릭

(8) 인바운드 규칙 편집 클릭

(9) 규칙 추가 버튼 클릭 후 아래 그림과 같이 설정

  • 포트 5000 추가
  • Anywhere-IPv4 선택

(10) 포트 80도 추가 후 규칙 저장 클릭

(11) 인스턴스에서 본인 IP 복사 > 웹 페이지에서 IP:5000 입력 후 엔터

  • 핸드폰으로도 접속이 가능하다

3. nohup 설정 (원격접속 끊더라도 서버 계속 돌아가게)

(1) Git bash에서 AWS 인스턴스 접속 한 상태로 아래 그림과 같이 nohup python app.py & 입력

(2) Git bash 종료 후 홈페이지 확인

  • 꺼져도 홈페이지는 잘 돌아간다

(3) 반대로 nohup을 끄려면 아래 command를 git bash에 입력

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

profile
티끌모아 태산을 아는 사람

0개의 댓글