Node.js : 간단 웹서버 구동하기 예제
목차
간단한 웹서버 구동
- 웹서버는 http 라는 모듈을 통해서 구동한다.
- http 모듈 공식문서 : https://nodejs.org/api/http.html
- 앞선 시간에 package.json의 scripts.test 에 node app.js 설정을 했으므로, app.js파일에 아래처럼 코딩해본다.
- Line 19에 ${hostname}:${port}는 Line 4, 5에 정의된 hostname과 port를 호출하기 위한 쓰임이며, 따옴표 안에서 어떻게 썼냐고 물어본다면 쌍따옴표 따옴표의 그 따옴표를 쓴 것이 아니고, '~'로 잘 알려진
` 키로 묶었기 때문에 이런 쓰임이 가능하다.
1234567891011121314151617181920// node.js의 http모듈을 변수 http로 추출합니다.const http = require('http');const hostname = '127.0.0.1';const port = '1337';// http모듈의 createServer 함수를 호출하여 서버를 생성합니다.// req: request. 웹 요청 매개변수, res: response. 웹 응답 매개변수http.createServer(function (req, res) {// writeHead: 응답 헤더를 작성합니다.// 200: 응답 성공, text/html: html문서res.writeHead(200, {'Content-Type': 'text/html'});// end: 응답 본문을 작성합니다.res.end('Hello World111');// listen: 매개변수로 포트와 호스트를 지정합니다.}).listen(port, hostname,() => {console.log(`Server running at http://${hostname}:${port}/`);});cs - 이제 콘솔에서 npm test (=node app.js) 를 입력해 보자.
C:\Users\TSPark\Documents\Blog\naver\170603_nodejs\nodeServer>npm test > node_server@1.0.0 test C:\Users\TSPark\Documents\Blog\naver\170603_nodejs\node Server > node app.js Server running at http://127.0.0.1:1337/
- 실행된 모습
- 서버 종료는 콘솔에서 Ctrl + C을 누르고 y 눌러서 끝내면 된다.
일괄 작업을 끝내시겠습니까 (Y/N)? y
html페이지가 있는 웹서버 구동
- 웹 서버 구동 시 html페이지가 출력되게 하는 실습을 할 것이다.
- html페이지를 불러오는 것, 즉 파일을 불러오는 것이기 떄문에 node.js 모듈 중 fs이라는 모듈을 불러와서 코딩한다.
- fs 모듈 공식문서 : https://nodejs.org/api/fs.html
- package.json에서 scripts.start를 추가해서
node app_fs.js을 입력시키고 app_fs.js을 코딩 해 보자.
package.json
12345678910111213141516171819202122232425{"name": "node_server","version": "1.0.0","description": "Node.js Server Practice","main": "app.js","scripts": {"test": "node app.js","start": "node app_fs.js"},"repository": {"type": "git","url": "git+https://github.com/geoseong/Node.js-Test.git"},"keywords": ["nodejs","test","tspark"],"author": "tspark","license": "ISC","bugs": {},"homepage": "https://github.com/geoseong/Node.js-Test#readme"}cs
app_fs.js
123456789101112131415161718192021222324// node.js의 http모듈을 변수 http로 추출합니다.const http = require('http');var fs = require('fs');const hostname = '127.0.0.1';const port = '1337';// http모듈의 createServer 함수를 호출하여 서버를 생성합니다.// req: request. 웹 요청 매개변수, res: response. 웹 응답 매개변수http.createServer(function (req, res) {fs.readFile('./blog_template_html.html', 'utf8', function(err, data) {// the data is passed to the callback in the second argument//console.log(data);// writeHead: 응답 헤더를 작성합니다.// 200: 응답 성공, text/html: html문서res.writeHead(200, {'Content-Type': 'text/html'});// end: 응답 본문을 작성합니다.res.end(data);});// listen: 매개변수로 포트와 호스트를 지정합니다.}).listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);});cs 콘솔에서 npm start (=node app_fs.js)을 입력해서 웹서버 시작
C:\Users\TSPark\Documents\Blog\naver\170603_nodejs\nodeServer>npm start > node_server@1.0.0 start C:\Users\TSPark\Documents\Blog\naver\170603_nodejs\nod eServer > node app_fs.js Server running at http://127.0.0.1:1337/
실행된 모습
- 서버 종료는 콘솔에서 Ctrl + C을 누르고 y 눌러서 끝내면 된다.
일괄 작업을 끝내시겠습니까 (Y/N)? y
'Node.js' 카테고리의 다른 글
Node.js : npm install , outdated&update, uninstall 명령을 이용한 node 패키지관리 (0) | 2017.07.21 |
---|---|
Node.js : 설치, npm과 package.json 해부 (0) | 2017.06.04 |