Cvičení – vytvoření virtuálního počítače pro hostování webové aplikace
Aplikaci zásobníku MEAN můžete, stejně jako většinu aplikačních rozhraní, spouštět v mnoha různých prostředích. Můžete ji spustit na fyzickém počítači v serverovně, na virtuálním počítači nebo v kontejnerech.
Tady spustíte aplikaci na virtuálním počítači běžícím v Azure. Zásobník MEAN podporuje různé operační systémy. Pro účely výuky zde používáme Ubuntu Linux.
Poznámka:
Toto cvičení je volitelné. Pokud chcete absolvovat toto cvičení, budete muset před zahájením vytvořit předplatné Azure. Pokud nemáte účet Azure nebo ho v tuto chvíli nechcete vytvořit, můžete si přečíst pokyny, abyste porozuměli zobrazeným informacím.
Poznámka:
K tomu, abyste mohli dokončit kroky v tomto cvičení, musíte použít skupinu zdrojů. Můžete použít skupinu prostředků, kterou jste už vytvořili, nebo můžete vytvořit novou skupinu prostředků speciálně pro toto cvičení. Pokud se rozhodnete vytvořit novou skupinu prostředků, usnadní vám vyčištění všech prostředků, které vytvoříte během dokončování úkolu. Pokud nemáte existující skupinu prostředků nebo chcete vytvořit novou konkrétně pro toto cvičení, můžete postupovat podle kroků v tématu Použití webu Azure Portal a Azure Resource Manageru ke správě skupin prostředků k vytvoření skupiny prostředků pomocí webu Azure Portal nebo můžete postupovat podle kroků v tématu Správa skupin prostředků Azure pomocí Azure CLI a vytvořit skupinu prostředků pomocí Azure CLI.
Vytvoření virtuálního počítače s Ubuntu Linuxem
Obvykle vytvoříte skupinu prostředků před vytvořením dalších prostředků v Azure. Skupina prostředků je kontejner, ve kterém jsou související prostředky řešení Azure. Pokud jste skupinu prostředků ještě nevytvořili, můžete spuštěním následujícího příkazu vytvořit skupinu prostředků v umístění blízko vás.
az group create \
--name <resource-group-name> \
--location <resource-group-location>
Otevřete Azure Cloud Shell a pak vyberte Nastavení>Přejít na klasickou verzi.
Spuštěním příkazu v Cloud Shellu
az vm createvytvořte virtuální počítač s Ubuntu. V následujícím příkladu nahraďte myResourceGroupName názvem existující skupiny prostředků nebo názvem skupiny prostředků, kterou jste vytvořili pro toto cvičení.az vm create \ --resource-group "myResourceGroupName" \ --name MeanStack \ --image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \ --admin-username azureuser \ --generate-ssh-keysProvedení příkazu trvá asi dvě minuty. Po dokončení příkazu se zobrazí výstup podobný tomuto příkladu:
(Output Example) { "fqdns": "", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/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": "myResourceGroupName", "zones": "" }Název virtuálního počítače je MeanStack. Použijete ho v dalších příkazech k identifikaci virtuálního počítače, se kterým budete pracovat.
Otevřete na virtuálním počítači port 80 a povolte příchozí provoz HTTP do webové aplikace, kterou vytvoříte později.
az vm open-port \ --port 80 \ --resource-group "myResourceGroupName" \ --name MeanStackVytvořte připojení SSH k virtuálnímu počítači.
I když výstup příkazu
az vm createzobrazuje veřejnou IP adresu virtuálního počítače, může být užitečné ji uložit do proměnné Bash.Nejprve spusťte příkaz
az vm show. Tímto příkazem uložíte IP adresu do proměnné prostředí Bash s názvemipaddress.ipaddress=$(az vm show \ --name MeanStack \ --resource-group "myResourceGroupName" \ --show-details \ --query [publicIps] \ --output tsv)Připojte se k virtuálnímu počítači:
ssh azureuser@$ipaddressPo zobrazení výzvy zadejte ano, aby se identita virtuálního počítače uložila místně, aby budoucí připojení byla důvěryhodná.
V dalších částech použijete připojení SSH ke konfiguraci softwaru na virtuálním počítači.
Shrnutí
Připravili jste virtuální počítač s Ubuntu a teď jste připraveni na instalaci jednotlivých komponent zásobníku MEAN. Začnete instalací MongoDB.