[WIL] 웹개발 종합반 5주차

이현동·2022년 12월 29일
0

웹개발종합

목록 보기
5/6

1. 5주차 회고

1주차때 만들어놓은 AWS 계정으로 서버 컴퓨터를 구매하고 가비아에서 도메인까지 550원을 주고 구매했다. 뭔가 내 컴퓨터가 하나 더 생긴 기분..
서울에 있는 내 서버 컴퓨터에 원격으로 접속해보고 리눅스 명령어로 서버 컴퓨터도 조작해보고 세팅도 하고 여러모로 재밌었다. 보안 설정, 키체인 등 여러가지 세팅을 해서 복잡하고 정신 없었지만 처음으로 내가 만들어서 인터넷이로 접속 가능한 웹사이트를 만들었다는게 많이 신기한 경험이었다.

2. CLI 명령어

pwd

print woriking directory의 줄임말로 현재 위치해있는 경로를 출력해준다.

cd [path]

change directory의 줄임말로 cd명령 이후 경로를 설정해주면 해당 디렉토리로 이동하게 된다.

  • 보다 상위 폴더로 이동하고 싶을 때는 ".."의 경로를 사용하면 된다.

  • mac에서는 "root"로 시작해서 "user" 디렉토리 안에 사용자의 홈 디렉토리가 있다. 해당 디렉토리로 이동할 때는 "~"의 경로를 사용하면 된다.

ls

list의 줄임말로 현재 위치해 있는 디렉토리의 파일들을 출력해준다.

  • "-a" 옵션 : 모든 파일을 출력해준다. 디렉토리에는 숨겨져 있는 디렉토리와 파일들도 출력한다.

  • "-l" 옵션 : 출력된 파일과 디렉토리의 정보들도 함께 출력해준다.

mkdir [path1][path2] ...

make directory의 줄임말로 현재 위치해있는 디렉토리에 새로운 디렉토리를 생성한다.

띄어쓰기를 통해 이름을 구분하여 여러 디렉토리도 생성이 가능하다.

touch [path]

touch file의 의미인 명령어로 옵션을 통해 파일의 마지막 접근시간, 수정 시간을 업데이트할 때 사용하지만 현재 위치해 있는 경로에 파일이 없다면 새로 생성한다.

  • "-a" 옵션 : 접근 시간만을 변경한다.

  • "-c" 옵션 : 파일이 존재하지 않는다면 새 파일을 만들지 않고 보고하지 않는다.

  • "-r" 옵션 : 파일의 접근, 변경 시간을 사용한다.

cp [source_path][dest_path]

copy의 줄임말로 source_path를 dest_path로 복사해준다. dest_path가 이미 존재하는 디렉토리의 경로일 경우에는 source_path에 해당하는 디렉토리나 파일을 그 안으로 복사하고, 그렇지 않으면 dest_path라는 이름의 디렉토리를 만들어 복사한다.

  • "-r" 옵션 : 디렉토리를 복사할 때 사용해야 하는 옵션. 파일을 복사할 때는 사용하지 않아도 된다.

  • "-i" 옵션 : 복사할 때 똑같은 이름의 파일이 있으면 그냥 덮어씌워진다. 확인을 하면서 복사를 하려면 "-i"를 사용하면 된다.

mv [source_path][path]

move의 줄임말로 source_path인 파일이나 디렉토리를 path로 옮겨준다.

  • "-i" : 해당 경로와 같을 경우 덮어 씌우기 때문에 "-i" 옵션을 사용하면 정말 옮길 것인지 물어본다.

rm [path]

remove의 줄임말로 해당 경로의 파일이나 디렉토리를 삭제할 때 사용한다.

  • "-r" 옵션 : 디렉토리를 삭제할 때 사용하는 옵션이다.

  • "-i" 옵션 : 삭제할 때 정말 지울 것인지 물어보는 옵션이다.

  • "-f" 옵션 : 물어보지 않고 바로 지우는 옵션이다.

man [command]

manual의 줄임말로 해당 커맨드에 대한 정보를 볼 수 있다. 해당 커맨드에 대한 사용법과 옵션들에 대한 설명을 볼 수 있다. 나올 때는 "q"를 입력하면 나올 수 있다.

3. EC2 한번에 세팅하기

원격으로 접속한 서버 컴퓨터 세팅!

python3 -> python

python3 명령어를 python으로 사용할 수 있게 하는 명령어

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

pip3 -> pip

pip3를 설치
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

기본적으로 http는 80포트가 기본이지만 Flask는 5000포트가 기본 포트!
따라서 포트포워딩(port forwarding)을 통해 80포트로 오는 요청을 5000포트로 전달하게 한다. 따라서 EC2 서버에서 포트를 따로 설정해 열어주어야 한다.

nohup

nohup python app.py &

app.py가 SSH(Secure SHell: 원격 접속) 접속이 끊겨도 계속 실행

강제 종료 명령어

ps -ef | grep 'python [app.py](http://app.py/)' | awk '{print $2}' | xargs kill

계속 실행되고 있는 app.py 강제 종료

profile
https://hdlee.dev

0개의 댓글