[목표]
- node.js로 웹서버 간단하게 구축해보기
- 브라우저 - 웹서버 HTTP 통신 기본개념 익히기
- node.js로 간편하게 웹서버 구축하는 방법 알기(다음 포스팅)
[서버구축]
(1) node.js 공식 웹사이트 about 탭 가기 : https://nodejs.org/ko/about/
(2) 예시 코드 긁어오기
1 2 3 4 5 6 7 8 9 10 | const http = require('http'); const hostname = '127.0.0.1'; //클라우드 서버컴퓨터(원격 접속 후 웹서버 구축)라면 아래 (5)번 항목 참고 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}/`); }); | cs |
(3) node.js 파일 전용 디렉토리에 vi로 js 파일 만들고 코드 붙여넣기
(4) node 파일이름.js 실행 : 로컬(같은 컴퓨터 내, 로컬호스트에서만 동작)에서 접속할 수 있는 웹서버가 실행됨
- 정상적으로 실행된다면 콘솔창에 Server running at http://호스트네임(ip주소):3000/ 메세지가 출력됨
(5) 브라우저에서 접속해보기(거듭 말하지만 같은 호스트 내에서 === 같은 컴퓨터 내에서만 동작함) : 주소 - 127.0.0.1:3000
- 원격 서버컴이 돌리고 있는 서버에 현재 컴퓨터 브라우저로 접속하고싶다면 서버컴퓨터의 포트 번호를 열 것
- 원격 서버에 접속하기위해 위 코드 중 hostname을 수정(서버컴퓨터의 프라이빗 아이피로, 접속할 때는 퍼블릭아이피)해야함
- 원격 서버컴을 돌리고 있는 서버에 접속하려면 원격서버의 http://서버컴의 퍼블릭 아이피 + 포트번호로 주소를 구성해야함
- 로컬에서 돌린다면 같은 호스트 내에서 돌리고 있기때문에 그대로 접속하면 됨
- http 통신은 요청과 응답으로 이루어지는 것이기때문에 서버에 요청하는 길을 열어줘야함(포트 열기, 왜 포트가 필요한지 알고싶으면 아래 링크)
[서버구축 코드분석]
- 1번째 줄은 http 통신을 위해 필요한 라이브러리(node.js에서는 모듈이라함)를 불러오는 것
- 2,3 번째 줄까지는 서버 컴퓨터 정보를 등록함(호스트네임 : 서버컴퓨터의 이름 === ip주소 혹은 도메인, 포트번호)
- 4번째줄부터는 서버컴퓨터에 웹서버를 만드는 과정임 : req는 request(요청), res는 response(응답)을 뜻함
- 4번째줄부터의 내용은 서버가 브라우저로부터 받은 요청에 대한 응답을 처리하기위해 필요한 것들을 나열해놓음
- 그리고 server.listen은 웹서버가 실제 실행되는 구문 : 웹서버가 정상동작하면 console.log 내의 메세지가 콘솔에 나타남
[서버구축 참고자료]
(1) 생활코딩 node.js 간단한 웹서버 구축 : https://opentutorials.org/course/2136/11853
(2) 생활코딩 인터넷 : https://opentutorials.org/course/1688/9483
(3) node.js 공식 웹사이트 : https://nodejs.org/ko/about/
'nodejs' 카테고리의 다른 글
[node.js] express, 웹서버 구축, 설계, 제작 더 쉽게하자 (2) | 2017.04.15 |
---|---|
[node.js] 비동기 프로그래밍 (0) | 2017.04.12 |
[node.js] 모듈 그리고 npm (0) | 2017.04.12 |
[node.js] nodejs에 대하여 (0) | 2017.04.11 |
[node.js] 환경구축, 테스트해보기 (0) | 2017.04.10 |
댓글