Server Side JavaScript

간단한 웹 에플리케이션 만들기

본 수업에서는 Nodejs를 이용해서 간단한 서버 에플리케이션을 만들어보겠습니다. 

 

 

아래 코드는 Nodejs에서 제공하는 기본 코드입니다.  

const http = require('http');

const hostname = '127.0.0.1';
const port = 1337;

http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

 

댓글

댓글 본문
작성자
비밀번호
  1. 박인호
    1.9
    수강완료.
  2. 090922
    12.17
  3. Byungsoo Kim
    감사합니다.
  4. 트러스트킴
    혹시 해당 예제를 실행시키고나서(간단한 hello world 예제 서버를 호스팅히고 나서?) 서버와 동일한 로컬 네트워크에서 서버 내부 IP주소와 포트 번호로 접속해보신분 계신가요?? 안드로이드 크롬 웹브라우저에서 접속해보려는데 ERR_CONNECTION_TIMEED_OUT 뜨네요...

    실습환경은 윈도우10에서 명령 프롬프트창에서 node 를 실행했습니다.
  5. 새벽빛
    구글 클라우드에 node를 설치하고 hostname에 public IP로 수정해서 했는데... 안되네요...
    에러 내용은 이렇습니다. 어떻게 해결해야 하나요??

    events.js:183
    throw er; // Unhandled 'error' event
    ^

    Error: listen EADDRNOTAVAIL 35.200.232.210:3000
    at Object._errnoException (util.js:1024:11)
    at _exceptionWithHostPort (util.js:1046:20)
    at Server.setupListenHandle [as _listen2] (net.js:1334:19)
    at listenInCluster (net.js:1392:12)
    at doListen (net.js:1501:7)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:678:11)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
  6. proSiGi
    감사합니다. node.js 정주행 중입니다 ^^
  7. Aris Kim
    환영 문구에 한글을 넣었더니 깨지네요.
    이렇게 해결했습니다. 한글이 잘 출력되네요.

    res.setHeader('Content-Type', 'text/plain;charset=UTF-8');
    res.end('Congratulation! 처음으로 node.js로 구현된 웹 서비스에 접속했습니다!\n');
  8. lentti
    '' 이 문자로 닫는게 아니라 1왼쪽에 있는 `` 이 문자로 닫아야 합니다
    대화보기
    • 아기너굴
      윈도우 cmd에서 해당파일이 있는 폴더로 이동 후에 node 해당파일.js 로 실행시켜보세요.

      폴더 이동방법은 cd 해당폴더이름 입니다.
      대화보기
      • 그냥 그대로 치시면 되요.

        node hello.js
        대화보기
        • 05minsung@naver.com
          첫번째 강의 중간에 websever.js 파일에 제가 사이트에 나온대로 적었는데..
          module.js:473
          throw err;
          ^

          Error: Cannot find module 'C:\Users\User\js\sever_side\websever.js'
          at Function.Module._resolveFilename (module.js:527:15)
          at Function.Module._load (module.js:453:25)
          at Function.Module.runMain (module.js:665:10)
          at startup (bootstrap_node.js:187:16)
          at bootstrap_node.js:608:3
          cmd에서 이런 에러가 나요ㅠㅠ
          도대체 왜 그런걸까요?
          그리고 제 운영체제는 windows에요
        • 궁구미
          윈도우 cmd에서는 node hello.js 를 어떤식으로 실행해야하나요?? 그 설명은 없어서요
        • 내이름은이한샘
          좋은 영상강의 감사합니다.!
        • Daehyeop Ko
          마지막 콘솔 출력에서 저는 문자열 그대로인 ${hostname} ${port}로 콘솔 출력되는데요.
          제가 지금 환경이 MS visual studio code인데, 혹시 알려주실 수 있으신 분 있으신가요?
        • 오빠는다르다
          감사합니다.
        • Mondayrabbit
          친절하셔서 눙물이,,,, 복습차원으로 다시 하고 있는중인데 참 좋네요 감사히 잘 보고 갑니다 ㅋㅋ
          2017년 현재 코드는 조금 바꼇습니다 ㅋ 참고해주세횽 ㅋ

          const http = require('http');

          const hostname = '127.0.0.1';
          const port = 3000;

          const server = http.createServer((req, res) => {
          res.statusCode = 200;
          res.setHeader('Content-Type', 'text/plain');
          res.end('Hello World\n');
          });

          server.listen(port, hostname, () => {
          console.log(`Server running at http://${hostname}:${port}/`);
          });


          그래도 ㅇㅅㅇ 별 다른 특별한것은 없지만 ㅋ ㅋ
        • 빠가
          한글은 안됌???ㅠㅠ
        • 빅리거
          감사합니다.. 잘 됩니다.^^
          대화보기
          • 빅리거
            감사합니다... 잘 됩니다.^^
            대화보기
            • 빅리거
              감사합니다... 한시간 넘게 고민하다가.. 글 보고 성공했습니다..^^
              대화보기
              • 임다
                덕분에 문제해결했습니다 감사합니다 ㅜㅡㅜ
                대화보기
                • Seo Yun Seok Tudoistube
                  이 짧은 소스가 실행되는 것을 보고 기뻤지만, 이제 롤러코스터가 곧 급강하하는 멘붕을 이번엔 극복하고 싶어요. 감사합니다^_____^!!!
                • 파랑빛
                  감사합니다
                • 감사합니다
                • sohnryang
                  감사합니다.
                • 누워서 떡먹기네요 시키는대로하니까 됐어요
                • Sukjae Lee
                  감사합니다.
                • 신입1
                  감사합니다
                • 동찜
                  감사합니다!
                • 감사합니다^_^
                • 노제스
                  문법 공부를 해야하는데;;
                • Nesffer
                  이 페이지에서 공동공부 https://opentutorials.org......udy 가 작동하지 않네요.
                • tokki
                  좋은 강의 감사합니다.
                • 웨인루니
                  hostname 을 127.0.0.1이 아닌 aws 인스턴스의 내부 IP를 넣어보세요.
                  저는 그렇게 하니 정상적으로 되네요. 그리고 해당 포트를 시큐리티 그룹에서 열어주셔야 해요~
                  대화보기
                  • JustStudy
                    2016.07.04 월
                    고맙습니다.
                  • ㅇㄴㅁㄹ
                    진짜 좋은 강의 감사합니다!
                  • fasdgoc
                    감사합니다
                    대화보기
                    • 애플쨈
                      감사합니다:)
                    • WayneKing
                      고 고 고고
                    • haha
                      => 는 ECMA Script6 에 포함된 Arrow function 기능입니다.
                      http://es6-features.org......ies 가셔서 확인해보시면 될 것 같습니다.
                      Webstrom 에서 코드 에러가 떠서 뭐지? 했었는데
                      Setting - Languages & Frameworks - Javascript 에서 JavaScript language version 을
                      ECMA Script 6 버전으로 설정하니 에러가 안보입니다
                    • sSll바버미니llSs
                      다음 강의가 또 기대됩니다. 감사합니다.
                    • 헝그리
                      좋은 강의 감사합니다. 이해가 쏙쏙 잘돼요~ㅋㅋ
                    • Byeong Koo Kang
                      그리고 예제..를 하면 제대로 접속이 안되더라구요.. AWS에 올려서 사용하는데... 자꾸 차단 당하는...

                      방화벽 문제도 아닌데.. 왜 자꾸 안되나..해서 제가 예전에 연습했던 node 기본 웹 서버 소스를 보니..

                      port 번호만을 사용하더라구요...

                      본 소스에서 listen 부분 *hostname,* < 이 부분을 삭제하니 제대로 접속이 되었습니다.

                      아래와 같이 하면 되네요..

                      const http = require('http');

                      const hostname = '127.0.0.1';
                      const port = 1337;

                      http.createServer((req, res) => {
                      res.writeHead(200, { 'Content-Type': 'text/plain' });
                      res.end('Hello World\n');
                      }).listen(port, () => {
                      console.log(`Server running at http://${hostname}:${port}/`);
                      });
                    • Byeong Koo Kang
                      댓글들에 좋은 정보 감사합니다.

                      저도 몰랐는데 버전이 0.12ver 이었네요..ㄷㄷ..

                      http://blog.naver.com......672 <

                      아래와 같은 증상이라면!!

                      /opt/server_side_javascript/webserver.js:6
                      http.createServer((req, res) => {
                      ^^
                      SyntaxError: Unexpected token =>
                      at exports.runInThisContext (vm.js:73:16)
                      at Module._compile (module.js:443:25)
                      at Object.Module._extensions..js (module.js:478:10)
                      at Module.load (module.js:355:32)
                      at Function.Module._load (module.js:310:12)
                      at Function.Module.runMain (module.js:501:10)
                      at startup (node.js:129:16)
                      at node.js:814:3

                      node --version 확인하셔서

                      5 버전 아니신분들은 재설치 바랍니다..
                    • seungdols
                      웹앱 만들기 2에서 IP주소를 설명해주실 때, 각 컴퓨터의 IP주소는 '고유하다' 그래서 서버 컴퓨터를 구별이 가능하다고 설명 해주셨으면 좋겠습니다.
                      (그렇게 하면 너무 이야기가 길어질까요?)
                    • stacey
                      읭 별거는 아닐지 몰라두 이 페이지에서 동영상 제목이 많이 깨져서 보이네요 ~
                    • YoungNam Jun
                      저도 신동렬님이랑 동일한 증상을 겪었는데 환경은 ubuntu server 14.04 였습니다.

                      nodejs 설치및실행 강의에서 설치할 때

                      curl -sL https://deb.nodesource.com......5.x | sudo -E bash -

                      명령을 먼저 실행해서 nodejs 5.x 대를 지정해주고 apt-get install nodejs 하면 됩니다.

                      그냥 apt-get install nodejs 하면 0.10.x 대가 설치되면서 동작하지 않네요.

                      혹시나 문제가 생긴 분들 참고하셔서 시간을 절약하셨으면 좋겠네요.
                    • 신동렬
                      기존에 설치했던 node.js 0.10.X 버전에서는 위의 기본코드가 안돌아가서 최근걸로 업데이트 하였습니다.
                      node.js에서 const와 =>(arrow operator) 연산자는 처음 보내요.
                      => 연산자는 자바8의 람다연산으로 봐도 생각하면 될 지 궁금해서 댓글을 남깁니다.
                    버전 관리
                    egoing
                    현재 버전
                    선택 버전
                    graphittie 자세히 보기