티스토리 뷰

반응형

먼저 Node.js 시그널링 서버에 설정한 포트 번호(1794)를 AWS 인바운드에서 열어주자.



1. Node.js 최신버전 패키지(Node.js + NPM) 설치


AWS 기본 저장소에는 node.js 최신버전이 없고, 초기 버전만 존재한다. 따라서 공식홈페이지의 매뉴얼에 따라 저장소를 추가한다.


1-1)


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

curl 명령어에 대해 궁금하면 여기로


1-2)

sudo yum -y install nodejs


1-3)


※ LEPP 설치할 때, groupinstall 'Development Tools'를 설치 안했던 사람만 하세요.

sudo yum install gcc-c++ make


또는


sudo yum groupinstall 'Development Tools'



2. Node.js 기반 시그널링 서버 다운받고 실행.


Xshell을 키고, AWS 원격 조종 접속.


홈 디렉터리로 이동

cd ~


git을 사용하여 다운받음.

sudo git clone https://github.com/vivek1794/webrtc-android-codelab.git


cd webrtc-android-codelab


시그널링 디렉터리를 홈 디렉터리로 이동

sudo mv signalling ~/


cd ~


디렉터리 소유권 변경

sudo chown ec2-user:ec2-user signalling


cd signalling


package.json의 의존성(dependency) 변경


sudo vi package.json


vi 창에서 dependencies 안의 "node-static": "0.7.7"을 0.7.10 버전으로 변경하고 저장


"node-static": "0.7.10"


mime-types 설치

sudo npm install mime-types


package.json에 적힌 의존성(dependency) 그대로 시그널링 서버 설치

sudo npm install


node-static.js 부분 설정 변경

sudo vi node_modules/node-static/lib/node-static.js


, mime = require('mime') 부분을 , mime = require('mime-types') 으로 고쳐주고 저장.





이 서버는 https를 필요로 하므로, 보안 키가 필요하다. OpenSSL을 통해 개발용 RSA 키(개인키 + 인증서파일)를 생성하자.


1. 개인키(private key)생성


sudo openssl genrsa 1024 > key.pem


2. Cert인증서 파일 생성


sudo openssl req -x509 -new -key key.pem > cert.pem


이제, 인증을 위해 아래의 것들을 입력하자. 

(참고로 다른 키 입력하면, 지울 수가 없다. backspace 키가 Ctrl+H 키로 인식되므로,  Ctrl+z를 눌러 빠져나오자)

(해결하는 방법은 찾아보면 있다.)

1. Country Name(국가코드) : KO

2. State or Province Name(도/시) : Seoul
3. Locality Name(시/군/구) : Gangnam
4. Organization Name(회사이름) : 회사이름
5. Organization Unit Name(부서명) : 부서이름
6. Common Name(서비스 도메인명) : www.도메인명.com
7. Email Adderss(이메일주소) : myemail@email.com



시그널링 서버 시작(아무것도 뜨지 않으면 서버가 시작된 것이다.)

sudo node index.js


이후, https://자신의AWS아이피:1794 를 입력하여, Enter Room Name 입력창이 뜨면 서버를 만든 것이다.





※ 참고: Error: listen EADDRINUSE :: 1794 ~ 어쩌고 하면서 오류뜰 경우


같은 프로세스가 이미 실행중임을 알리는 메시지이다.


sudo ps aux | grep node


현재 실행되어 있는 프로세스를 확인하는 커맨드를 입력 후, sudo node index.js의 PID 번호를 확인한다. 2번째 칸에 있는 5자리 수(ex. 19811)


sudo kill -9 PID번호


으로, 프로세스를 강제 종료(-9)하고 다시 시그널링 서버를 시작하자.







참조사이트


1. WebRTC 시그널링 Node.js 서버 + 안드로이드 클라이언트를 설명해준 사이트

https://vivekc.xyz/getting-started-with-webrtc-part-4-de72b58ab31e


2. 시그널링 서버에 대해 자세히 알려주는 자습 사이트

https://codelabs.developers.google.com/codelabs/webrtc-web/#0


3. Node.js 공식사이트 중 패키지 다운로드 사이트

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions


4. OpenSSL을 이용하여 Node.js https 서버 만들기

http://blog.saltfactory.net/implements-nodejs-based-https-server/


각종 에러 해결 참조 사이트

https://stackoverflow.com/questions/46420905/webrtc-error-with-mime-lookup?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa


https://github.com/nodejs/node/issues/3469

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함