# npm init
…(생략)
package name: (root)
version: (1.0.0)
description:
git repository:
author:
…(생략)
→ 프로젝트를 생성하게되면 다음과 같이 입력하는 란이 나옵니다. 모두 enter를 입력하면 default 값으로 설정됩니다.
설정 후 packge.json 파일이 생성됩니다.
# vi packge.json
“name”: “root”,
“version”: “1.0.0”,
…(생략)
→ init 후 packge.json 파일이 생성된 점 확인 할 수 있습니다.
# npm install express
→ ssl 적용을 위한 필요 모듈을 설치합니다. (설치 명령어입니다 : npm install [모듈])
* install 과정에서 저장소를 찾을 수 없다고 에러가 발생 시 “private”: true, 추가하면 해결할 수 있습니다.
Private 설정은저장소의 우연한 발행을 방지하기 위해 npm에서 패키지의 공개 여부를 지정하는 설정입니다.
# vi ssl.js
const express = require(‘express’); // const는 변수 선언입니다.
const https = require(‘https’);
const http = require(‘http’);
const fs = require(‘fs’);
const options = { // letsencrypt로 받은 인증서 경로를 입력해 줍니다.
ca: fs.readFileSync(‘/etc/letsencrypt/live/[도메인 이름]/fullchain.pem’),
key: fs.readFileSync(‘/etc/letsencrypt/live/[도메인 이름]/privkey.pem’),
cert: fs.readFileSync(‘/etc/letsencrypt/live/[도메인 이름]/cert.pem’)
};
const app = express();
http.createServer(app).listen(80);
https.createServer(options, app).listen(443);
app.get(‘/’, function(req, res){ // 사이트 접속 시 나오는 내용입니다.
res.send(‘Hello World’);
});
→ js파일을 생성합니다. 이름은 임의로 지으면 됩니다.
# node ssl.js
→ 명령어를 통하여 js 파일을 실행 시킬 수 있습니다. 여기서 주의사항이 있습니다.
Node 라는 명령어를 통하 js 파일을 실행하게 되면 세션을 계속 유지해주어야 하는 번거로움이 있습니다.
편리함을 위해 forever라는 패키지를 설치하고 적용시켜 보겠습니다.
# npm -g install forever
# forever start ssl.js
→ forever start / stop [파일이름] 명령어를 통해 실행 정시 시킬 수 있습니다.
# forever list
-> 명령어로 실행중인 js 리스트를 확인 할 수 있습니다.