✅서버에 올리기 전에 필요한 설치 프로그램
filezilla : 나중에 서버 컴퓨터에 내가 가지고 있는 컴퓨터를 원격으로 줄 수 있는 프로그램
가비아 : 도메인 구매 사이트
벌써 내움배움단 5주차 마지막을 향하고 있다. 😀 ( 그 사이에 버킷리스트프로그램도 만들어봤다..ㅎ)
오늘 주제는 이때까지 만들어 놓은 프로젝트를 서버(컴퓨터)에 올려서 다른 사람들도 주소를 통해서 접근이 가능하게 한다.
그럴려면 항상 컴퓨터가 켜져있어야하는데 사실상 불가능하므로 AWS클라우드를 사용해서 항상 켜 놓을 수 있는 컴퓨터를 구입해 서버로 사용하도록 했다.(EC2,elastic compute cloud : 아마존에서 제공하는 클라우드 컴퓨팅 서비스)
컴퓨터의 설정을 리눅스 ubuntu를 설치한다.
-리눅스는 명령어를 통해 OS를 조작한다.
(1)AWS EC2에 접속하기
윈도우를 쓰고 있기 때문에 ssh가 없으므로 git bash 프로그램을 이용한다.
ssh -i (key파일 drag하기) ubuntu@(AWS에 적힌 내 IP주소)
※key파일은 ubuntu server를 구매하면서 다운받아진 파일이다.
❗만약 git bash를 종료할때 는 exit명령어를 입력하여 ssh접속을 먼저 끊어야한다!
👇 많이 쓰는 명령어들
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
(2)서버 세팅하기
① 파일질라를 실행해준다.
왼쪽 위 표시해놓은 부분을 누르면 이렇게 창이 뜨는데
'새 사이트' 와 프로토콜은 이미지처럼 설정해주면 된다. 호스트는 내 EC2서버의 ip를 넣어주면 된다.
포트는 정해진 것이므로 22로 해준다, 키 파일위치와 사용자를 다 넣어준다.
▷ 이렇게 까지 하면 오른쪽에 내가 서버 컴퓨터로 원격으로 파일을 올릴 수 있는 창이 생긴다.
나온 창에 팬명록이 있는 파일중에 templates,static,app.py 이 3가지 폴더를 넣어준다.
# python3 -> python //python3명령어를 python으로 사용할 수 있게 하는 명령어
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# pip3 -> pip //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 //80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
#nohup //강제종료하기
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill
②이어서 Flask서버 실행
그렇지만 app.py를 실행하려고 보니까 flask가 없다는 말이 뜬다
그래서 실행 할 패키지들을 설치 해주어야한다.
pip install flask dnspython pymongo //내가 인터프리터에 패키지를 깔았던것을 명령어로 한 것
그리고 다시 python app.py를 실행하고 나면 아직 작동을 하지 않는다❗❓

③AWS에서 5000포트 열어주기
-AWS들어가서 '보안' 목록으로 들어가서 보안그룹 클릭!
- 그리고 보안그룹 클릭!
-오른쪽 대각선 밑에 위치한 '인바운드 규칙편집' 클릭!
-규칙추가 클릭!
-
- 그러고나서 다시 주소를 쳐서 확인해보면 팬명록이 잘 나오는 것을 확인 할 수 있다....!
80으로 받아서 5000으로 연결해주기 위함
5000을 굳이 주소에 적지않아도 들어가는 이유
(명령어를 적어논 코드블럭에
세번째 위치한 port forwarding코드를 넣는 이유)
'파이썬' 카테고리의 다른 글
프로젝트 서버에 올리기(2) (0) | 2022.10.27 |
---|---|
영화기록 페이지 만들어보기(2)_GET (0) | 2022.10.25 |
영화기록 페이지 만들어보기(1)_POST (0) | 2022.10.25 |
영화기록 페이지 만들어보기_Flask (0) | 2022.10.25 |
python 크롤링 (0) | 2022.10.24 |