웹 개발 종합 5주차
AWS 서버
AWS EC2 서버를 구매하면 SSH를 통해 접속할 수 있다. 하지만 윈도우에서는 git bash를 이용해 접근해야한다.
ssh -i 생성된키페어값 ubuntu@AWS+내 IP
를 입력하여 접속할 수 있다.
쉘 명령어는
ls: 현재 위치에서 접근 가능한 파일 출력
cd ### : 해당 위치로 현재 위치를 변경
cd .. : 상위 폴더로 현재 위치를 변경
pwd : 현재 위치까지의 경로를 출력
을 써봤는데, 강의에서는 sparta 폴더 밑에 바로 api를 만들어서 접근을 한 번만 해도 되었지만 나는 그 안에 주차별로 폴더를 따로 만들었기에 cd ###를 더 사용했어야 했다. 처음엔 이 개념을 제대로 이해하지 못해 조금 헷갈렸지만 ls로 현재 위치를 확인, cd .. 로 잘못된 경로에서 빠져나와 제대로 된 경로로 찾아갈 수 있었다. 경로를 제대로 찾아간 것 같아도 ls로 현재 위치를 확인하는 습관을 들이는 것이 좋겠다.
EC2에는 아무런 세팅이 들어가 있지 않았기 때문에 sudo ### : 관리자 권한으로 명령 실행을 활용하여 패키지 설치를 진행하였다.
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# 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
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
강의에서는 마지막 sudo에 복수의 명령어를 집어넣었었지만 나는 따로따로 하나씩 명령어를 입력했었다. 그래도 설치에는 문제가 없었지만 하나의 sudo 코드에 복수의 명령어를 넣는 것은 작업 속도를 높일 수 있는 방법인 것 같아 다음엔 그 방법을 써볼 생각이다.
그 외에도 80포트로 접근하는 요청을 5000포트로 넘겨주는 명령어 등이 소개되었지만 내 수준에서는 이를 집중해서 이해할 필요가 있나 싶다. 배워야한다면 배우겠지만 당장은 REACT가 눈 앞에 있으니 당장 그것부터......
소감
5주차 정리도 끝났다. 서버 쪽 관리는 이전에 게임 림월드 모딩을 할 때와 비슷한 느낌이 들어 그렇게까지 낯설지는 않았다. 물론 작동방식은 완전히 다르지만 UI나 명령어 입력같은 것들이 뭐랄까.....익숙한 냄새가 났다. git bash도 아주 옛날에 써본 적이 있어서 이미 설치가 되어 있었다. 게임보다 그것을 다루는 모딩을 한 경험 등에서 유사점을 찾는 것이 흥미로웠다. 그 때는 같은 버튼을 몇 시간이고 누르면서 한 번 부팅되는데 7분씩 걸리는 게임에서 캐릭터 얼굴의 주근깨 하나 지워보겠다고 그 짓을 했어야 했나 지긋지긋해 했는데, 세상 일 참 모르겠다........