프로그램개발

centOS 7.8 (64bit) node.js 와 관련 프로그램 설치

젠틀캣 2021. 3. 3. 00:35
728x90

# node.js 설치

yum install -y gcc-c++ make : 의존성 패키지 설치

#curl -sL https://rpm.nodesource.com/setup_8.x | sudo E bash : 8.x설치할경우

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash

yum install nodejs

 

# forever, socket.io 설치

npm -g install forever supervisor express express-generator socket.io

//혹시 socket.io가 안될 경우

//socket.io@3.1.2버전으로 자동 설치되어 소켓코드가 작동이 안되었다.

//브라우저 소켓은 문제가 없었으나, 유니티에서의 소켓연결이 문제였음.

//그래서, 강제로 이전버전 설치 했음. 문제가 있을 경우 아래의 버전으로 확인할 것.

//npm install socket.io@2.3.0

 

# 종속성 모듈 설치

npm install d

npm -g install experss

npm link socket.io

 

# 웹소켓 모듈설치

npm -g install ws

npm -g install serve-static

npm -g install finalhandler

 

# 안드로이드 푸쉬 모듈설치

npm install -g firebase-admin --save

 

# 추가 모듈설치

https://momentjs.com/ : 몇분전 이런식이 편한 라이브러리

npm -g install moment

https://github.com/geoip-lite/node-geoip : ip2c라이브러리

npm g install --save multer //업로드

npm install g node-gyp

npm -g install libvips

npm -g install prebuild-install

npm install sharp //이미지 리사이즈

npm install -g pm2@latest

 

# pm2 사용법

pm2 start test.js -i max

pm2 monit

pm2 list

pm2 delete 0

(서버에 ssh 접속해보면 bashrc로 정의했음.)

pm2 설명 잘되어 있음 : https://engineering.linecorp.com/ko/blog/pm2-nodejs/

 

# TURN+STUN서버설치

yum -y install make gcc gcc-c++ openssl-devel libevent libevent-devel wget

yum install coturn

pico /etc/coturn/turnserver.conf

tls-listening-port=5349 #주석제거

listening-ip=x.x.x.x #추가: 네이버클라우드의 콘솔에서 비공인IP를 입력해야함.

relay-ip=x.x.x.x #추가(비공인IP)

external-ip=x.x.x.x #추가(공인IP)

min-port=63000 #추가

max-port=64535 #추가

use-auth-secret #주석제거

저장후 빠져나옴.

 

yum install pwgen

pwgen -s 64 1 #필요없는 과정인 것 같음

 

pico /etc/coturn/turnserver.conf

realm=caravan.co.kr #추가

no-udp #주석제거

cert=/etc/letsencrypt/live/도메인.com/cert.pem #추가. Lets encrypt설치시 받은 것 이용

pkey=/etc/letsencrypt/live/도메인.com/privkey.pem #추가. Lets encrypt설치시 받은 것 이용

no-cli #주석제거

#참고 turnserver.conf turnserver.service 파일은 서버와 USB, 하드에 따로 저장중.

cd /home/도메인.com

chmod 755 turnserver.service

systemctl daemon-reload

cp /home/도메인.com/turnserver.service /etc/systemd/system

systemctl start turnserver.service

systemctl enable turnserver.service

이후 유니티에 넘겨줘야 할 값

- "turns:도메인.com:5349?transport=udp"

- "turns:도메인.com:5349?transport=tcp“

아니면 도메인.com 대신에 x.x.x.x와 같은 공인IP주소로 해도 될 듯