Dela via


Snabbstart: Skapa en virtuell Linux-serverdator med hjälp av Azure CLI i Azure Stack Hub

Du kan skapa en virtuell Ubuntu Server 20.04 LTS-dator (VM) med hjälp av Azure CLI. I den här artikeln skapar och använder du en virtuell dator. Den här artikeln visar också hur du:

  • Anslut till den virtuella datorn med en fjärrklient.
  • Installera en NGINX-webbserver och visa standardstartsidan.
  • Rensa oanvända resurser.

Förutsättningar

Kontrollera att du har följande förutsättningar innan du börjar:

  • En Linux-avbildning på Azure Stack Hub Marketplace

    Azure Stack Hub Marketplace innehåller inte en Linux-avbildning som standard. Låt Azure Stack Hub-operatorn tillhandahålla den Ubuntu Server 20.04 LTS-avbildning som du behöver. Operatören kan använda anvisningarna i Ladda ned Marketplace-objekt från Azure till Azure Stack Hub.

  • Azure Stack Hub kräver en specifik version av Azure CLI för att skapa och hantera dess resurser. Om du inte har konfigurerat Azure CLI för Azure Stack Hub loggar du in på en Windows-baserad extern klient om du är ansluten via VPN och följer anvisningarna för att installera och konfigurera Azure CLI.

  • En offentlig SSH-nyckel (Secure Shell) med namnet id_rsa.pub sparad i .ssh-katalogen för din Windows-användarprofil. Mer information om hur du skapar SSH-nycklar finns i Använda ett SSH-nyckelpar med Azure Stack Hub.

Skapa en resursgrupp

En resursgrupp är en logisk container där du kan distribuera och hantera Azure Stack Hub-resurser. Från ditt integrerade Azure Stack Hub-system kör du kommandot az group create för att skapa en resursgrupp.

Kommentar

Vi tilldelade värden för alla variabler i följande kodexempel. Du kan dock tilldela dina egna värden.

I följande exempel skapas en resursgrupp med namnet myResourceGroup med ett slumpmässigt suffix på den lokala platsen:

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX"
export LOCATION="eastus2"
az group create --name $RESOURCE_GROUP --location $LOCATION

Resultat:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx",
  "location": "local",
  "managedBy": null,
  "name": "myResourceGroupxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Skapa en virtuell dator

Skapa en virtuell dator med kommandot az vm create . Följande exempel skapar en virtuell dator med namnet myVM. Exemplet används Demouser som administratörsanvändarnamn. Ändra dessa värden till något som är lämpligt för din miljö.

export VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
  --resource-group $RESOURCE_GROUP \
  --name $VM_NAME \
  --image "Ubuntu2204" \
  --admin-username "azureuser" \
  --assign-identity \
  --generate-ssh-keys \
  --public-ip-sku Standard \
  --location $LOCATION

Resultat:

{
  "fqdns": "",
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
  "location": "local",
  "name": "myVMxxx",
  "osProfile": {
    "computerName": "myVMxxx",
    "adminUsername": "Demouser"
  },
  "publicIpAddress": "x.x.x.x",
  "powerState": "VM running",
  "provisioningState": "Succeeded"
}

Den offentliga IP-adressen returneras i parametern PublicIpAddress . Observera adressen för senare användning med den virtuella datorn.

Öppna port 80 för webbtrafik

Eftersom den här virtuella datorn kör IIS-webbservern måste du öppna port 80 för Internettrafik. Öppna porten med kommandot az vm open-port :

az vm open-port --port 80 --resource-group $RESOURCE_GROUP --name $VM_NAME

Resultat:

{
  "endPort": 80,
  "name": "openPort80",
  "port": 80,
  "protocol": "Tcp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroupxxx",
  "startPort": 80
}

Använda SSH för att ansluta till den virtuella datorn

Från en klientdator med SSH installerat ansluter du till den virtuella datorn. Om du arbetar med en Windows-klient använder du PuTTY för att skapa anslutningen. Om du vill ansluta till den virtuella datorn kan du använda ssh kommandot .

Installera NGINX-webbservern

Om du vill uppdatera paketresurser och installera det senaste NGINX-paketet kör du följande skript:

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'apt-get -y install nginx')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Visa NGINX-välkomstsidan

När NGINX-webbservern är installerad och port 80 är öppen på den virtuella datorn kan du komma åt webbservern med hjälp av den virtuella datorns offentliga IP-adress. Om du vill göra det öppnar du en webbläsare och går till http://<public IP address>. Du kan också använda curl-kommandot för att visa NGINX-välkomstsidan:

export PUBLIC_IP=$(az vm show -d -g $RESOURCE_GROUP -n $VM_NAME --query publicIps -o tsv)

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'curl -v http://localhost')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Resultat:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
  body {
    width: 35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
  }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Välkomstsidan för NGINX-webbservern

Nästa steg

I den här snabbstarten distribuerade du en grundläggande virtuell Linux-serverdator med en webbserver. Mer information om virtuella Azure Stack Hub-datorer finns i Överväganden för virtuella datorer i Azure Stack Hub.