Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

항해99 👩‍💻20일차 TIL 본문

항해99_6기_TIL

항해99 👩‍💻20일차 TIL

merrytang 2022. 3. 26. 13:52

🎉오늘의 한 일🎉

- 어제에 이어서 저번주차 나갔던 진도만큼 문서를 읽어보면서 개념정리를 하였다.

- Node.js 1주차부터 2주차까지 개인과제에 필요한 강의를 수강하였다. 

 

 

 

🐣공부한 내용🐣

API 관련

http status code 200 과 201 의 차이 

200 OK: 성공적으로 처리했을 때 쓰인다. 가장 일반적으로 볼 수 있는 HTTP 상태이다.

  • GET: 리소스를 가져왔고 메시지 바디에 전송되었다.
  • HEAD: 개체 헤더가 메시지 바디에 있다.
  • POST: 리소스가 명시하는 행동의 결과가 메시지 바디에 전송되었다.

 

201 Created: 요청이 성공적으로 처리되어서 리소스가 만들어졌음을 의미한다.  POST 나 PUT 으로 게시물 작성이나 회원 가입 등의 새로운 데이터를 서버에 생성하는(쓰는, 넣는) 작업이 성공했을 때 반환한다.

 

PUT과 PATCH의 차이 

PUT : 리소스의 모든것을 업데이트 한다.

PATCH : 리소스의 일부를 업데이트 한다.

 

 

배포관련 

EC2

EC2란 AWS에서 제공하는 서버 컴퓨터 대여 서비스이다.

 

EC2 instance 생성 

-AWS EC2에서는 컴퓨터 하나의 단위를 Instence라는 이름으로 부른다.

 

SSH(secure Shell)

- 일반적으로 다른 컴퓨터에 연결할 때 사용되는 프로그램이다.

- 다른 접속 방법보다 보안이 뛰어나 서버 연결을 위해 일반적으로 사용된다. 

- 접속 할 Instence의 방화벽에서 22번 포트가 열려있어야 접속 가능하다. AWS EC2의 경우, 기본적으로 생성하는 Instence는 이미 22번 포트로 열려있다. 

 

AWS EC2에 접속하기

- Windows의 경우 ssh가 없으므로 git bash라는 프로그램을 이용한다. 

- git bash를 실행하고 아래와 같이 입력해주면 ssh을 사용하여 EC2에 접속할 수있다. 

ssh -i "받은키페어를끌어다놓기" ubuntu@AWS에적힌내아이피

- git bash를 종료할 때는 exit 명령어를 입력하여 ssh 접속을 먼저 끊어주면 된다. 

 

 

IP Address(IP 주소)와 Port(포트)

IP주소

컴퓨터가 통신할 수 있도록 컴퓨터마다 가지는 고유한 주소이다. 정확히는 통신이 가능한 모든 기기가 통신할 수 있도록 가지고 있는 특수한 주소이다. 각 기기가 어디에 있는지 알려주는 좌표와 비슷하다고 생각하면 쉽다. 이 주소는 공인IP주소와 사설IP주소가 나뉘어져 있는데. 일반적으로 인터넷을 사용하기 위해서는 반드시 하나 이상의 공인 주소가 있어야만 한다.

 

Port

통신이 가능한(IP를 가진) 모든 기기는 Port라고 불리우는 데이터가 드나들 수 있는 통로가 있다. 기기에서 실행되는 프로그램들 중 통신이 필요한 프로그램들은 운영체제에게 ‘내가 이 통로를 사용할게! 데이터 섞이면 헷갈리니까 다른 프로그램은 사용할 수 없게 해줘!’ 라고 알린 뒤 해당 포트를 사용하는것이 원칙이다. 즉 하나의 포트는 여러 프로그램이 같이 사용할 수 없다!

 

EC2 Instance 포트 설정 : AWS Security Group 

AWS에서는 “Security Group” 또는 “보안 그룹”이라는 이름으로 방화벽을 제공해준다. 

 

iptables란? 

AWS가 아닌 리눅스 운영체제 내부에서의 방화벽 역할을 하는 프로그램이다.

 

 

리눅스로 들어오는 모든 요청은 iptables에 의해 정의된 규칙을 따라 처리되며, 이것을 이용해 외부에서 80포트로 들어오는 요청을 리눅스 내부에서 사용되는 5000(사용자지정) 포트로 전달하도록 규칙을 설정할 수 있다. 

 

 

왜 80번 포트인가?

우리가 브로우저로 접속하는 경우 기본적으로 80포트를 사용하도록 되어 있다. 

이것은 http 프로토콜을 사용하는 경우 기본 포트를 80으로 사용하는 것이 약속으로 정해져 있기 때문이다.

ex) http://www.google.com 으로 접속하는 경우 http://www.google.com:80 으로 접속하는것과 동일합니다.

 

 

iptables 규칙 변경 명령어 (80 → 3000 전달 규칙)

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

 

PM2

Node.js 애플리케이션을 무중단으로 운영할 될 수 있도록 해주는 프로그램이다.

 

 

PM2 설치 

1. pm2는 관리자 권한이 필요하기 때문에 관리자 계정으로 전환한다.

sudo -s

 

2. npm으로 설치

-g 옵션은 Global의 약자로, 특정 폴더나 프로젝트에 설치하는게 아닌 전역 프로그램으로 설치하겠다는 의미이다.

npm install -g pm2

 

3. pm2로 app.js 실행

pm2 start app.js

 

 

Linux 명령어

ls : 내 위치의 모든 파일을 보여준다.

pwd : 내 위치(폴더의 경로)를 알려준다.

mkdir : 내 위치 아래에 폴더를 하나 만든다.

cd [갈 곳] : 나를 [갈 곳] 폴더로 이동시킨다.

cd ..  : 나를 상위 폴더로 이동시킨다.

cp -r [복사할 것] [붙여넣기 할 것 ] : 복사 붙여넣기

rm -rf [지울 것] : 지우기 (정말 조심히 사용해야된다!)


sudo [실행 할 명령어] : 명령어를 관리자 권한으로 실행한다.
sudo su : 관리자 권한이 있는 계정으로 접속한다. (exit 입력하면 관리자 계정에서 로그아웃)

 

'항해99_6기_TIL' 카테고리의 다른 글

항해99 👩‍💻22일차 TIL  (0) 2022.03.28
항해99 👩‍💻21일차 TIL/WIL  (0) 2022.03.27
항해99 👩‍💻19일차 TIL  (0) 2022.03.25
항해99 👩‍💻18일차 TIL  (0) 2022.03.24
항해99 👩‍💻17일차 TIL  (0) 2022.03.24