티스토리 뷰

카테고리 없음

[AWS] EC2에 Node.js 연결하기

왕자두완자두 2023. 3. 16. 01:44

앱 개발을 거의 마무리 한 후, 서버 배포를 위해서 EC2에 연결하는 과정을 거쳤는데 나중에 앱을 배포할 때 써먹기 좋을 것 같아 기록용으로 남겨둡니다.

 

⭐ Android Studio (java): 클라이언트, Node.js: 서버, EC2

 

원래는 .pem 파일을 인스턴스 생성 당시 다운 받아 해당 파일이 있는 위치에서 ssh -i 를 통해 ec2 인스턴스에 접근하고는 했으나 이번에는 .pem 파일이 우리 팀원한테 없었기 때문에 직접 ec2 인스턴스를 aws 내에서 실행할 수 있어 그것을 사용하여 진행하였다.

 

내가 ec2를 분명히 만들어서 실행을 시켜뒀는데 없다 => 거의 백 퍼 리전을 잘못 설정해서 인 것 같다.

 

나 또한 서울에서 실행 중인 인스턴스를 찾고 있었으나 알고보니 버지니아에 인스턴스가 생성되어 있어서 허무했던 ,,, ^^;;

 

아무튼 여기를 클릭

ssh 클라이언트 말고 ec2 인스턴스 연결을 눌러서 들어가보면

이런 cli 화면이 떠서 여기에다가 실행할 수 있다.

일단 우리는 노드를 서버로 만들었기 때문에 aws ec2 아마존 리눅스 2에 nvm, node.js, npm을 설치하였다.

 

먼저 아래 명령어를 사용하여 nvm을 설치해주었다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

그 후 쉘 실행을 통해 nvm을 활성화해준다.

. ~/.nvm/nvm.sh

띄어쓰기와 오타에 유의해야한다.

 

그리고 나서부터 nvm의 버전을 확인하는 것부터 문제가 발생하였는데 원래는 아래 명령어를 실행하면 나와야되는데 이미 위에 있는 명령어를 실행할 때부터

nvm --version

이미 뭔가 오류가 발생했다.

이 문제는 nvm 및 node 버전에 의한 오류로 판단하여 버전을 변경한 후 nvm과 node 명령어를 사용해보니 정상적으로 작동하는 것을 알 수 있었다. 이때 사용한 명령어는 아래와 같다.

nvm use v4.2.4
nvm install 8.0.0

그렇게 node를 잘 넘긴 듯 하고 git clone을 받으려고 하자 당연히 git이 없다는 오류가 났고 git을 설치하기 위해서 기존에 잘 알고 있던 sudo apt-get install을 사용하려고 했으나 리눅스라 그런지 아니면 AWS linux라서 그런지 해당 명령어가 안먹어서 찾아보다가 아래의 명령어로 git이 설치된다는 것을 깨달았다. 완전 새로운 사실!

sudo yum install git

아무래도 지금까지 진행했던 프로젝트는 우분투를 사용했었고 얘는 리눅스라 그런 것 같다는 생각이 들었다. 그렇게 git clone을 받았는데 이번에는 npm insall 명령어가 안먹었다. 그래서 로컬에 있는 node의 버전 문제인가 싶어서 확인해보니 현재 ec2 내의 node 버전은 8.0.0인데 우리가 돌리고 있었던 node 버전은 14.17.6이었던 것... 그래서 node의 버전을 올려주고자

nvm use v14.17.6

 명령어를 통해 설치를 해주었더니 node가 저 버전으로 잘 설치가 되었고

npm install

로 필요한 모듈을 받으니 잘 동작하는 것을 알 수 있었다. 그리고 나서 우리는 ec2 인스턴스에 적용되어있는 보안규칙이 없음을 깨닫고 3000으로 사용자 지정 tcp 포트를 하나 만들어주었다. 그렇게

서버 배포에 성공하였다. 그러나 이렇게만 하고 끝내게 되면 ctrl+c로 node app으로 킨 서버를 꺼버리고 ec2 인스턴스를 접근했던 CLI 창을 꺼버리면 그냥 서버도 꺼져버리는데 이렇게 마무리 해서는 안되기 때문에 서버를 꺼도 실행할 수 있도록 

npm install -g pm2

이 명령어를 통해 pm2를 설치하고 app.js (node 서버 키는 파일) 위치로 이동하여

pm2 start app.js

 명령을 실행해주면 성공적으로 실행되는 것을 볼 수 있고 ec2에서 서버를 끄고 나온다고 하더라도 앱이 정상적으로 서버를 통해 실행이 되고 있는 것을 확인할 수 있었다.

 

출처

https://velog.io/@okies/AWS-EC2-Amazon-Linux-2-Node.js-%EC%84%A4%EC%B9%98

 

AWS EC2 Amazon Linux 2 Node.js 설치

프로젝트 도중 리액트 빌드 및 구동 환경을 설정할 일이 있어, aws ec2 아마존 리눅스 2에 nvm, Node.js, npm, yarn을 설치하고 방법을 정리해본다.아래 명령어를 입력하여 nvm을 설치한다.그후 쉘을 실행

velog.io

https://velog.io/@rheey90/AWS-EC2-Node.js-%EC%84%9C%EB%B2%84-%EB%B0%B0%ED%8F%AC

 

AWS EC2 Node.js 서버 배포

AWS EC2는 아마존 웹 서비스에서 제공하는 서비스로서 아마존 웹 서비스 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. 과거와는 달리 투자 비용이 상당히 드는 서버를 담당하는 하드웨어

velog.io

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함