Azure Stack Hub에서 VM에 Node.js 웹앱 배포

Azure Stack Hub에서 Node.js 웹앱을 호스트하는 VM(가상 머신)을 만들 수 있습니다. 이 문서에서는 서버를 설정하고, Node.js 웹앱을 호스트하도록 서버를 구성한 다음, Azure Stack Hub에 앱을 배포합니다.

글로벌 Azure에 대한 일반적인 정보를 찾으려면 JavaScript Node.js 개발자용 Azure를 참조하세요. 이 문서는 온-프레미스 버전의 Azure Stack Hub를 사용하기 위한 것입니다.

VM 만들기

  1. Azure Stack Hub에서 웹앱을 호스트하는 Linux VM 배포의 지침에 따라 Azure Stack Hub에서 VM을 설정합니다.

  2. VM 네트워크 창에서 다음 포트에 액세스할 수 있는지 확인합니다.

    포트 프로토콜 Description
    80 HTTP HTTP(Hypertext Transfer Protocol)는 서버에서 웹 페이지를 배달하는 데 사용되는 프로토콜입니다. 클라이언트는 DNS 이름 또는 IP 주소를 사용하여 HTTP를 통해 연결합니다.
    443 HTTPS HTTPS(Hypertext Transfer Protocol Secure)는 보안 인증서가 필요하고 암호화된 정보 전송을 허용하는 보안 버전의 HTTP입니다.
    22 SSH SSH(Secure Shell)는 보안 통신을 위한 암호화된 네트워크 프로토콜입니다. 이 연결을 SSH 클라이언트와 함께 사용하여 VM을 구성하고 앱을 배포합니다.
    3389 RDP 선택 사항입니다. RDP(원격 데스크톱 프로토콜)를 사용하면 원격 데스크톱 연결에서 컴퓨터의 그래픽 사용자 인터페이스를 사용할 수 있습니다.
    3000 사용자 지정 Node.js Express 프레임워크에서 사용하는 포트입니다. 프로덕션 서버의 경우 트래픽을 80 및 443을 통해 라우팅합니다.

노드 설치

  1. SSH 클라이언트를 사용하여 VM에 커넥트. 자세한 내용은 PuTTY를 사용하여 SSH를 통한 커넥트 참조하세요.

  2. VM의 bash 프롬프트에서 다음 명령을 입력합니다.

      sudo apt-get update
      sudo apt-get install nodejs
      sudo apt-get install npm
    

    또한 Node.js 패키지용 패키지 관리자 또는 모듈인 NPM도 설치합니다.

  3. 설치의 유효성을 검사합니다. SSH 세션에서 VM에 연결되어 있는 동안 다음 명령을 입력합니다.

       node --version
    

Express 생성기를 사용하여 새 애플리케이션 스캐폴드

Express는 Node.js 애플리케이션을 빌드하고 실행하는 데 널리 사용되는 프레임워크입니다. Express 생성기 도구를 사용하여 새 Express 애플리케이션을 스캐폴드(만들기)할 수 있습니다. Express 생성기는 npm 모듈로 제공되며 npm 명령줄 도구를 사용하여 직접(설치 없이) 실행할 수 있습니다.

 npx express-generator myExpressApp --view pug --git

--view pug --git 매개 변수는 pug 템플릿 엔진(이전의 jade)을 사용하고 .gitignore 파일을 만들도록 생성기에 지시합니다.

애플리케이션의 모든 종속성을 설치하려면 새 폴더로 이동하여 npm 설치를 실행합니다.

cd myExpressApp
npm install

애플리케이션을 실행합니다. 터미널에서 npm start 명령을 사용하여 애플리케이션을 시작하여 서버를 시작합니다.

웹 브라우저에서 새 서버로 이동합니다. 실행 중인 웹 애플리케이션이 표시됩니다. Azure Stack Hub 사용자 포털에서 DNS 이름으로 레이블이 지정된 Linux VM에 대한 URL을 찾을 수 있습니다.

http://yourhostname.contoso.com:3000

다음 단계