Tworzenie maszyny wirtualnej do hostowania aplikacji internetowej

Tak samo, jak w przypadku większości struktur aplikacji, aplikacje oparte na stosie MEAN można uruchamiać w wielu różnych środowiskach. Możesz uruchomić aplikację na komputerze fizycznym w serwerowni, na maszynie wirtualnej lub w kontenerach.

W tym module uruchomisz aplikację na maszynie wirtualnej działającej na platformie Azure. Stos MEAN obsługuje wiele różnych systemów operacyjnych. Na potrzeby tego szkolenia użyjesz systemu Ubuntu Linux.

Tworzenie maszyny wirtualnej z systemem Ubuntu Linux

Uwaga

Przed kontynuowaniem upewnij się, że masz uaktywnioną piaskownicę.

Na ogół przed utworzeniem jakichkolwiek zasobów na platformie Azure należy utworzyć grupę zasobów. Grupa zasobów to kontener, który zawiera zasoby powiązane z rozwiązaniem platformy Azure. W tym ćwiczeniu piaskownica platformy Azure już udostępnia grupę zasobów. Jednak podczas pracy we własnej subskrypcji platformy Azure użyj następującego polecenia, aby utworzyć grupę zasobów w lokalizacji znajdującej się w pobliżu.

az group create \
  --name <resource-group-name> \
  --location <resource-group-location>
  1. W usłudze Cloud Shell uruchom polecenie az vm create, aby utworzyć maszynę wirtualną z systemem Ubuntu.

    az vm create \
      --resource-group <rgn>[sandbox resource group name]</rgn> \
      --name MeanStack \
      --image Canonical:UbuntuServer:16.04-LTS:latest \
      --admin-username azureuser \
      --generate-ssh-keys
    

    Wykonanie tego polecenia trwa około 2 minut. Po zakończeniu działania polecenia zobaczysz dane wyjściowe podobne do poniższych.

    {
      "fqdns": "",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/MeanStack",
      "location": "eastus",
      "macAddress": "00-0D-3A-1E-1B-3B",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.5",
      "publicIpAddress": "104.211.9.245",
      "resourceGroup": "<rgn>[sandbox resource group name]</rgn>",
      "zones": ""
    }
    

    Nazwa maszyny wirtualnej to „MeanStack”. Ta nazwa będzie używana w kolejnych poleceniach do identyfikowania maszyny wirtualnej, z którą chcesz pracować.

  2. Otwórz port 80 na maszynie wirtualnej, aby zezwolić na ruch przychodzący HTTP do aplikacji internetowej, którą utworzysz później.

    az vm open-port \
      --port 80 \
      --resource-group <rgn>[sandbox resource group name]</rgn> \
      --name MeanStack
    
  3. Utwórz połączenie SSH z maszyną wirtualną.

    Chociaż dane wyjściowe polecenia az vm create zawierają publiczny adres IP maszyny wirtualnej, może być przydatne zapisanie tego adresu w zmiennej powłoki Bash.

    Zacznij od uruchomienia polecenia az vm show. To polecenie zapisuje adres IP w zmiennej powłoki Bash o nazwie ipaddress.

    ipaddress=$(az vm show \
      --name MeanStack \
      --resource-group <rgn>[sandbox resource group name]</rgn> \
      --show-details \
      --query [publicIps] \
      --output tsv)
    

    Połącz się z maszyną wirtualną w następujący sposób.

    ssh azureuser@$ipaddress
    

    Po wyświetleniu monitu wybierz opcję „yes” (tak), aby zapisać tożsamość maszyny wirtualnej lokalnie, dzięki czemu kolejne połączenia będą zaufane.

    Nie zamykaj połączenia SSH. Będziesz używać go do konfigurowania oprogramowania w kolejnych częściach.

Podsumowanie

Maszyna wirtualna z systemem Ubuntu jest już gotowa, możesz więc zainstalować poszczególne składniki stosu MEAN. Na początek zainstalujesz bazę danych MongoDB.