#1. Node.js 설치하기

1. NVM의 개념

1) NVM이란?

  • Node Version Manager의 줄임말로 Node.js의 버전을 관리하는 도구이다.
  • 협업을 할 때, 또는 다양한 프로젝트를 동시에 진행해야 할 때 다양한 라이브러리, 프레임워크, 개발툴의 버전 호환 문제를 겪게 되는데, NVM은 이러한 문제를 해결해 준다.
  • 컴퓨터에 다양한 버전의 Node.js를 설치할 수 있게 해준다.
  • use 커맨드를 이용해 사용할 Node 버전으로 간단하게 스위칭할 수 있다.
  • 버전 관리가 손쉽다.
    • 기본 버전 설정
    • 설치한 버전의 전체 리스트 확인
    • 불필요한 버전 삭제

 

2. 리눅스에 NVM 설치

1) NVM 설치 명령 확인

  • NVM 공식 깃허브를 통해 설치 명령어를 확인한다.

https://github.com/nvm-sh/nvm#installing-and-updating

 

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...

github.com

※ 버전이 변경될 시 설치 스크립트의 파일명이 변경될 수 있기 때문에 가급적 고정된 명령어를 사용하지 말고 공식적으로 배포되는 명령어를 확인하는 것이 좋다.

 

2) NVM 설치

  • 리눅스에 일반 사용자 권한으로 로그인한 상태로 설치 스크립트를 수행한다. (root권한 아님)
    • 쉘 스크립트를 wget 명령으로 내려받아 실행하는 형태.

 

3) 설치 확인

nvm --version
  • 만약 nvm을 설치했는데도 커맨드를 찾을 수 없다고 나온다면 source ~/.zshrc(zsh 사용시) 명령을 사용하면 된다.

 

3. NVM을 사용한 Node 버전 관리

1) 설치하는 방법

# 최신 버전 설치하기
$ nvm install node

# 특정 버전 설치하기
$ nvm install 버전  # nvm install 16.16.0

 

2) 설치되어 있는 Node 목록 확인하기

  • 버전이 여러 개 나오고 특정 버전 앞에 * 표시가 있다면 현재 * 표시 버전이 사용 중인 상태이다.
$ nvm ls

 

3) 특정 버전으로 변경하기

$ nvm use 버전 # nvm use 12.22.7

 

4) 설치한 특정 버전 삭제

$ nvm uninstall 버전 # nvm uninstall 12.22.7

 

5) node 설치 경로 확인

$ which node

 

4. Node.js 설치하기

1) Node.js 설치

  • 위 nvm을 통해 설치하는 방법으로 Node.js를 설치한다.

작성일 기준 Node LTS 16.16.0 설치 / 최신버전은 18.6.0

 

2) 설치 결과 확인

# 노드 버전 확인
$ node --version

# npm 버전 확인
$ npm --version

 

3) Yarn 설치하기

  • Yarn은 Node.js 자바스크립트 런타임 환경을 위해 페이스북이 2016년 개발한 소프트웨어 패키지 시스템 npm 패키지 관리자의 대안으로 대형 코드의 일관성, 보안, 성능 문제를 해결하고자 개발되었다.
$ npm install -g yarn

 


 

#2. 백엔드 가동하기

1. express 기반 백엔드 가동하기

1) 소스코드 업로드

  • FTP 등의 프로그램을 사용하여 완성된 Express 백엔드 프로젝트를 리눅스의 적절한 위치에 업로드한다.
    • 실습 때는 ~/myweb 이라는 디렉토리를 만들고 진행하였다.
    • git을 통해 저장소에서 clone 받아서 진행해도 같은 결과를 얻을 수 있다.
  • 이 때, node_modules 디렉토리는 업로드하지 않는다.
    • package.json은 반드시 포함되어야 한다.

 

※ 소스코드 업로드 시 node_modules를 업로드하지 않는 이유.

  • 윈도우나 맥에서 개발 후 리눅스에 업로드하면 운영체제가 바뀌기 때문에 버전에 따라 모듈을 바꿔야 하는 경우가 발생하게 된다.
  • 이렇게 되면 호환이 안되기 때문에 package.json을 통해 리눅스에서 패키지를 따로 설치한다.

 

2) 패키지 설치하기

  • 프로젝트 폴더로 이동해서 package.json에 명시된 패키지를 일괄 설치한다.
$ yarn install

 

3) 포트번호 접근 허용

  • 백엔드에서 사용 중인 포트번호에 대한 접근을 허용한다.
$ sudo ufw allow 포트번호/tcp

포트번호 접근 허용하고 reload 명령어로 방화벽 새로고침 해준다.

 

4) 방화벽 상태 확인

$ sudo ufw status

 

5) 백엔드 가동하기

  • 시작 파일(app.js)이 위치한 디렉토리에서 프로그램을 가동한다.
$ node app.js

리눅스를 통해 노드서버에 접속

 

2. PM2

1) PM2란?

  • PM2는 Node.js 애플리케이션을 쉽게 관리할 수 있게 해주는 Process Manager이다.
  • Node.js 애플리케이션을 Cluster mode(background mode)로 실행시킨다거나, 메모리가 넘친다거나, 오류로 인해 프로세스가 종료되는 등의 상황에서 간단한 설정만으로 쉽게 해결할 수 있다.

 

2) PM2 설치

$ npm install -g pm2

 

3) PM2를 사용한 Express 프로그램 가동하기

  • PM2를 통해 백엔드 서버를 가동해도 터미널을 자유롭게 사용할 수 있다.
$ pm2 start 시작스크립트이름

app.js를 pm2에 등록
ps -ef 명령어 사용

  • ps -ef 명령어로 현재 실행 중인 리스트를 보면 app.js가 실행 중인 것을 볼 수 있다.
    • 터미널을 종료해도 백엔드 서버는 가동중이다.

 

4) 가동 중지하기

$ pm2 stop 시작스크립트이름

 

5) id번호로 Express 프로그램 중 특정 항목 실행 / 중지

- id번호로 실행

pm2 start id번호

 

- id번호로 중지

pm2 stop id번호

'국비수업 > Linux' 카테고리의 다른 글

[Linux] MariaDB 설치하기  (0) 2022.07.25
[Linux] SSH 서비스  (0) 2022.07.24
[Linux] FTP (File Transfer Protocol)  (0) 2022.07.23
[Linux] 네트워크와 방화벽  (0) 2022.07.22
[Linux] 서비스와 리눅스 패키지  (0) 2022.07.21

+ Recent posts