본문 바로가기
Back-End/Infra

"ec2 + pm2 + nginx"를 활용해서 node.js 배포하기 (3)

by 천릉객 2023. 9. 6.

3.  배포 진행

nginx를 거치지 않고, 배포를 일단 진행

 

  • pm2 start server.js 를 입력
  • 사진이 생략되었지만 이전에 실패했던 이유 : 인스턴스 보안 그룹에서 8080포트가 추가되지 않았었음. -> 포트 추가
  • 8080포트 추가 이후 이후 퍼블릭 IP:8080으로 접속 시도 -> 성공

nginx 설정

  • 명령어
    • cd /etc/nginx/sites-enabled
      • etc : 리눅스의 시스템 설정 파일이 저장된 디렉토리
      • nginx : nginx 웹 서버의 설정 파일이 저장된 디렉토리
      • sites-enabled : nginx 가상 호스트 설정 파일이 저장된 디렉토리
    • sudo rm default : 기존 default 설정 파일 삭제
    • sudo vim default : 새로 생성. 내용은 하단에 작성
    • sudo service nginx restart : nginx 재시작

  • default 파일 내용 설명
    • server 블록
      • 하나의 nginx 서버 블록을 나타내며, 웹 서버에서 특정 도메인 또는 IP 주소로 들어오는 요청을 처리하는데 사용
    • listen 지시어
      • nginx 웹 서버가 받는 http요청을 수신할 포트 설정 (= 80번)
    • access_log & error_log : 접속&에러 로그 기록 위치
    • location / { }
      • 퍼블릭 IP로만 접속하게 되면, 기본적인 루트경로 ( / )로 요청이 들어오게 됨
      • 이떄의 요청을 처리하는 방법을 { } 안에 명시
      • proxy_pass 지시어 : nginx가 받아들인 http 요청을 전달할 대상 지정
      • http://127.0.0.1:8080 : 실제로 요청이 전달될 대상 서버의 주소 (로컬호스트 8080)

퍼블릭 IP만 입력해도 접속이 잘 되는 모습 확인