꿈꾸는 시스템 디자이너

Lightsail 사용법 - nodemon 사용법 | How to use nodemon 본문

Development/Cloud computing

Lightsail 사용법 - nodemon 사용법 | How to use nodemon

독행소년 2020. 4. 8. 01:03

 

이번 강좌에서는 nodemon을 이용해서 Node.js 기반의 프로젝트를 실시간으로 수정하면서 테스트까지 수행하는 방법에 대해서 알아본다.

nodemon은 파일에 변경이 발생하면 node 어플리케이션을 자동으로 재실행해주는 프로그램이다.

 

1. nodemon 설치

npm 명령어를 이용해서 global하게 nodemon을 설치한다.

$> sudo npm install nodemon -g

 

2. nodemon을 이용해서 node 어플리케이션 실행

지난 강좌에서 작업했던 helloworld 프로젝트로 이동한 후 nodemon 명령어를 이용해서 helloworld 프로젝트를 실행한다.

$> sudo nodemon index.js

 

다음과 같이 출력되면 정상 동작하는 것이다.

 

웹브라우저틀 통해 인스턴스로 접속해보자. 정상 동작중임을 확인할 수 있다.

 

이제 소스코드(index.js)를 편집할 차례이다. 지난 강좌에서 설치한 Cloud9을 실행해서 접속하자.

 

index.js 파일을 다음과 같이 수정한다.

var http = require('http');  

http.createServer(function (req, res) {
	res.writeHead(200, {'Content-Type': 'text/plain'});
	res.end('Hello World! Happy World!'); // add Happy World!
}).listen(80);

 

이제 Ctrl+S를 눌러 파일을 저장해보자. 이 때 nodemon을 실행한 콘솔의 로그변화에 주목하자. index.js 파일의 변화를 감지하고 재시작하고 있음을 확인할 수 있다.

 

Hello World!를 출력하던 브라우저도 새로고침해 보자. 문구가 변경된 것을 확인할 수 있다.

 

이제부터는 소스코드를 변경하고 저장할 때 마다 자동으로 어플리케이션이 재실행되면서 변경된 내용을 바로바로 테스트하고 확인할 수 있다.

 

기존의 JSP나 Spring 프로젝트의 개발과 잠깐 비표해 보면 어떨까? 아.. 아니 비교하지 말자. 아마 경험자라면 얼마나 생산성이 향상되는 것인지 알 것이다.

 

그런데 이번 강좌에서 사용한 nodemon은 기본적으로 foregound에서 동작한다. 터미널을 종료하기 위해서는 nodemon이 먼저 종료되어야 한다. 그럼 실제 서비스 운영에서는 어떻게해야 할까? 당연히 backgound 데몬으로 어플리케이션을 동작시켜야 한다.

 

다음시간에는 forever 툴을 이용해서 Node.js 어플리케이션을 backgound 데몬으로 실행하고 관리하는 방법에 대해서 알아본다.

 

Comments