AWS 또는 HEROKU에 NodeJS 어플리케이션 배포

전제 1


NodeJS는 전 세계의 백엔드 구조를 완전히 바꾸었다.Ryan Dahl은 서버 측의 Javascript를 가능하게 하고 Javascript가 오늘날 우리가 알고 있는 웹의 지울 수 없는 일부분으로서의 지위를 더욱 강화시켰다.

말단에서부터 처음 사용하는 사람들은 해커나 일부 프리랜서의 업무에 사용되는 코드를 생산 서버에 배치해야 한다.
Heroku와 AWS는 현재 배치된 최선의 선택으로 그들의 무료 계획은 처음 사용하는 대부분의 수요를 충족시켰다.
그러나 배치 자체가 미궁이다.프로그램 파일, 환경 변수, 프록시 설정, 포트 노출은 서버를 처음 시작하는 사람에게 무서운 도전이다.
이 문서는 NodeJS 응용 프로그램을 배치하는 데 도움을 주기 위한 것입니다.
그런데 더 큰 문제는 어디에 배치해야 하는가?
Heroku와 AWS 사이에는 도대체 어떤 차이가 있습니까?그중의 하나를 선택하는 장점은 무엇입니까?

Heroku vs AWS


Heroku는 용기를 기반으로 한 클라우드 플랫폼 제품(PaaS)이고 AWS는 IaS, PaaS, SaaS를 제공하는 안전한 클라우드 서비스 플랫폼이다.
(인프라/플랫폼/SaS(Software as a Service))
만약 당신이 초보자라면, Heroku는 배치하기 쉬운 해결 방안이다.실제로 인프라 시설과 확장성을 걱정할 필요는 없다.
AWS는 처음에는 매우 복잡할 수 있지만, 웹 사이트의 인프라를 더욱 잘 제어할 수 있다.따라서 초보자라면 AWS 실례에서 이렇게 많은 것을 설정하는 것이 아니라 Heroku를 사용하면 한 단계의 배치 해결 방안을 얻을 수 있기 때문에 Heroku를 시도하는 것이 좋습니다.
그럼 시작해 볼까요?

Heroku에 NodeJS 응용 프로그램 배치하기



Heroku CLI를 사용하여 배포합니다.
Heroku CLI를 here에서 다운로드합니다.
heroku cli를 설치한 후 다음 명령을 실행합니다.
heroku login
디렉토리를 프로젝트 폴더로 변경합니다.

시작 스크립트 지정


프로그램을 시작하는 방법을 확인하기 위해서, Heroku는 먼저 프로 파일을 찾습니다.만약 NodeJS 응용 프로그램에Procfile가 존재하지 않는다면
패키지의 시작 스크립트를 통해 기본 웹 프로세스를 시작합니다.json.
프로그램 파일이란 무엇입니까?다음은 상세하게 소개할 것이다.
웹 프로세스 형식의 명령은 포트 환경 변수에서 지정한 포트 번호에 귀속되어야 합니다.하면, 만약, 만약...
아니요,dyno는 작동하지 않습니다.

dyno가 뭐예요?


All Heroku applications run in a collection of lightweight Linux containers called dynos.


Heroku 개발 센터
코드에서 하드 인코딩 포트를 사용하면 배치가 실패합니다.
사용 과정을 확보하다.환경코드에 포트를 입력합니다.

파일 추가


프로그램 파일이란 무엇입니까?


Heroku apps include a Procfile that specifies the commands that are executed by the app on startup. You can use a Procfile to declare a variety of process types


~TheHeroku DEV center
Procfile은 사용자 정의 명령 목록으로 web 또는 worker 등 특정 키워드로 정의됩니다.
이것은 프로그램을 시작할 때마다 반드시 실행해야 하는 절차와 명령입니다.Heroku는 서로 다른 dynos 경량급 linux 용기에서Procfile의 모든 프로세스를 실행하고, 이 용기들은 서로 연결됩니다.
확장자 없이 Procfile이라는 파일을 만들고 행을 추가합니다.
web: node index.js

