Programing/Node.js

nodejs server 서버 만들기 (기본)

리커니 2017. 12. 5.
반응형

 

nodejs server 서버 만들기 (기본)

  

이번 포스팅에서는 nodejs를 활용해 간단한 서버를 구현하는 방법을 알아보도록 하겠습니다.

개발툴은 이전에 포스팅한 ATOM을 사용하도록 하겠습니다.

 

Link : node.js를 위한 무료 텍스트 에디터 추천 ATOM

 

nodejs 서버를 만들기 위해선 기본 모듈인 http가 필요합니다.

http로 서버객체를 생성해 클라이언트의 요청에 응답할 수 있습니다.

 

http 모듈을 사용하기 위해선 require를 사용해 http 모듈을 import 해야 합니다.

 

1
const http = require('http');
cs

 

이렇게 http 객체를 생성하면 http의 기능을 사용할 수 있는데요.

createServer function을 활용해 서버를 생성해 보겠습니다.

 

1
2
3
4
5
6
const http = require('http');
 
const server = http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type''text/plain'});
  res.end('Hello, world');
});
cs

 

createServer 의 콜백함수의 매개변수로 request와 response를 받아 처리 할 수 있는

server 객체를 생성했습니다.

 

객체는 생성되었지만 실행은 되지 않은 상태이죠.

서버를 실행하기 위해선 listen function의 호출이 필요합니다.

 

1
2
3
4
5
6
7
8
9
const http = require('http');
 
const server = http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type''text/plain'});
  res.end('Hello, world');
});
 
server.listen(3000);
console.log('localhost 의 3000번 포트로 서버를 실행해');
cs

 

listen함수의 매개변수는 포트 입니다. console.log에 찍히는 것과 같이

localhost 의 3000번 포트로 서버를 실행하게 되는 것입니다.

 

그럼 서버를 실행해 보도록 하죠.

 

 

해당 파일을 node 명령어로 실행해서 서버가 실행된 상태입니다.

 

 

 

브라우져에 localhost:3000 을 요청을 해보도록 하죠.

 

서버가 실행되어 요청에 대한 응답으로 Hello, world가 찍혔습니다.

 

nodejs를 활용해 정말 간단하게 서버가 구현되었습니다.

기존에 서버사이드 언어들은 tomcat, IIS 와 같은 WAS 가 필요하지만

nodejs는 WAS 없이 서버가 구동되었네요!

 

그럼 추가적으로 각 경로 요청에 대한 다른 응답을 처리하는 방법을 알아보겠습니다.

별도의 모듈은 사용하지 않고 기본 nodejs로 구현하겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const http = require('http');
 
const server = http.createServer(function(req, res){
  let url = req.url;
  console.log(url);
  let returnText = '';
  if (url=='/'){
    returnText = 'Hello, world';
  }else if(url=='/javascript'){
    returnText = 'Hello, ECMAScript';
  }else if(url=='/nodejs'){
    returnText = 'Hello, nodejs';
  }
  res.writeHead(200, {'Content-Type''text/plain'});
  res.end(returnText);
});
 
server.listen(3000);
console.log('localhost 의 3000번 포트로 서버를 실행해');
 
cs

 

(서버를 재실행 한 후 실행하세요)

request 의 url 을 받아서 각각의 url 별로 다른 리턴을 해주었습니다.

 

request의 url 에 요청 URL 문자열이 들어있는 것을 확인하실 수 있습니다 .(req.url)

이처럼 다른 응답에 따른 각각의 응답 처리도 가능합니다.

 

반응형

댓글

💲 추천 글