[항해99]스파르타 코딩클럽 5주차

🌈 m1naworld ·2022년 10월 18일

항해99

목록 보기
6/7
post-thumbnail

[웹개발 종합반] 5주차 강의

🎯 수업 목표

  1. Flask 프레임워크를 활용해서 API를 만들 수 있다.
  2. '버킷리스트'를 완성한다.
  3. EC2에 내 프로젝트를 올리고, 자랑한다!

🎯 목차

  1. [버킷리스트] - 프로젝트 세팅
  2. [버킷리스트] - 뼈대 준비하기
  3. [버킷리스트] - POST 연습(기록하기)
  4. [버킷리스트] - GET 연습(보여주기)
  5. [버킷리스트] - POST 엽습(완료하기)
  6. 내 프로젝트를 서버에 올리기
  7. AWS 서버 구매하기
  8. 서버 세팅하기
  9. Flask 서버를 실행해보기
  10. nohup 설정하기
  11. 도메인 연결하기
  12. Og 태그
  13. 5주차 끝 & 숙제 설명

1. 내 프로젝트 서버에 올리기

"웹서비스 런칭"에 필요한 개념
웹 서비스를 런칭하면 언제나 요청에 응답해야 한다.

언제나 요청에 응답하려면,
1) 컴퓨터가 항상 켜져있고 프로그램이 실행되어 있어야 하고,
2) 모두가 접근할 수 있는 공개 주소인 공개 IP 주소(Public IP Address)로 나의 웹 서비스에 접근할 수 있도록 해야 한다.

우리는 AWS라는 클라우드 서비스에서 편하게 서버를 관리하기 위해서 항상 켜 놓을 수 있는 컴퓨터인 EC2 사용권을 구입해 서버로 사용할 것!


2. AWS 서버 구매하기

  • AWS(Amazon Web Service): 클라우드 컴퓨팅 서비스

  • EC2: Amazon Elastic Compute Cloud(Amazon EC2)는 AWS 클라우드에서 확장 가능 컴퓨팅 용량을 제공한다. EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있다.

(... 검색하면 자세하게 나오니 내용 생략)


3. AWS 서버 세팅

💡 우리는 지금 막! 컴퓨터를 구매한 상태! 여기에 이런저런 세팅들(업그레이드, DB설치, 명령어 통일 등)을 해줘야 본격적으로 이용할 때 편리하다.

#python3 명령어를 python으로 사용할 수 있게 하는 명령어
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# 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

# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000  >> 포트 80으로 들어오면 5000으로 연결 

- filezilla

FTP(File Transfer Protocol)의 약자로, 사용자의 PC와 호스팅 서버 간 파일을 송수신해주는 프로그램을 말함. FileZill는 FTP 클라이언트 소프트웨어로 널리 사용 것 중 하나로 오픈소스로 개발되는 거라 무료로 사용할 수 있고, 기능적으로도 좋은 평가를 받고 있다고 한다. 특히 SSH 프로토콜로 파일을 송수신할 수 있다는 장점이 있다.

filezilla 사용법

1) 연결하기

2) 사용하기

마우스로 드래그 해서 파일을 업로드/다운로드 하면 된다!


- nohup

SSH 접속을 끊어도 서버가 계속 돌아갈 수 있도록 하는 명령어

nohup python app.py &

서버 강제 종료

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

4. Og(Open Graph)태그

Og란, 메타 태그(meta tag): 에 작성되며, 브라우저 혹은 검색 툴에 웹 페이지의 정보를 알려준다. 즉, 해당 웹 페이지의 링크를 공유할 때 나타나는 미리 보기를 설정하는 태그이다.

<meta property="og:title" content="" />          //제목
<meta property="og:description" content="" />    //설명
<meta property="og:image" content="" />          //미리보기 썸네일(이미지)
<meta property="og:url" content="" />            //주소
<meta property="og:type" content="" />           //타입
<meta property="og:site_name" content="...">     //웹사이트 이름(URL과 다름)


5. 후기

5주차 완료!

항상 배포라는 말만 들어도 겁내했었다. 내가 접근할 수 없는 미지의 영역이라고 생각했었다. 그러나 막상 해보니까, 정말 새로운 컴퓨터를 하나 샀다고 생각하니! 모든 것이 받아들여졌다. 이전에 배포를 해보고자 여러 번 검색하고 해보고 했던 것들이 발판이 되어 더욱 이해가 잘 됐던 것 같다. 확실히 개발쪽은 뭐든 다 해봐야 하나보다! 삽질하는 과정 또한 미래에 도움이 된다😎!



Ref.
Dev Scroll(FileZilla)
스파르타코딩클럽

profile
개발자로 사는 내 삶은 즐거워 👾

0개의 댓글