어서와, 개발은 처음이지?

[처음부터 시작하는 EC2] nodejs 설치 본문

EC2_Ubuntu_Devops

[처음부터 시작하는 EC2] nodejs 설치

오지고지리고알파고포켓몬고 2019. 2. 6. 23:53
반응형



이번 글에서는 ec2에 nodejs를 설치하고 express로 만든 기본 어플리케이션을 실행 해보겠습니다.



1. nodejs 설치


기본적인 설치 방법은 nodejs의 공식 문서에서 확인 가능하며, linux 계열의 nodejs 설치 명령어에 대한 설명은 이 곳에서 볼 수 있습니다.

제 ec2는 ubuntu 18 버전으로 아래와 같이 명령어를 입력합니다.

> curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
> sudo apt-get install -y nodejs

현재 stable한 버전이 10.15.1 버전이므로, 11.x 버전의 nodejs를 설치하고 싶다면 setup_11.x 로 수정해주면 됩니다.


설치가 완료되면 아래 명령어로 버전을 확인할 수 있습니다.

> node -v
v10.15.1

> npm -v
6.4.1



2. npm 업데이트


다른 패키지를 사용하기전에 npm 버전을 업데이트 해줍니다.

> sudo npm install -g npm

> npm -v
6.7.0



3. 프로젝트 생성


빈 폴더 하나를 생성합니다.

> mkdir -p ~/app/node/SecondProject
> cd ~/app/node/SecondProject

예전에 작성했던 글 중 django 프로젝트와 구분짓기위해 위 처럼 경로를 설정했습니다.


다음은 npm init 명령을 사용하여 현재 경로를 node 프로젝트로 초기화 합니다.

> npm init

npm init후 요구하는 입력 사항은 enter로 넘어갑니다.(배포할 프로젝트라면 입력 하셔도 무방합니다.)


마지막으로 express.js를 설치합니다.

> npm install --save express




4. app.js 생성


우선 프로젝트 경로에서 편집기를 사용하여 app.js를 생성합니다.

> vi app.js

다음으로 express 공식 문서의 hello world를 복붙합니다.

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});


이제 app.js를 저장하고 node 명령으로 app.js를 실행합니다.

> node app.js



5. ec2 인바운드 정책 수정


ec2 콘솔 메뉴의 보안 그룹에서 인바운드 포트 3000번을 추가해줍니다.




6. 결과 확인


이제 ec2 public 주소의 3000번 포트로 접속하면 투박한 hello world가 나오는 웹 페이지를 볼 수 있습니다.




7. pm2로 구동하기


pm2는 nodejs를 위한 프로세스 매니저 입니다.

uwsgi를 사용하여 django 어플리케이션을 구동하듯, pm2를 사용해서 nodejs 어플리케이션을 구동해봅니다.


전역(global) 옵션을 사용하여 pm2를 설치합니다.

> sudo npm install -g pm2


설치가 끝나면 pm2 명령을 사용하여 app.js를 구동합니다.

> pm2 start app.js


다시 ec2의 3000번 포트에 접속하면 정상적으로 hello world가 출력되는 모습을 볼 수 있습니다.






Comments