AWS EC2+ Node.js 환경 구성

2022. 12. 4. 21:36IT/클라우드

목표: 웹서비스 띄워보기

 

 

EC2는

서울 리전에 Amazon Linux로 인스턴스 시작

접속 후 passwd root로 root 사용 가능하게 변경.

yum update로 패키지 업데이트

 

Node.js는

자바스크립트 런타임

브라우저가 아닌 서버에서 자바스크립트 사용할 수 있게 해줌

Express js

*런타임:

 

nvm 설치 및 node.js 설치는   

https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 

자습서: Amazon EC2 인스턴스에서 Node.js 설정 - AWS SDK for JavaScript

노드 설치는 현재 Amazon EC2 세션에만 적용됩니다. CLI 세션을 다시 시작하는 경우 nvm을 사용하여 설치된 노드 버전을 활성화해야 합니다. 인스턴스가 종료된 경우 node를 다시 설치해야 합니다. 다

docs.aws.amazon.com

 

위 내용대로 입력하다보니 18.12.1v 설치 시 다음과 같은 오류가 발생했다.

Amazon리눅스에서는 아직 호환이 안된다.

glibc 패키지가 2.26까지 밖에 없다.

18버전이 크게 필요한지는 모르겠으니 지우고 17버전으로 재설치.

 

Express.js는 

npm init -y로 json 환경 설정 파일 생성 후 

npm install express --save 로 설치 

 

 

추가로 설치할 패키지

pm2 

https://pm2.keymetrics.io/docs/usage/quick-start/

node.js로 만든 애플리케이션을 관리해주는 Process Manager

클러스터 모드, 무중단 서비스, 모니터링 등 기능 제공 

 

Express-generator 

Express 환경을 간단하게 구축해줌

-템플릿 엔진 : pug, ejs, handlebars

 

csv로 가짜데이터를 생성해줄 faker.js

https://fakerjs.dev/guide/

 

 

Express-generator로 환경 생성 

express test --view=pug

npm install로 필요한 의존성 패키지 설치

npm audit fix --force로 취약점 조치 

 

npm start로 시작.

초기 접속 화면 

 

pm2 사용해보기 

pm2 start npm -- start 라고 입력을 해야 Express가 실행된다.

app.js를 실행시키면 열리지 않던데 수정을 해야하는지 정확한 건 더 찾아봐야 됨.

pm2 monitor 로 모니터링 가능 

pm2.io에서 계정 가입하고 버킷을 만들었다.

url 누르면 monitoring 페이지가 열림. vm 환경이라 vm에 설치된 파이어폭스로 열려서 그런지 굉장히 느렸다.