Distribuera till Azure

Slutförd

Den här övningen kräver en sandbox-miljö. Med en sandbox-miljö får du åtkomst till kostnadsfria resurser. Din personliga prenumeration debiteras inte.

Du kan bara använda sandbox-miljön för att slutföra träningen på Microsoft Learn. Det är förbjudet att använda sandbox-miljön av någon annan anledning och kan leda till permanent förlust av åtkomst till sandbox-miljön.

Om du vill göra webbplatsen tillgänglig för allmänheten distribuerar du den till Azure. Du använder Azure App Service-tillägget i Visual Studio Code för att effektivisera processen.

Installera Azure App Service-tillägget

Börja med att installera Azure App Service-tillägget i Visual Studio Code:

  1. I Visual Studio Code väljer du ikonen Tillägg .

    Screenshot showing the Extensions icon.

  2. I fältet Söktillägg skriver du App Service.

  3. Under Azure App Service väljer du Installera.

Om du redan har Azure App Service-tillägget kontrollerar du att det har uppdaterats till den senaste versionen. Se det senast uppdaterade datumet på tilläggssidan. Om du arbetar med den senaste versionen bör du se en RESURS-nod med en App Services-nod .

Distribuera programmet

När du har följt stegen för att klona startlagringsplatsen bör du också ha ändrat katalogen till startmappen innan du öppnar VS Code. Startkatalogen innehåller filen manage.py som signalerar till App Service att du distribuerar en Django-webbapp.

  1. I Visual Studio Code går du till verktygsfältet och väljer Azure-ikonen .

    Screenshot showing the Azure icon.

  2. Välj Logga in för att logga in på Azure med samma konto som du använde för att skapa sandbox-miljön.

  3. I resursfältet i Azure-tillägget hovrar du och väljer + ikonen (plustecken) för att skapa en resurs.

    Screenshot showing the App Service bar. The Deploy icon is highlighted.

  4. Om du uppmanas att välja en prenumeration väljer du din Azure-prenumeration.

  5. Välj Skapa App Service-webbapp....

    Screenshot showing how to create a new web app.

  6. Ange ett unikt namn för ditt program.

    Screenshot showing where to provide an app name.

  7. Välj Python 3.9 som körningsstack.

    Screenshot showing the runtime stack selection.

  8. Välj en prisnivå.

    Screenshot showing the the pricing tier selection.

    Tillägget skapar webbappen. Processen tar en stund.

  9. När webbappen skapas uppmanas du att distribuera webbappen till App Service och välja Distribuera.

    Screenshot showing the deployment configuration option.

    Om du missar meddelandet om att distribuera appen eller om du stänger meddelandet kan du även distribuera genom att hitta den App Service som du skapade, högerklicka på den och välja Distribuera till webbapp.

Webbplatsen distribueras nu!

Skapa databasservern

Skapa nu PostgreSQL-databasen.

  1. I resursfältet i Azure-tillägget hovrar du och väljer + ikonen (plustecken) för att skapa en resurs.

    Screenshot of the Databases extension, showing the Create Server icon.

  2. Om du uppmanas att välja en prenumeration väljer du din Azure-prenumeration.

  3. Välj Skapa databasserver....

    Screenshot showing how to create a new database server.

  4. För Azure Database Server väljer du PostgreSQL – flexibel server.

    Screenshot showing a list of available database servers.

  5. Ange ett unikt namn för databasservern.

    Viktigt!

    Anteckna namnet som du använder för databasservern.

  6. Välj Postgres SKU och alternativ.

  7. Ange shelter_admin för namnet på administratörsanvändaren.

  8. Ange ett säkert lösenord, till exempel "86i^z5#emSk6wu3t10nC*".

    Viktigt!

    När du skapar lösenordet ska du inte använda ett dollartecken ($). Den här symbolen kan orsaka problem för anslutningar från Python. Anteckna lösenordet som du använder.

  9. Ange lösenordet en andra gång för att bekräfta det.

  10. För resursgruppen väljer du samma resursgrupp som webbappen skapades i.

    Om du vill hitta resursgruppens namn och plats som används för att skapa webbappen letar du upp App Service i Azure-tillägget, högerklickar på namnet och väljer Visa egenskaper. I "ID"-nyckeln är resursgruppens namn den del som följer "/resourceGroups/". Nyckeln "plats" visar platsen.

    Du kan också högerklicka på namnet på App Service och välja Öppna i portalen för att hitta resursgruppens namn och plats.

  11. För platsen för nya resurser väljer du samma plats för resursgruppen och webbappen.

    Viktigt!

    När du skapar flera Azure-resurser som kommunicerar med varandra placerar du dem alltid i samma region. Den här sorteringen garanterar bästa möjliga prestanda.

Servern kommer nu att skapas! Den här processen tar några minuter.

Skapa en databasbrandväggsregel för att tillåta åtkomst från utvecklingsmiljön

När databasen har skapats måste du skapa en brandväggsregel så att utvecklarmiljön kan komma åt databasen. Vänta tills databasen finns innan du följer nästa steg för att skapa regeln.

  1. Öppna Visual Studio Code-kommandopaletten med F1 eller tangentkombinationen Ctrl + Skift + P.

  2. Sök efter "PostgreSQL: Configure Firewall" (PostgreSQL: Konfigurera brandvägg) och välj den.

    Screenshot showing the firewall rule field.

  3. När du uppmanas att använda brandväggen för resursen väljer du den Postgres-databas som du skapade.

  4. I en sista dialogruta uppmanas du att fortsätta och visar den IP-adress som ska läggas till. Välj Ja.

Det tar några minuter att lägga till regeln. Titta på VS Code-meddelandefönstret för status.

Skapa en databas på databasservern

