본문 바로가기
Node

[Node] Node 서버 테스트 맛보기!

by 신입같은 3년차 2017. 8. 28.
안녕하십니까.
 
학원 및 개인 프로젝트로 인해 블로그 업로드를 못하고 있었습니다.
 
오늘은 node 가장 기본인 http 서버를 테스트 해보겠습니다
 
코드는 아래와 같습니다.
 
생각보다 정말 간단해보입니다 실행 결과와 코드들이 나와있다고 보고 지나가시지마시고 한번이라도 타이핑 해보시는걸 추천합니다.
 
저는 express로 폴더를 생성후 그안에 js파일을 생성후 예제를 테스트 하였습니다. module의 위치는 express node_modules 디렉터리를 기반으로 설명하겠습니다.
 
 
Example Code
 

/**
 * Created by yunjin on 2017-08-27.
 */
const http = require('http');

http.createServer((req,res) =>{
    res.writeHeader(200, { 'Content-Type' : 'text/plain' });
    res.end("Hello Node");
}).listen(9183,() =>{
    console.log("Server running at http://127.0.0.1:9183");
});

 

 

 

1. http 모듈 불러오기.

 

 

const http = require('http');

 
 require명령은 해당 모듈을 불러올때 사용하는 명령어입니다.
 
위의 코드는 http 모듈을 불러와 반환되는 인스턴스를 http변수에 저장하는 code입니다.
 
express 프레임워크는 node_modules 폴더안에 모듈을 관리합니다. 하지만 node_modules 폴더안에서는 http 모듈을 찾아볼수가 없습니다.
 
이유는 node의 기본 내장 모듈이기 때문입니다. 
 
node.js 의 기본 내장 모듈은 [ https://nodejs.org/api/ ] 에서 확인할 수 있습니다.
 
API 내장 모듈은 외워서 사용하기에는 많기 때문에 API 문서를 참고하세요~
 
 
 
 
2. http.createServer() 메소드를 통한 서버 실행 Code 작성
 
http.createServer((req,res) =>{
    res.writeHeader(200, { 'Content-Type' : 'text/plain' });
    res.end("Hello Node");
}).listen(9183,() =>{
    console.log("Server running at http://127.0.0.1:9183");
});
 
 
 
반환된 인스턴스가 저장된 http변수를 이용해 서버실행 Code를 작성해보겟습니다
 
http.createServer() 메소드를 실행 매개변수로 request와 response를 넣어줍니다.
 
// HTTP Status: 200 : OK
res.writeHeader( HTTP Statue , Content-Type) 을 넣어줌,
 
listen() 메소드에 매개변수로 포트번호를 넣어준다. 2번째 매개변수에는 listen()이 실행된후 실행되는 콜백함수입니다.
 
자 다음과 같은 코드를 작성하셨다면 이젠 실행하여 제대로 실행되는지 확인할 차례 입니다.
 
저는 HelloNode.js로 js파일을 만든후 코드를 작성하였습니다.
 
해당 HelloNode.js 파일이 있는 디렉터리 위치에가서 다음과 같은 명령어를 실행해보세요
 
 

 

node HelloNode.js

 

 

 

 

 

다음과 같이 실행이 되면서 listen()메소드의 콜백함수가 실행되면서

 

Server running at http://127.0.0.1:9183 이 실행되는 것을 확인할 수 있습니다.

 

그럼 인터넷을 키고 localhost:9183 으로 접속해보겠습니다.

 

 

 

 

 

다음과 같이 res.end()에 작성한 글이 나오면 여러분도 서버 테스트에 성공한것입니다.

 

저는 "Hello Node" 라 적었는데 정확하게 나왔네요 ㅎㅎ

 

이로써 http서버를 생성하고 테스트를 해봤습니다. 간단하죠?? 

 

다음시간에는 다음단계인 라우팅연결에 대해 알아보겠습니다. 

 

 

 

 

반응형

댓글