Sparta/What I Learned

22.11.2

코딩하는 또롱이 2022. 11. 2. 21:01

드디어 완강!! 마지막 주차에 어려운 것들이 휘몰아 쳐서 어제 3주치를 들을 동안 오늘은 1주치를 듣고 내 코드로 만들어 낸다고 힘들었다. 그 와중에 우리 조원분들과 함께 튜터님, 담임 매니저님과 면담을 한다고 중간중간 사라졌는데 이 모습이 왤케 귀엽지,,? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ😂

 

느긋하게 마무리하고 혼자서 새로운 페이지를 만들어볼까 하는 와중에 미니 플젝인 우리 팀 페이지 만드는 것에 몽고디비 패스워드를 공유해야 하길래 (여담으로 다른 국비로 이미 몽고디비 아이디와 비번이 있었음. 그것도 내가 찐으로 사용하는 실제 비번과 아이디ㅜ) 서둘러 바꿨는데 이게 진짜 함정,,,,, 매달리기 시작한게 저녁 먹기 전인데 지금까지도 헤매는 중😱💀

 

처음엔 파이참에서 실행 자체가 안 됐다가, 혼자 으쌰으쌰 해본 결과 바꿨던 비밀번호에 백참이 있어서 문제였다는걸 깨닫고 그냥 문자열로만 했더니 파이참 콘솔에서 정상적으로 나타났다. 하지만 localhost로 불러온 페이지에 몽고디비의 데이터 자체가 하나도 나타나지 않고, F12로 확인해보니 역시나 오류가,,, 파이참 콘솔에도 역시나 오류가,,,! 몽고디비랑 제대로 연결이 안돼서 나타나는 에러인데 대체 뭐가 문젤까ㅜㅜ 진짜 스트레스!!! 

 

믿음직한 우리 스파르타 튜터님들을 믿고 문의를 남겨놨으니 해결 되는대로 정리해서 여기다가 게시할 예정!!

 

이렇게 정신없고 혼란스럽고 빡치는 그 와중에 비어나잇이라고 담임맨져님이랑 튜터님이 열심히 애쓰셔서 1시간동안 보물찾기도 하고(물론 ZEP에서), 마라톤도 하고(물론 ZEP에서), OX퀴즈도 했는데(물론 ZEP!) 퀴즈도 끝까지 못가고, 보물찾기도 젤처음에 찾았는데 게시글로 올려서 망하고, 마라톤도 바나나 밟고 미끄러져서 최고등수 고작 16등,,,!
그래도 너무 재밌었음😍

 

더보기

<요기는 이제 마지막 주차였던 5주차 강의 내용 정리>

 

5주차에는 그동안 만들었던 페이지들을 실제로 인터넷에 뿌려주는 걸 했다.  인터넷에 뿌려주기 위해서 AWS 우분투 인스턴스를 만들고 실행시켜서 깃배쉬에서 파이썬 실행하는 것까지 했는데 이 내용은 이미 진즉에 상반기에 들었었는데, 그때도 어제 말했던 것처럼 정말 2시간?도 안되는 시간에(대면이어서 여기저기 오류 때문에 길어진 것...) 호로록 한다고 힘들었는데 강의로 차근차근 듣고, 이해 안가면 멈춰놓거나 다시 볼 수 있어서 너무 좋았다.

 

AWS 인스턴스 만들기는 너무 많이 나오니까 넘어가고,,!

 

윈도우에서 깃배쉬를 오픈해서 AWS 인스턴스로 접속하는 명령어 넣기!(당연히 하단의 명령어에서 괄호 없이!!)
 ssh -i (aws에서 다운받은pem키 ; 끌어다 놓으면 절대경로로 자동 입력된다) ubuntu@(퍼블릭 IPv4 주소)

 

---->지금 이 상태는 순정상태, 업그레이드 할 명령어 모움
# python3 -> python (파이썬 까는 명령어)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# pip3 -> pip(flask, pymongo 같은 패키지 까는 명령어)
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(localhost:5000으로 접속했는데 이때 이 5000을 없애는 명령어)
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

 

이렇게 명령어를 쳐줘야한다. (근데 나는 마지막 포트포워딩도도 그냥 쭉쭉쭉 진행 시켰는데 그러면 나중에 퍼블릭 IPv4 주소만 쳐서 링크 접속하면 접속이 안된다.. 그러고 우리가 쓰는 패키지들을 

pip install flask

처럼 pip install 패키지 명으로 깔아주면 된다.

 

두구두구두구 이제 실제 파이참에서의 환경이 만들어졌고, 이제 미리 만들어둔 파일들을 실행시키기 위해서는 이 가상 공간에 내가 만든 파일들을 옮겨야하는데 이때 필요한게 파일질라, 쁘띠(putty인데 난 쁘띠라고 부름 귀엽잔아)같은 것들이다.

 

스파르타에서는 파일질라를 이용한 방법을 알려주셨는데 

파일질라에서는 그렇게 어렵지 않다. AWS 인스턴스 만들때 저장한 .pem 키만 있으면 준비물 끗!

 

쪼끄매 보이지만 어피치가 보고있는 저 부분을 누르면 새 창이 뜬다. 그 때 새 사이트를 눌러서 원하는 이름을 지어주고,  

프로토콜은 SFTP

호스트는 퍼블릭 IPv4 주소

포트넘버는 22로 고정
로그온 유형은 키파일

사용자는 무조건  ubuntu

그러고 키파일을 불러오고 "연결" 누르면 된다!!!

 

휴 이 부분도 국비에선 그냥 선생님이 호로록 알려줘서 제대로 기억도 못했는데 이젠 두 번 다시 까먹을 일 없음!! 얏호!

 

그럼 이제 보이는 화면에서 왼쪽이 내 컴퓨터, 오른쪽이 가상 공간인데 원하는 파일이나 폴더를 원하는 경로로 옮겨주면 된다.

 

이제 다시 깃배쉬로 넘어가서 명령어를 칠건데 실행하고 싶은 파일이 있는 폴더로 이동한 후 ls로 실행할 파일이 있는지 확인하는게 우선되면 훨씬 좋다.
제대로 확인이 되면 파이썬 파일을 여는 명령어인

python test.py

를 실행하면 그대로 나온다 얏호!

 

이제 이렇게 하면 브라우저에 제대로 다 나오는데 중요한건 깃배쉬를 끄면 로컬호스트도 같이 꺼져버린다. 이걸 방지하기 위해

nohup python app.py

명령어를 쳐주면 되고, 반대로 이렇게 꺼지지 않게 된 로컬 호스트를 끄기 위해서는

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

를 입력해주면 된다.

 

 

 

중간에 파일질라로 옮기고 나서 바로 퍼블릭 주소:5000을 치면 에러가 날텐데 이유는 aws에서 5000번 포트를 열어주지 않았기 때문!
그래서 인스턴스 하단의 보안탭으로 들어가서 보안그룹 ID를 누른 뒤 인바운드 규칙 편집을 눌러준다.
규칙 추가를 눌러서 포트범위 5000, anywhere-IPv4 // 80, anywhere-IPv4 2개를 를 추가한 뒤 저장하면 끗~

'Sparta > What I Learned' 카테고리의 다른 글

22.11.6  (0) 2022.11.07
22.11.4  (0) 2022.11.04
22.11.3  (0) 2022.11.03
22.11.1  (2) 2022.11.01
22.10.31  (1) 2022.10.31