[NodeJS] node express, pm2 설치 하는 방법
Node Express는 Node.js와 Express.js를 결합하여 웹 애플리케이션 개발에 사용되는 프레임워크입니다.
이를 통해 비동기적인 서버 측 코드 작성과 HTTP 요청 및 응답 처리 등 다양한 웹 개발 작업을 보다 쉽게 처리할 수 있습니다.
1) 간단하게 띄울 프로그램을 하나 준비
서버가 잘 작동하는지 확인을 할 수 있는 간단한 프로그램을 준비 하도록 합니다.
자신이 하는것이 디비커넥션이 들어가게 되면 이 부분도 간단하게 CRUD 프로그램 하나 준비 하면 됩니다.
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
});
2) node express 설치
-g 옵션을 사용하여 전역적으로 Express.js를 설치합니다. 이는 시스템의 모든 위치에서 Express.js를 사용할 수 있게 해줍니다.
# npm -g install express
npm install express
그러나 대부분의 경우, 프로젝트별로 Express.js와 같은 라이브러리를 설치하는 것이 좋습니다. 이럴 경우, 프로젝트 디렉토리 내에서 다음과 같이 실행합니다:
3) 백그라운드 실행을 위해 pm2 설치
PM2는 Node.js 애플리케이션의 프로세스 관리자입니다.
애플리케이션을 실행, 모니터링, 로드 밸런싱, 재시작 등을 자동으로 처리하여 Node.js 애플리케이션의 운영과 관리를 간편하게 해줍니다.
일반적으로 Node.js 애플리케이션은 단일 스레드로 동작하기 때문에 하나의 프로세스에서 실행됩니다.
그러나 실제 서비스 환경에서는 여러 개의 프로세스가 필요할 수 있습니다. 이때 PM2를 사용하면 여러 개의 인스턴스를 생성하여 동시에 실행할 수 있습니다.
PM2는 명령줄 인터페이스(CLI)를 통해 사용되며 주요 기능은 다음과 같습니다
- 애플리케이션 실행 및 관리, 자동 재시작 로드 밸런싱
- 모니터링: PM2 대시보드나 CLI 명령어를 통해 현재 실행 중인 애플리케이션 상태와 리소스 사용량 등을 모니터링할 수 있습니다.
- 배포 용이성: PM2는 배포 과정에서 유용한 기능들을 제공합니다.
- 예를 들어 코드 업데이트 시 0-다운타임(zero-downtime) 배포 방식으로 서비스 중단 없이 업데이트가 가능하며, 클러스터 모드에서도 동작하는 등 다양한 배포 옵션이 있습니다.
npm install -g pm2
pm2 start app.js
# 포트가 잘 열렸는지 확인해 봅니다.
netstat -antp | grep node
# 물론 실행은 전통적인 리눅스 쉘에서 실행하는 방식도 문제는 없다
# nohup node app.js > app.log 2>&1 &