[giruboy] Node.js에 대한 이해와 서버 구축하기

최길우·2022년 11월 23일
0

Node.js

목록 보기
2/2

개요


: 자바스크립트를 웹브라우저 뿐만 아니라 다른곳에서도 사용할 수 있게 해주는 또 다른 자바스크립트 실행 환경. 서버에서 만드는 프로그램을 만들수 있다.

Node.js의 핵심 개념은 다음과 같고 해당 내용에 대한 이해가 필요하다.

  1. 모듈
  2. 비동기프로그래밍

아래는 node.js에 필요한 지식

  • 패키지(pakage) : SW를 부르는 여러 표현중 하나이다. 독립적으로 부르는 프로그램 하나도, 프로그램 안에서 부품으로 사용되는 작은 부품도 패키지라 할 수 있다.
  • 패키지 매니저(pakage manager) : 패키지의 생성, 설치, 업데이트, 삭제 등의 역할을 해주는 것
  • NPM : Node.js를 사용할 때, 써드 파티 모듈을 설치할 때 쓰는 패키지 매니저
  • PM2 : 자동으로 서버를 다시 시작해주고 관리해주는 프로세스 매니저 라이브러리


Node.js로 웹서버 생성하기


웹서버를 구축하기 위한 코드를 보며 코드가 의미하는 바를 살펴보자.

//파일명: main.js
const http = require('http'); // 1
const PORT = 3000; // 2
const server = http.createServer((res, req) => { // 3
	res.setHeader('Content-Type', 'text/plain; charset=utf-8') // 4
	res.end('Hello Node.js!') // 5
})

server.listen(PORT, () => { // 6
	console.log('Server running at http:127.0.0.1:${PORT}/') // 7
})
  1. http라는 코어모듈을 사용해 http라는 통신규약으로 클라이언트와 통신하는 서버를 만들수 있다. 해당 코드는 require() 함수로 http라는 코어모듈을 로드 했을 때 http(우측위치)라는 객체를 같은 이름인 http(좌측위치)라는 상수로 받은 것이다.
  2. 포트번호를 설정한다. IP+포트번호를 설정해야 비로소 URI가 완성된다.
  3. 모든 node 웹 서버는 웹 서버 객체를 만들어야 한다. http 객체 안에 있는 메서드인 createServer 를 통해 서버를 만든다. createServer 의 파라미터로 requestListener 함수가 전달이 되는데 자세한 내용은 참조
  4. response값이 텍스트임을 나타내는 헤더정보를 설정하는 코드이다.
  5. res.end 로 사용자의 요청에 대한 응답으로 문자열을 보낸다.
  6. 위에서 상수 지정한 server라는 객체에 listen메서드를 호출한다. 클라이언트 요청을 듣는 역할을 한다. 해당 메서드에 대한 자세한 설명은 참조
  7. 서버 IP를 출력하게 함으로써 서버가 구동중임을 표현한다. 서버 구동에 대한 실수가 없기 위해 해당 콜백 함수를 사용해주면 좋다.



    ->이제 node main.js 라는 명령어를 입력해 서버를 구동시켜보자. 브라우저 주소창에 http:127.0.0.1:3000/ 을 입력 시 문구가 보일 것이다.


참조사이트

profile
성장하는 개발자

0개의 댓글