애플리케이션 구축 및 로컬 실행

  • 로컬 응용 프로그램 디렉터리에서 "npm install"명령을 실행하고 응용 프로그램에 설명된 의존항을 설치합니다
    소포.json 파일.
  • npm install
    
  • Heroku local 명령을 사용하여 로컬 응용 프로그램을 시작합니다. 이 명령은 Heroku CLI의 일부로 설치됩니다.
  • heroku local web
    
    당신의 응용 프로그램은 현재 http://localhost:5000/에서 실행되어야 합니다.

    Heroku에 응용 프로그램 배포


    변경 사항을 git에 제출하면 Heroku에 적용할 수 있습니다.
    git add .
    
    git commit -m "Added a Procfile."
    
    heroku login
    
    당신의 Heroku 증명서를 입력하세요.
    ...
    $ heroku create
    Creating arcane-lowlands-8408... done, stack is cedar
    http://arcane-lowlands-8408.herokuapp.com/ | [email protected]:arcane-lowlands-8408.git
    Git remote heroku added
    
    git push heroku master
    ...
    -----> Node.js app detected
    ...
    -----> Launching... done
           http://arcane-lowlands-8408.herokuapp.com deployed to Heroku
    
    브라우저에서 응용 프로그램을 열려면 - 를 입력합니다.
    heroku open.
    

    AWS에 노드 배포



    첫 번째 단계는 AWS에 EC2 실례를 만들어서 Amazon Linux2를 서버의 첫 번째 운영체제로 하고 ssh를 삽입해야 합니다.
    ssh를 EC2 실례에 성공적으로 연결한 후에, 우리는 다음 절차에 따라 NodeJS 응용 프로그램을 성공적으로 배치해야 한다.
  • NodeJS 및 NPM 설치
  • Git를 설치하고 프로젝트 파일로 저장소를 복제합니다.
  • 모든 종속성 설치
  • pm2를 설치하여 서버를 백엔드 프로세스로 실행
    Ec2 인스턴스
  • 에 대한 보안 그룹 구성

    1단계 – NodeJS 및 NPM 설치


    다음 명령을 실행하여 NVM(노드 버전 관리자)을 설치합니다.
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
    
    명령줄에 다음 명령을 입력하여 nvm를 활성화합니다
    . ~/.nvm/nvm.sh
    
    명령줄에 다음 명령을 입력하여 nvm를 사용하여 최신 버전의 NodeJS를 설치합니다.
    nvm install node
    
    NodeJS를 설치하면 Node Package Manager(NPM)도 설치하여 필요에 따라 다른 모듈을 설치합니다.
    명령줄에 다음 명령을 입력하여 NodeJS가 설치되어 제대로 작동하는지 테스트합니다.
    node -v
    
    npm -v
    

    2단계 - Git 설치 및 저장소 복제


    Git를 설치하려면 터미널에서 다음 명령을 실행하십시오
    sudo yum install git
    
    Git가 시스템에 제대로 설치되어 있는지 확인하려면 다음 명령을 실행하십시오.
    git –version
    
    다음 명령을 실행하여 저장소 클론 생성
    git clone <repository link>
    

    3단계 - 종속성 설치


    디렉터리를 복제된 리포 폴더로 변경하고 다음 명령을 실행합니다.
    npm install
    

    4단계 - PM2 설치 및 서버 시작


    PM2는 응용 프로그램을 온라인으로 관리하고 유지하는 데 도움이 되는 데몬 관리자입니다.
    PM2는 NPM을 통해 설치할 수 있는 간단하고 직관적인 CLI로 시작하기 쉽습니다.

    A daemon (pronounced DEE-muhn) is a program that runs continuously and exists for the purpose of handling periodic service requests that a computer system expects to receive. The daemon program forwards the requests to other programs (or processes) as appropriate.


    왜 그래?일반 도메인 이름 형식
    데몬은 터미널이나 GUI를 통해 사용자 상호 작용이 필요 없는 백그라운드 프로세스로 실행되는 프로그램입니다.노드 응용 프로그램을 데몬으로 실행하면 서버의 SSH 세션에서 다른 프로세스를 액세스하고 실행할 수 있으며 이러한 프로세스가 없으면 노드 프로세스가 현재 세션의 터미널을 차지합니다.
    pm2를 설치하려면 다음 명령을 실행하십시오.
    sudo npm install pm2 -g
    
    서버 실행을 시작하려면:
    sudo pm2 start build/index.js
    
    pm2 프로세스를 삭제하려면
    sudo pm2 delete <index no of the process>
    

    5단계 보안 그룹 구성


    기본적으로 EC2 인스턴스에 대한 인바운드 트래픽 구성이 구성되어 있지 않으며 누구도 응용 프로그램에 액세스할 수 없습니다.
    빠른 해석
    기본적으로 EC2 전용 외부 IP는 SSH 요청만 찾습니다.일반 웹 페이지와 REST API는 대부분 TCP 프로토콜을 사용하여 데이터를 전송합니다.서버 보안, DDoS 공격(분산 서비스 거부) 방지 및 자산 및 데이터 보안 유지
    프런트엔드 응용 프로그램이 NodeJS 응용 프로그램에서 요청을 보내고 응답을 받을 수 있도록 EC2 실례의 보안 설정을 변경하여 포트를 전송된 TCP 연결에 노출시켜야 합니다.
    EC2 인스턴스의 인바운드 트래픽을 구성하려면 다음 절차를 따르십시오.
  • EC2 인스턴스를 선택하고 설명 섹션에서 보안 그룹 링크를 클릭합니다.
  • 보안 그룹을 클릭하면 보안 그룹 섹션이 열립니다.여기서 우리는 입구와 출구 유량 속성을 설정할 수 있다.응용 프로그램에 액세스하려면 Inbound 탭을 클릭합니다.
  • 인바운드 탭에서 사용 가능한 편집 버튼을 클릭하면 인바운드 규칙 편집 팝업 창이 열립니다.기본적으로 SSH 구성이 표시됩니다.
  • 저희 프로그램은 포트 번호를 원하는 포트로 설정하기 때문에 새로운 규칙인 '사용자 정의 TCP 규칙' 을 추가해야 합니다.
    원하는 포트로 포트 범위를 입력하고 원하는 포트로 소스를 선택합니다.변경된 규칙을 저장하면 언제든지 프로그램에 접근할 수 있습니다.
    이렇게, 동료들!🎊 당신은 NodeJS 응용 프로그램을 생산 환경에 배치하는 방법을 성공적으로 배웠습니다!
    우리는 네가 이 점을 발견할 수 있기를 바란다.
    Dellwebsite을 방문하여 자세한 내용을 확인하고 다음을 확인하십시오.
  • Facebook



  • 좋아하고 평론하는 것도 잊지 마.
    그 전에,
    안전을 유지하고, 원천이 당신과 함께 있기를 바랍니다!

    이 글은 작자 중의 하나이다
    .ltag__user__id__445359.작업 따르기 버튼
    배경색: #1fe069!중요
    색상: #000000!중요
    테두리 색상: #1fe069!중요
    }

    V.Rohan Rao


    Always looking to learn more.


    .ltag__user__id__446710.작업 따르기 버튼
    배경색: #19063A!중요
    색상: #dce9f3!중요
    테두리 색상: #19063A!중요
    }

    라미즈 모라


    exploring myself!

    좋은 웹페이지 즐겨찾기