AWS 배포하기

강준석·2023년 4월 19일
0

Node.js 기초

목록 보기
14/15
  • AWS 배포하기
    1. 방금 받은 내 Keypair의 접근 권한을 바꿔주기

      sudo chmod 400 받은키페어를끌어다놓기 
    2. SSH로 접속하기

      ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
  • Node.js 및 MongoDB EC2에 설치하기
    1. Node.js 설치 명령어

      curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
      
      sudo apt-get install -y nodejs
      
    2. 설치 및 설치 확인

    • 설치: EC2 Instance에 접속이 된 상태라면 위에서 복사한 명령어를 붙여넣고 엔터를 누르고 기다리면 된다.
    • 설치 확인: 이전에 아래와 같은 명령어로 확인했던것처럼 확인할 수 있습니다!
      node -v
      npm -v
    1. MongoDB 설치 명령어

      wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
      
      echo "deb [ arh=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
      
      sudo apt-get update
      
      sudo apt-get install -y mongodb-org
      
      • MongoDB 실행 명령어
      • 아래 명령어를 실행하고 아무 반응이 없다면 잘 된것
      sudo service mongod start
      
  1. EC2 instance에서 서버 실행

    • 깃 레포 주소 복사
    git clone 깃 주소 복사해서 넣기
    • 프로젝트 서버 실행하기
    1. cd nodejs_spa_mall
    2. npm install
    3. node app.js
  2. 서버 계속 유지시키기 PM2

    1. EC2 Instnace에 ssh 접속 상태에서
    2. 관리자 계정으로 전환
    • sudo -s
    1. npm 설치
    • npm install -g pm2
    1. app.js실행
    • pm2 start app.js
  3. pm2 명령어

    • pm2 restart [idNumber]

      • 현재 실행중인 pm2 서비스를 재시.
      • pm2 restart [idNumber] 예시
        pm2 restart app.js. # app.js를 재시작.
        pm2 restart [idNumber] 
        
        # 0번 ID의 서비스 (app)을 재실행.
        pm2 restart 0
    • pm2 list

      • pm2를 이용해 관리중인 서비스들의 목록을 출력.
      • pm2 list 예시
        # 현재 서비스들의 목록을 출력.
        pm2 list 
    • pm2 delete [pid number]

      • 현재 실행중인 pm2 서비스를 종료.
      • pm2 delete [pid number] 예시
        # 0ID서비스(app) 을 하는 명령어. 
        pm2 delete 0
    • pm2 log

      • 실행한 서비스들의 로그를 출력할 때 사용.
      • 서비스들의 로그 또는 에러 메시지까지 출력할 수 있어 디버깅에 유용하게 사용.
      • pm2 log 예시
        pm2 log
        code:”MODULE_NOT_FOUND” 에러 메시지가 출력되고 있어 어떤 파일에서 어떤 에러가 발생했는지 명확하게 알 수 있어 디버깅하기 수월.
    • pm2 logs --lines [number]

      • number 만큼 마지막으로 발생했던 로그들을 순서대로 출력.

      • pm2 logs --lines [number] 예시

        # 마지막으로 발생한 로그 순서대로 100개를 출력.
        pm2 logs --lines 100

    EC2에 clone된 rep를 삭제하기

EC2 인스턴스에 SSH 접속:

터미널을 열고, EC2 인스턴스에 SSH로 접속하세요. 아래 예제에서는 your-key.pem이라는 이름의 키 파일을 사용하고 있으며, ec2-user가 사용자 이름이며, 12.34.56.78이 EC2 인스턴스의 IP 주소입니다.
css
Copy code
ssh -i your-key.pem ec2-user@12.34.56.78
리포지터리 폴더로 이동:

삭제하려는 리포지터리 폴더로 이동하세요. 예를 들어, 리포지터리가 my-repo라는 이름의 폴더에 있다면, 다음 명령어를 실행합니다.
bash
Copy code
cd my-repo
리포지터리 삭제:

리포지터리 폴더를 삭제하려면 다음 명령어를 실행하세요.
bash
Copy code
rm -rf my-repo
이제 EC2 인스턴스에서 클론된 리포지터리가 삭제되었습니다. 필요한 경우 다시 클론하거나 다른 작업을 수행할 수 있습니다.

- 수정내용이 있어 수정 후 다시 커밋했을 때
- 변경사항이 자동으로 EC2에 반영되지않음
profile
백엔드개발자를 목표로 공부중

0개의 댓글

관련 채용 정보