Node.js

Node.js - 웹서버 만들기

수업소개

Node.js는 웹서버 기능을 가지고 있습니다. 이런 특성을 이용해서 컨텐츠를 프로그래밍적으로 생산할 수 있게 됩니다. 여기서는 Node.js를 웹서버로 구동하는 방법을 살펴보겠습니다. 

 

 

 

강의

 

 

 

소스코드

아래의 코드 중 9행의 내용은 아래와 같이 변경해야 합니다. 

response.writeHead(404);
response.end();
return;


 

var http = require('http');
var fs = require('fs');
var app = http.createServer(function(request,response){
    var url = request.url;
    if(request.url == '/'){
      url = '/index.html';
    }
    if(request.url == '/favicon.ico'){
      return response.writeHead(404);
    }
    response.writeHead(200);
    response.end(fs.readFileSync(__dirname + url));

});
app.listen(3000);

 

 

 

참고

web1 - HTML & Internet 수업의 소스코드

 

댓글

댓글 본문
작성자
비밀번호
  1. J Gong
    저는 아래와 같이 뜹니다. 포트 넘버를 여러번 바꿔 보았지만 같아요.
    이럴 경우에는 어떻게 해야 하나요~? ㅠㅠ

    This site can’t be reached
    localhost refused to connect.
    Search Google for localhost 3000
    ERR_CONNECTION_REFUSED
  2. moon
    감사합니다.
  3. n1tjrgns
    그리고 자꾸 atom이
    the edito has crashed라면서 작동이 멈추는데 이유가 뭘까요...
    에러코드도없고 그냥 켜놓고 일정시간이 지나면 에디터가 말썽이네요..
  4. n1tjrgns
    main.js 까지 작성을 한 후에

    node main.js를 입력할 때
    node.js exe에서 입력을 하면 Unexpected identifier 에러가뜨는데
    node.js command prompt에서 하면 되는데
    왜 그런건가요??
    node.js에서 동작이 되어야하는거 아닌가요??
  5. 감사합니다ㅠㅠㅠ 됩니다ㅎㅎㅎ
    대화보기
    • egoing
      이미 3000번 포트에서 무엇인가 실행되고 있다는 뜻이에요.

      app.listen(3000); 의 3000을 다른 수로 바꿔보세요.
      대화보기
      • mayoui-MacBook-Pro:nodejs yohan$ node main.js
        events.js:183
        throw er; // Unhandled 'error' event
        ^

        Error: listen EADDRINUSE :::3000
        at Object._errnoException (util.js:992:11)
        at _exceptionWithHostPort (util.js:1014:20)
        at Server.setupListenHandle [as _listen2] (net.js:1355:14)
        at listenInCluster (net.js:1396:12)
        at Server.listen (net.js:1480:7)
        at Object.<anonymous> (/Users/yohan/Desktop/nodejs/main.js:15:5)
        at Module._compile (module.js:652:30)
        at Object.Module._extensions..js (module.js:663:10)
        at Module.load (module.js:565:32)
        at tryModuleLoad (module.js:505:12)


        //이렇게 에러가 뜨는건 왜 그런걸까요?ㅠㅠ 이거 때문에 진도를 못나가고 있네요
      • 바다의왕자
        음..node웹서버를 활성화하는게 cmd에서 node 실행하고 node main.js를 하면되는건가요?

        node main.js
        ^^^^

        SyntaxError: Unexpected identifier


        해결 방법은요?

        여기서 막혀 진행을 할 수 없습니다.
      • 기존 노드 강의에서 app.get(url)로 받는거랑
        request.url == 로 받는거랑
        무슨 차이인가요??
      • egoing
        잘 하셨습니다!
        대화보기
        • 박꽁치
          음..node웹서버를 활성화하는게 cmd에서 node 실행하고 node main.js를 하면되는건가요?

          node main.js
          ^^^^

          SyntaxError: Unexpected identifier

          이렇게 뜨고, 아니나 다를까 크롬에서 localhost:3000 하니까 사이트에 연결할 수 없음 나오네요

          ---------------- 해결했습니다~ cmd에서 해당 파일들이 있는 폴더로 이동해서 명령어 입력하니 되네요!
        • Seo Yun Seok Tudoistube
          이렇게 핫한 강의를 왜 15명 밖에 못봤을까요?
          아마도 꼭 회사를 다니지 않아도 우리가 하루동안에 처리할 정보의 양이 너무 많은게 이유인거 같습니다.
          감사합니다.
        • Hyunki Yu
          >node 를 통해 노드콘솔로 진입하면 나오는방법을 몰라 한참을 헤매었네요
          ctrl + c 를 두번누르면 다시 명령프롬프트로 나올수있습니다.
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기