Ćwiczenie — tworzenie maszyny wirtualnej do hostowania aplikacji internetowej

Ukończone

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 miejscu uruchomisz aplikację na maszynie wirtualnej uruchomionej na platformie Azure. Stos MEAN obsługuje wiele różnych systemów operacyjnych. W celach szkoleniowych używamy tutaj systemu Ubuntu Linux.

Tworzenie maszyny wirtualnej z systemem Ubuntu Linux

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 w ramach własnej subskrypcji platformy Azure uruchom następujące polecenie, aby utworzyć grupę zasobów w lokalizacji w pobliżu.

Uwaga

Poniższy az group create przykładowy kod służy do uruchamiania przy użyciu własnego konta, a nie tej piaskownicy.

az group create \
  --name <resource-group-name> \
  --location <resource-group-location>
  1. W oknie usługi Cloud Shell po prawej stronie ekranu wybierz pozycję Ustawienia>Przejdź do wersji klasycznej.

  2. W usłudze Cloud Shell uruchom az vm create polecenie , aby utworzyć maszynę wirtualną z systemem Ubuntu:

    az vm create \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack \
      --image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
      --admin-username azureuser \
      --generate-ssh-keys
    

    Wykonanie tego polecenia trwa około 2 minut. Po zakończeniu polecenia zobaczysz dane wyjściowe podobne do tego przykładu:

    (Output Example)
    {
      "fqdns": "",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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ć.

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

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

    Mimo że dane wyjściowe polecenia az vm create wyświetla publiczny adres IP maszyny wirtualnej, warto przechowywać adres 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)
    
  5. Połącz się z maszyną wirtualną w następujący sposób.

    ssh azureuser@$ipaddress
    

    Po wyświetleniu monitu wprowadź tak , aby zapisać tożsamość maszyny wirtualnej lokalnie, aby przyszłe połączenia są zaufane.

    W następnych częściach skonfigurujesz oprogramowanie na maszynie wirtualnej przy użyciu połączenia SSH.

Podsumowanie

Maszyna wirtualna z systemem Ubuntu jest już gotowa, możesz więc zainstalować poszczególne składniki stosu MEAN. Zacznij od zainstalowania bazy danych MongoDB.