[Infra] AWS EC2에 Nest 서버 배포 (SSH 접속 및 서버 설정)

Harry Lee·2024년 7월 2일
0
post-thumbnail

지난 글에서 EC2 인스턴스를 생성해보았고, 이 글에서는 SSH를 통해 EC2 인스턴스에 접속하고 NestJS 서버를 배포하는 과정을 다루려고 한다.

1. SSH를 통해 EC2 인스턴스에 접속하기

키 페어 파일 이동 및 권한 설정

  1. Download 디렉토리에 있는 키 페어 파일 이동

    mv 키페어이름.pem ~/.ssh
    
  2. SSH 디렉토리로 이동

    cd ~/.ssh
    
  3. SSH 접속

    ssh -i ./키페어이름.pem ubuntu@<EC2-인스턴스-퍼블릭-IP>
    

    만약 다음과 같은 오류가 발생하면

    permissions 0644 for './키페어이름.pem' are too open.
    

    다음 명령어로 키 페어 파일의 권한을 축소해주면 된다.

    chmod 400 키페어이름.pem
    

2. EC2 인스턴스 설정

디렉토리 생성 및 파일 업로드

  1. home/ubuntu 아래 디렉토리 생성

    mkdir ~/your_project_directory
    cd ~/your_project_directory
  2. 필요한 파일 업로드:

    • dist (빌드 폴더)
    • .env
    • package.json
    • package-lock.json

    이를 위해 Filezila를 사용하여 SFTP 접속하여 로컬에서 EC2로 파일을 전송
    참조 링크: [AWS] EC2 - FileZilla 연결

시스템 업데이트 및 Node.js 설치

  1. 시스템 업데이트

    sudo apt-get update
    sudo apt-get -y upgrade
    
  2. Node.js 설치

    sudo apt-get install -y nodejs
    

프로젝트 설정 및 실행

  1. 프로젝트 의존성 설치

    npm install
    
  2. PM2 설치
    PM2를 사용하면 애플리케이션이 항상 실행되도록 관리할 수 있음

    sudo npm i pm2 -g
    
  3. Nest 애플리케이션 실행

    pm2 start dist/main.js
    


이 과정을 통해 EC2 인스턴스에 NestJS 서버를 성공적으로 배포하였고 정상 동작하는걸 확인할 수 있다.

profile
A keyboard player

0개의 댓글