마지막 프로젝트를 하며 간단한 채팅을 node.js
로 만들었다. 간단하게 구현하는 건 어찌어찌 했는데,, 문제는 배포하는 것. 주변에 구현하면서 고생한 친구가 있어서 편하게 했다.
puttygen.exe
로 ppk 키로 발급받기
LOAD
를 눌러 방금 발급받은 pem 키를 불러온다save private key
를 눌러 ppk키로 저장 (동일한 이름으로 하되, 확장자만 달라야 함. 다르면 서버에러)putty.exe
를 실행 새로운 session을 만들고 저장한다현재 ec2 인스턴스에 깃 설치
sudo yum install git
git init
git config --global user.name "your username"
git config --global user.email [your mail address]
주의할 점: " "
와 [ ]
를 무조건 써준다! 안써주면 인식을 못함!
nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
nvm 활성화
. ~/.nvm/nvm.sh
node 설치
nvm install node
설치 확인
node -e "console.log('Running Node.js ' + process.version)"
깃에 배포용 repository 생성
해당 repository의 주소 복사 후 현재 ec2 인스턴스로 클론하기
git clone + [repository 주소]
node js 에서 연습했던 대로 서버 실행
하면 끝인 줄 알았지? 는 안됨!
일단 현재 채팅용 포트를 설정하지 않았음.
AWS의 보안그룹으로 들어가서 ec2 인스턴스 생성시 만들었던 보안그룹으로 들어간다.
인바운드
탭에서 사용자지정TCP규칙 > 원하는 채팅포트 > 저장
위의 1번을 해결한다고 해도 완벽하게 해결되는 건 아님 이유? 내가 putty를 꺼도 실행이 되어야 확실한 배포인 거니까
백그라운드 실행하기 1 forever 설치
npm install forever -g
백그라운드 실행하기 2 원하는 js파일 실행하기
(실행파일 위치까지 들어간 후)
forever start [js script]
현재 백그라운드로 실행중인 서버 확인하기
forever list
백그라운드 서버 종료하기
forever stop [js script]
참고) nohup으로 했으나 실행되지 않았음
$ sudo nohup node (js파일) &
실행 후 백그라운드로 올라왔으면 ENTER 키로 빠져나오면 된다.
프로세스 실행되고 있는지 확인
$ ps -ef
종료
sudo kill -9 [종료하고 싶은 프로세스 pid]