
Ubuntu 24.04에서 Node.js 기반 애플리케이션을 안정적이고 효율적으로 운영하기 위해서는 프로세스 매니저인 PM2 도구의 설치와 활용이 필수적입니다. 이 가이드에서는 시스템 환경을 최신 상태로 유지하는 것부터 시작하여, Node.js와 PM2를 어떻게 설치하고, 애플리케이션을 관리하는지 단계별로 상세히 설명합니다. 이를 통해 재시작, 로그 관리, 부팅 시 자동 실행까지 손쉽게 수행할 수 있습니다.
목차
🛠️ 시스템 업데이트 및 준비
먼저, Ubuntu 24.04 시스템을 최신 버전으로 업데이트하는 것이 중요합니다. 터미널에서 다음 명령어를 실행하여 패키지 목록을 새로고침하고 현재 설치된 패키지를 최신 버전으로 업그레이드하세요.
sudo apt update
sudo apt upgrade -y
이 과정은 서버 안정성과 최신 보안 패치를 적용하는 기본 단계로, Node.js 및 PM2 설치 전 반드시 수행해야 하는 준비 작업입니다[1][3][5].
🔧 Node.js 설치 방법
PM2는 Node.js 환경에서 동작하기 때문에, 우선 Node.js를 시스템에 설치해야 합니다. 설치 방법은 두 가지가 있으며, 상황에 맞게 선택하실 수 있습니다. 간편함을 원한다면 APT를 이용하는 방법, 여러 Node.js 버전을 관리하려면 NVM 사용을 추천합니다.
👉 APT를 이용한 Node.js 설치
sudo apt install nodejs npm -y
node -v
npm -v
이 방법은 간단하고 빠르며, Ubuntu 기본 레포지토리의 최신 Node.js 버전을 설치할 수 있습니다. 설치 후 버전 확인을 통해 정상 설치됐는지 검증하세요.
👉 NVM(Node Version Manager) 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
nvm install node
node -v
nvm -v
NVM은 여러 Node.js 버전을 한 시스템에서 쉽게 관리할 수 있도록 지원하며, 최신 또는 특정 버전이 필요할 경우 유용합니다. 설치 후 환경 변수 적용을 위해 터미널 재시작 또는 `source ~/.bashrc` 명령을 수행하세요.
🧰 PM2 설치 및 등록
이제 Node.js가 준비되었으므로, PM2를 글로벌로 설치합니다. 대표적인 설치 방법은 npm을 사용하는 것으로, 아래 명령어를 입력하세요.
sudo npm install -g pm2
설치 후 버전 검증이 필요하면:
pm2 -v
혹은 yarn을 사용한다면:
yarn global add pm2
이외에도 시스템에 적합한 방법으로 설치하며, 글로벌로 설치된 PM2는 어느 폴더에서든 사용할 수 있습니다.
🚀 PM2 자동 시작 설정
서버가 재부팅되었을 때, PM2가 등록된 애플리케이션을 자동으로 다시 실행하도록 설정하는 단계입니다. 다음 명령어를 통해 등록할 수 있습니다.
pm2 startup
명령어 실행 후 터미널에 출력되는 안내 메시지에 따라 아래 예시와 유사한 명령어를 복사하여 수행하세요.
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u --hp /home/
이 과정으로 PM2는 시스템 서비스로 등록되어, 서버 재시작 시 자동으로 애플리케이션을 부팅합니다.
🎯 간단한 Node.js 애플리케이션 개발과 PM2 실행
테스트를 위해 간단한 Node.js 서버를 만들어보겠습니다. 새 파일을 생성 후 아래 내용을 입력하세요.
nano app.js
// app.js
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, PM2!n');
});
server.listen(3000, () => {
console.log('Server running on http://0.0.0.0:3000');
});
이제 PM2로 애플리케이션을 시작합니다.
pm2 start app.js --name "myApp"
이 명령어로 애플리케이션이 백그라운드에서 안정적으로 실행됩니다.
📝 PM2 핵심 명령어 활용하기
PM2는 강력한 명령어 세트로 애플리케이션 상태를 관리합니다. 대표적인 명령어를 소개합니다.
- 목록 확인:
pm2 list
- 중지:
pm2 stop myApp
- 재시작:
pm2 restart myApp
- 삭제:
pm2 delete myApp
- 로그 보기:
pm2 logs myApp
- 모니터링:
pm2 monit
- 모든 프로세스 중지:
pm2 stop all
- 모든 프로세스 실행:
pm2 start all
이 명령어들을 통해 서버 운영이 매우 편리해집니다.
🔄 PM2의 업데이트와 유지 보수
PM2의 최신 버전 유지를 위해 다음 명령어를 사용하세요.
npm install pm2 -g && pm2 update
이 명령은 PM2 프로그램의 바이너리와 데몬들을 최신 상태로 유지시켜줍니다.
🎯 기타 유틸리티 및 참고 팁
– 자동 완성 기능 활성화: pm2 completion install
명령으로 터미널 자동완성을 사용할 수 있습니다.
– 포트 오픈: 애플리케이션 접속 포트(예: 3000)가 방화벽 규칙에 열려있는지 확인하세요.
– 환경 변수 설정: 애플리케이션 시작 시 환경 변수를 지정하려면 pm2 start app.js --env production
등을 활용하세요.
– 로그 관리: PM2는 표준 출력과 표준 에러 로그를 자동 저장하며, pm2 logs
명령으로 쉽게 확인할 수 있습니다.
📌 결론
이 가이드에서는 Ubuntu 24.04 환경에서 Node.js와 PM2를 설치하고, 애플리케이션을 효율적으로 관리하는 전 과정을 배웠습니다. PM2는 서버 운영 시 안정성 확보와 편리한 관리가 가능하며, 앞서 설명한 단계들을 차근차근 따라한다면 누구나 손쉽게 Node.js 서버를 운용할 수 있습니다. 서버 재시작 후에도 애플리케이션이 자동으로 복구되고, 로그와 모니터링 기능까지 제공하여 최고의 선택임을 확신합니다.
—