시놀로지 나스) nodejs App 영구적으로 실행하기
ETC.

시놀로지 나스) nodejs App 영구적으로 실행하기

728x90

안녕하세요 프론트엔드개발자 웹코기입니다.

 

전 예전부터 가정용 나스서버를 구매해 사용 중이었지만, 지식이 부족해 활용도가 많이 낮습니다.

다른 패키지나 서버사이드 언어의 사요 없이 FTP 대용으로 사용하는 정도랄까요..

 

시놀로지 나스 패키지센터에 가보면 정말 많은 종류의 앱을 볼 수 있습니다!!

하지만 정작 알고 사용하는 건 몇 개 없다는 사실...ㅜㅡㅜ

 

어쨌든 전 nodejs 작업 후 로컬이 아닌 서버에서 그대로 작업 결과물을 보고 싶어서 찾던 도중 방법을 발견해 공유하고자 이 글을 씁니다.

 

 

1) nodejs를 패키지센터에서 설치

우선 node.js를 설치해야겠죠?? 시놀로지 나스는 클릭만으로 사용자가 편하게 사용할 수 있도록 되어 있습니다.

패키지센터에 가서 node.js를 설치해줍니다.

 

클릭 한 번만 하면 설치가 됩니다. 꼭 node.js v10 버전 이상을 설치해줍시다.

 

 

 

 

 

2) nodejs에서 구동할 파일을 나스에 업로드

나스의 file station에 들어가서 homes/admin/www/ 경로에 test.js 파일을 만들어봅시다.

// test.js file
var express = require('express'),
http = require('http');
var app = express(),
    server = http.createServer(app);

app.get('/', function(req, res) {
  res.send('Hello world');
});

server.listen(7777);

 

test.js을 만드셨나요??

위처럼 package.json 있어야 하고... npm install 도 터미널에서 입력해 설치해야 하는 거 아시죠~??

 

 

 

3) 포트 설정

제어판 > 외부 액세스 > 라우터 구성 메뉴에서

생성 > 사용자 지정 포트 > 로컬 포트와 라우터 포트를 7777로 설정/추가하고,

{id}. ynology.me:7777에 접속합니다. 하지만 아직은 에러가 뜰 거예요...! 서버를 실행하지 않았으니까요.

 

 

 

4) putty로 SSH 접속

이제 putty를 깔아서 ssh로 나스 서버에 접속합시다.

www/ 경로까지 위치하셨다면, 아래의 명령어를 실행해주세요.

nodejs test.js

 

이제 서버를 실행했으니 {id}. ynology.me:7777에 Hello world가 찍히는지 확인해보시죠!!

 

5) 영구적으로 실행하기

putty를 닫으면 서버가 종료되기 때문에 hello world가 찍히는 걸 보실 수 없고 연결이 종료가 되었을 거예요!

해결 방법은

node test.js &
exit

 

먼저 뒤에 &을 붙여 백그라운드에서 실행하도록 설정 후 , 

나갈 때도 exit명령어로 나가셔야 합니다.

 

그럼 putty를 닫아도 계속 실행되고 있는 것을 확인하실 수 있습니다 :) 

 

모두 나스 서버 즐겁게 사용해봐요!!

 

 

참고 링크 

https://m.blog.naver.com/dragmove/220685427468

https://stackoverflow.com/questions/12701259/how-to-make-a-node-js-application-run-permanently

728x90