대가는 결과를 만든다

node 서버 windows에서 서비스로 실행 본문

개발/Node.js

node 서버 windows에서 서비스로 실행

yunzema 2018. 12. 17. 14:45
반응형

linux에서의 서비스 실행은 익숙하지만 윈도우에서 서비스로 실행하는 것은 생소했다.

forever 모듈로 실행하면 되는 줄 알았지만, 로그인 세션을 종료하면 일반실행과 같이 node서버도 죽었다.


윈도우에서 서비스로 실행하기 위해서는 node-windows라는 모듈을 이용해야한다.

링크 : https://github.com/coreybutler/node-windows


npm install -g node-windows


npm link node-windows


한 후 해당 모듈을 이용해 스크립트를 작성한다. 


var Service = require('node-windows').Service; // Create a new service object var svc = new Service({ name:'Hello World', description: 'The nodejs.org example web server.', script: __dirname+'/ServerIndex.js',                                //실행 메인 서버 스크립트 경로

nodeOptions: [ '--harmony', '--max_old_space_size=4096' ] }); // Listen for the "install" event, which indicates the // process is available as a service. svc.on('install',function(){ svc.start(); }); svc.install();



이렇게 ex) WindowsServiceIns 스크립트를 작성한뒤 이 스크립트를 node WindowsServiceIns.js 실행하면, 서비스 실행하기 위한 권한 창이 몇개 뜨고 허용하면 서비스 창에서 해당 서비스가 설치되어 등록되고 시작되는 것을 확인할 수 있다.

서비스가 실행 되자마자 중지된다면, 무언가 오류가 있는 것! 이벤트 뷰어에서 무슨 이벤트인지 확인하여 대응하면 된다. (보통은 script: 경로가 잘못되어서 발생!)

'개발 > Node.js' 카테고리의 다른 글

[이슈]npm install error  (0) 2020.02.19
[개념정리] npx란?  (4) 2019.12.06
Comments