NodeRed

nodered KTcloud의 CentOS7에 설치 서비스 실행 등록 방법

아이티제어1998 2022. 10. 23. 15:59

 

https://snapcraft.io/install/node-red/centos#install

 

sudo yum install epel-release
sudo yum install epel-release
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install node-red
설치 완료 

 

 
firewall-cmd --permanent --add-service=node-red
firewall-cmd --reload
firewall-cmd --list-all

 방화벽 적용

 위와같이  구글일하면 나와있으나. 되지 않았다..

실행은 되지만, 자동 실행에서 안되었다...

 

이젠 소스설치로해보자. 

sudo npm install -g grunt-cli
git clone https://github.com/node-red/node-red.git

cd node-red

npm install

npm audit --force

grunt build

 

 

빌드 완료

 

npm start

1880포트로 시작완료

 

 터미널을 닫으면 node-red가 죽습니다.
안죽게 백그라운드 실행 하려면
(npm start&)

소스를 수정하고 적용되게 하려면 그런데 이것만으로는 닫으니 죽는데.....

grunt dev
echo sh pm2 --name node-red start npm -- start >> /etc/rc.d/rc.local

reboot 해본다 아직 rc.local이 실행안된다. 아래를 추가한다.

vi  /usr/lib/systemd/system/rc.local 추가

[Install]
WantedBy=multi-user.target

reboot 해본다2.

 

역시나 안된다. 그냥 지우고 다시..

 

/root/에서 모두 다 폴더지우고.. 마지막 이것만 성공하였고 .이것만된다.~~~~

npm install -g node-red
wget -O /etc/systemd/system/Node-Red.service https://raw.githubusercontent.com/ktndesai/Node-RED/master/Node-Red.service

 서비스 시작

systemctl start  Node-Red.service

인에이블 ~~

systemctl enable  Node-Red.service

동작이 안된다~~~ 이유는 ??

/etc/systemd/system/Node-Red.service파일내용에서 red.js경로를 맞게 수정해야한다.

 

  red.js파일의 경로가  

# find / -name red.js  명령어로 경로를 찾아보니


/lib/node_modules/node-red/lib/red.js 이것이 아니고

/usr/local/lib/node_modules/node-red/lib/red.js  이러했다.

이렇게 수정해주니 ㅇㅋ~~ 

 

 

정리KTCloud CentOS7에  node-red설치 :

1. 설치는   yum 으로 node설치먼저 하고  npm으로 하거나,  snap을 설치하고 snap명령어로  하거나 , git으로 소스다운 grunt로 컴파일 하여 npm  start하면 실행은 된다.   

2. 그런데 터미널을 닫으면 데몬이 죽는 문제 ( 해결: pm2 로 가능)

3. 시스템 재시작하면 pm2로  실행이 안된다.
( 해결 : Node-Red.service 추가!! 주의점 : red.js 경로 수정필요~. )

  끝.