Nu när du har konfigurerat App Service och skapat servern kan du skapa databasen i Postgres-databasservern.

  1. I RESURS FÖR Azure Tools-tillägget expanderar du noden PostgreSQL-servrar (flexibel) och letar reda på den server som du skapade.

  2. Högerklicka på namnet på databasservern och välj Skapa databas.

    Screenshot showing the Create Database selection.

  3. Ange skyddsrum.

Databasen skapas.

Tillåt åtkomst till databasservern från App Service

I den här övningen behöver du även webbappen hundskydd som finns i Azure App Service för att ansluta till Azure Database for PostgreSQL – flexibel server. När ett program i Azure försöker ansluta till databasservern verifierar brandväggen att Azure-anslutningar tillåts. Ovan tillät du anslutningar från din lokala miljö. Nu måste du också tillåta anslutningar från App Service.

  1. I VS Code expanderar du noden PostgreSQL-servrar (flexibel) i RESURSERNA i Azure Tools-tillägget och letar reda på den server som du skapade.

  2. Högerklicka på namnet på databasservern och välj Öppna i portalen.

  3. Välj Nätverksresursen för Postgres-servern.

  4. Välj Tillåt offentlig åtkomst från valfri Azure-tjänst i Azure till det här serveralternativet i portalen på fliken Nätverk och välj Spara.

    Screenshot showing the how to allow public access to database server.

Konfigurera programinställningar för webbappen

App Service använder programinställningarna för att konfigurera miljövariabler. Inställningar är ett praktiskt sätt att lagra information som du inte bör lägga i koden, till exempel databas anslutningssträng.

  1. Under App Service expanderar du sandbox-prenumerationen. Expandera sedan programmet.

  2. Om du vill skapa den första programinställningen högerklickar du på Program Inställningar och väljer sedan Lägg till ny inställning.

    Screenshot showing how to add a new setting.

  3. I det första fältet anger du namnet DBUSER.

  4. I det andra fältet anger du värdet shelter_admin.

  5. Upprepa föregående steg för att skapa de återstående inställningarna:

    Name Värde
    DBHOST <The server name you created previously>
    DBPASS <The password you created previously>
    DBUSER shelter_admin
    DBNAME shelters
    SECRET_KEY <Generate a secure password>

    Kommentar

    Ersätt DBHOST- och DBPASS-värdena med de som du skapade tidigare i den här övningen. Skapa ett nytt lösenord för SECRET_KEY.

Alla nödvändiga miljövariabler skapas nu i apptjänsten.

Skapa schemat och superanvändaren

Det sista steget i distributionen är att konfigurera databasen. I lokal utveckling kör python manage.py migrate du och python manage.py createsuperuser skapar databasschemat och superanvändaren. I Azure gör du samma sak.

Du ansluter till webbservern i Azure med hjälp av Secure Shell (SSH). Du kan upprätta anslutningen i Visual Studio Code enligt nedan.

  1. Högerklicka på apptjänsten i App Service-tillägget och välj sedan SSH i Webbapp.

    Screenshot of the menu for SSH.

    En SSH-anslutning görs till webbservern i Azure. Den här processen kan ta några minuter. Ett terminalfönster visas i Visual Studio Code. Den här terminalen är SSH-anslutningen till webbservern. Om du har problem med att ansluta kan du läsa felsökningsstegen nedan.

    Viktigt!

    Om du får ett felmeddelande om att du behöver aktivera SSL för databasen ska du se till att du har skapat alla miljövariabler korrekt.

  2. I SSH-terminalfönstret kör du följande kommandon för att säkerställa att lämpliga bibliotek är installerade och för att skapa databasen.

    # Run database migrations
    python manage.py makemigrations dog_shelters
    python manage.py migrate
    
  3. Skapa superanvändaren genom att köra följande kommando.

    python manage.py createsuperuser
    
  4. Ange ett namn, en e-postadress och ett lösenord för superanvändaren.

  5. När du har skapat superanvändaren kör du kommandot exit för att stänga anslutningen.

Databasen är nu konfigurerad i Azure och du har en superanvändare för din webbplats.

Felsöka SSH

Om du inte kan ansluta till SSH från VS Code kan du prova följande steg:

  • Gå till Azure Portal-sidan för App Service och få åtkomst till SSH där. Högerklicka på namnet på App Service i VS Code och välj Öppna i portalen. På portalsidan för App Service går du till SSH-resurserna i det vänstra resursfönstret.

  • Kontrollera att App Service som är värd för webbappen har startats korrekt. Om det uppstod ett distributionsfel eller kodningsproblem kanske App Service inte har startat och du kan inte använda SSH i den. På portalsidan för App Service går du till diagnostiken och löser problem i det vänstra resursfönstret för att leta efter problem.

  • Läs mer om SSH i App Service.

Gå till din webbplats

Nu när du har distribuerat och konfigurerat allt kan du visa din webbplats i Azure.

Högerklicka på namnet på din webbplats i App Service-tillägget och välj sedan Bläddra på webbplatsen.

Screenshot showing where to select Browse Website.

Din webbplats visas nu. Standardsidan visar inga skyddsrum. Så här lägger du till skyddsrum:

  1. Gå till Django-administrationsdelen av webbplatsen genom att lägga till webbplats-URL:en "/admin".

    Du uppmanas att autentisera med superanvändarens namn och lösenord som du skapade ovan.

  2. Lägg till ett skydd och gå tillbaka till huvudsidan så kommer du att kunna registrera en hund för det här skyddet.

Här är ett exempel på en skärmbild av webbplatsen:

Screenshot showing Django admin and how to add shelters.

Om du försöker gå till en plats som inte finns på webbplatsen får du ett allmänt Fel som inte hittades eftersom DEBUG är inaktiverat.

Nu har du distribuerat en webbplats till Azure!