Post

nodejs 웹서버 예제

목차


기본 모듈만 사용

http, https 모듈로 웹서버 만들기

내용이 길어 파일로 분리하였다.

server.js


express

express 모듈 설치 필요

1
npm install express 필요

http 웹서버

1
2
3
4
5
6
7
8
9
10
11
const express = require('express');
const app = express();
const port = 80;

app.get('/', (req, res) => {
	res.send('test');
});

app.listen(port, () => {
	console.log("server start (port " + port.toString() + ")");
});

http.js


https 웹서버

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const SSL_CRT = "/path/to/server.crt";
const SSL_KEY = "/path/to/server.key";

const webdir = "/var/www/html"
const port = 443;

const https = require('https');
const express = require('express');
const fs = require('fs');

const app = express();
// app.use('/', express.static('./public'));

const certificate = fs.readFileSync(SSL_CRT);
const privateKey = fs.readFileSync(SSL_KEY);
const options = {
    key: privateKey,
    cert: certificate
};

app.get('/', (req, res) => {
	fs.readFile(webdir + '/nodetest.html', (err, data) => { // 파일 읽는 메소드
		if (err) {
			res.statusCode = 404; // 404 상태 코드
			res.end('404 Not Found', 'utf-8');
			return console.error(err); // 에러 발생시 에러 기록하고 종료
		}
		res.writeHead(200,{'Content-Type':'text/html'}); // header 설정
    	res.end(data, 'utf-8'); // 브라우저로 전송
	});
});

const httpsServer = https.createServer(options, app);
httpsServer.listen(port, function () {
    console.log("HTTPS server listening on port " + port);
});

https.js

This post is licensed under CC BY 4.0 by the author.