
Nest.js 프로젝트를 배포하는 방법을 설명하겠다.
우선 프로젝트를 빌드하고 서버에 배포한다.
서버에서 서비스 실행 및 관리를 한다.
0. Node.js 설치하기
# 기본 업데이트
sudo yum -y update
# Node.js 20 (권장 LTS)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo dnf -y install nodejs gcc-c++ make
node -v && npm -v
1. 프로젝트 빌드하기
Nest.js는 TypeScript 기반이라 JavaScript로 변환해서 배포해야 한다.
npm run build
결과물은 기본적으로 dist 디렉토리에 생성된다.
배포 서버에는 이 dist 폴더를 복사해서 실행한다.
2. 실행 환경 설정
환경 변수 관리 파일을 서버에 복사한다.
.env
package-lock.json
package.json
패키지를 설치하고 app을 실행한다.
npm install --production (개발용 의존성 제외)
node dist/main.js
3. 전용 서버에 배포
서버에 코드를 업로드 한다. (FTP, SCP, Git)
pm2 프로세스 매니니저 사용
npm install -g pm2
pm2 start dist/main.js --name my-nest-app
pm2 startup
pm2 save
4. 서비스 실행 및 관리
로그 관리 : pm2 logs, pm2 log myApp
무중단배포 : pm2 reload
보안 : HTTPS 설정
PM2 에코시스템 파일 이용한 방법
// ecosystem.config.js
module.exports = {
apps: [{
name: 'myApp',
script: 'dist/main.js',
env: {
NODE_ENV: 'development',
PORT: 3000,
},
env_production: {
NODE_ENV: 'production',
PORT: 8080,
DATABASE_URL: 'postgres://...',
JWT_SECRET: 'super_secret',
},
}]
};
배포
pm2 start ecosystem.config.js --env production
pm2 save
배포 프로젝트 경로
myAPP/
├─ dist/
├─ .env.production
├─ package.json
├─ package-lock.json
├─ ecosystem.config.js
'nest.js' 카테고리의 다른 글
| 구글, Gmail SMTP 설정하기 (0) | 2025.09.30 |
|---|---|
| 2. Nest.js 프로젝트 생성 (0) | 2025.02.12 |
| 1. nest.js 개요 및 소개 (0) | 2024.12.31 |