티스토리 뷰
먼저 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 -
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(도/시) : Seoul3. Locality Name(시/군/구) : Gangnam4. Organization Name(회사이름) : 회사이름5. Organization Unit Name(부서명) : 부서이름6. Common Name(서비스 도메인명) : www.도메인명.com7. 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/
각종 에러 해결 참조 사이트
'개발일지 > AWS 서버 구축' 카테고리의 다른 글
Redis(Server)와 연동하기 위해 AWS linux AMI에 PhpRedis(Client) 설치 (0) | 2018.05.25 |
---|---|
AWS Linux AMI에 Redis(Server) 설치하기. (0) | 2018.05.25 |
AWS 서버에 Nginx-rtmp-module이 설치된 웹서버에 PHP와 Postgresql 설치하고 연동하기. (0) | 2018.05.24 |
Phpstorm과 AWS의 원격조종(Remote Control) 및 Postgresql과 연동하기. (0) | 2018.05.11 |
AWS LINUX AMI 서버에 Nginx-rtmp 모듈 컴파일 설치 (1) | 2018.05.08 |