Ćwiczenie — 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 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>
W oknie usługi Cloud Shell po prawej stronie ekranu wybierz pozycję Ustawienia>Przejdź do wersji klasycznej.
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ć.
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
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 nazwieipaddress
.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 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.