안녕하세요 프론트엔드개발자 웹코기입니다.
전 예전부터 가정용 나스서버를 구매해 사용 중이었지만, 지식이 부족해 활용도가 많이 낮습니다.
다른 패키지나 서버사이드 언어의 사요 없이 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
'ETC.' 카테고리의 다른 글
최신 개발자 학습 로드맵 (from github) (2) | 2021.08.20 |
---|---|
JSON.parse) Unexpected token u in JSON at position 0 에러 해결 (1) | 2021.07.13 |
vscode 단축키 (visual studio code) (0) | 2021.02.04 |
개발 트렌드 조사 2020 (stack overflow) (0) | 2021.01.25 |
코딩할 때 단어표기법 (camel Case, Snake Case) (0) | 2021.01.22 |