Implementeren op Azure
Voor deze oefening is een sandbox vereist. Een sandbox geeft u toegang tot gratis-resources. Er worden geen kosten in rekening gebracht voor uw persoonlijke abonnement.
U kunt de sandbox alleen gebruiken om de training op Microsoft Learn te voltooien. Het gebruik van de sandbox om een andere reden is verboden en kan leiden tot permanent verlies van toegang tot de sandbox.
Als u uw site beschikbaar wilt maken voor het publiek, implementeert u deze in Azure. U gebruikt de Azure-app Service-extensie in Visual Studio Code om het proces te stroomlijnen.
De Azure-app-service-extensie installeren
Begin met het installeren van de Azure-app Service-extensie in Visual Studio Code:
Selecteer in Visual Studio Code het pictogram Extensies.
Typ App Service in het veld Zoekextensies.
Selecteer Installeren onder Azure-app Service.
Als u de Azure-app-service-extensie al hebt, controleert u of deze is bijgewerkt naar de nieuwste versie. Zie de laatst bijgewerkte datum op de extensiepagina. Als u met de nieuwste versie werkt, ziet u een RESOURCES-knooppunt met een App Services-knooppunt.
De toepassing implementeren
Wanneer u de stappen voor het klonen van de startersopslagplaats hebt gevolgd, moet u ook de map hebben gewijzigd in de startersmap voordat u VS Code opent. De startersmap bevat het manage.py-bestand dat aangeeft aan App Service dat u een Django-web-app implementeert.
Selecteer in Visual Studio Code op de werkbalk het Azure-pictogram.
Selecteer Aanmelden om u aan te melden bij Azure met hetzelfde account dat u hebt gebruikt om de sandbox te maken.
Plaats de muisaanwijzer op de balk RESOURCES van de Azure-extensie en selecteer het + pictogram (plusteken) om een resource te maken.
Als u wordt gevraagd om een abonnement te kiezen, kiest u uw Azure-abonnement.
Selecteer App Service-web-app maken....
Geef een unieke naam op voor uw toepassing.
Selecteer Python 3.9 als runtimestack.
Selecteer een prijscategorie.
De extensie maakt uw webtoepassing. Het proces duurt even.
Wanneer de web-app is gemaakt, wordt u gevraagd om de web-app te implementeren in de App Service, selecteert u Implementeren.
Als u de melding mist om de app te implementeren of als u de melding sluit, kunt u ook implementeren door de App Service te vinden die u hebt gemaakt, erop te klikken en implementeren in web-app te selecteren.
Uw site wordt nu geïmplementeerd.
De databaseserver maken
Maak nu de PostgreSQL-database.
Plaats de muisaanwijzer op de balk RESOURCES van de Azure-extensie en selecteer het + pictogram (plusteken) om een resource te maken.
Als u wordt gevraagd om een abonnement te kiezen, kiest u uw Azure-abonnement.
Selecteer Databaseserver maken....
Selecteer PostgreSQL Flexible Server voor de Azure Database Server.
Voer een unieke naam in voor uw databaseserver.
Belangrijk
Noteer de naam die u voor uw databaseserver gebruikt.
Selecteer de Postgres-SKU en opties.
Voer shelter_admin in als de naam van de gebruiker met beheerdersrechten.
Voer een beveiligd wachtwoord in, zoals '86i^z5#emSk6wu3t10nC*'.
Belangrijk
Wanneer u het wachtwoord maakt, gebruikt u geen dollarteken (
$
). Dit symbool kan problemen veroorzaken voor verbindingen vanuit Python. Noteer het wachtwoord dat u gebruikt.Voer het wachtwoord een tweede keer in om dit te bevestigen.
Selecteer voor de resourcegroep dezelfde resourcegroep waarin uw web-app is gemaakt.
Als u de naam en locatie van de resourcegroep wilt zoeken die wordt gebruikt om de web-app te maken, zoekt u de App Service in de Azure-extensie, klikt u met de rechtermuisknop op de naam en selecteert u Eigenschappen weergeven. In de 'id'-sleutel is de naam van de resourcegroep het onderdeel '/resourceGroups/'. De sleutel 'locatie' toont de locatie.
U kunt ook met de rechtermuisknop op de naam van de App Service klikken en Openen in de portal selecteren om de naam en locatie van de resourcegroep te vinden.
Selecteer voor de locatie voor nieuwe resources dezelfde locatie van de resourcegroep en web-app.
Belangrijk
Wanneer u meerdere Azure-resources maakt die met elkaar communiceren, plaatst u ze altijd in dezelfde regio. Deze collocatie zorgt voor de beste prestaties.
Uw server wordt nu gemaakt. Dit proces duurt enkele minuten.
Een databasefirewallregel maken om toegang vanuit uw ontwikkelomgeving toe te staan
Nadat de database is gemaakt, moet u een firewallregel maken om uw ontwikkelomgeving toegang te geven tot de database. Wacht totdat de database bestaat voordat u de volgende stappen uitvoert om de regel te maken.
Open het opdrachtenpalet van Visual Studio Code met F1 of de toetsencombinatie Ctrl + Shift + P.
Zoek naar 'PostgreSQL: Firewall configureren' en selecteer deze.
Wanneer u wordt gevraagd om de resource waarop de firewall moet worden toegepast, selecteert u de Postgres-database die u hebt gemaakt.
In een laatste dialoogvenster wordt gevraagd door te gaan en wordt het IP-adres weergegeven dat wordt toegevoegd. Selecteer Ja.
Het duurt enkele minuten om de regel toe te voegen. Bekijk het meldingsvenster van VS Code voor status.
Een database maken op de databaseserver
Nu u App Service hebt geconfigureerd en de server hebt gemaakt, kunt u de database maken in de Postgres-databaseserver.
Vouw in de RESOURCES van de Azure Tools-extensie het knooppunt PostgreSQL-servers (flexibel) uit en zoek de server die u hebt gemaakt.
Klik met de rechtermuisknop op de naam van de databaseserver en selecteer Database maken.
Ga naar schuilplaatsen.
Uw database wordt gemaakt.
Toegang tot de databaseserver vanuit App Service toestaan
In deze oefening hebt u ook de web-app voor hondenschuilplaatsen nodig die wordt gehost in Azure-app Service om verbinding te maken met de Flexibele Server van Azure Database for PostgreSQL. Wanneer een toepassing in Azure verbinding probeert te maken met uw databaseserver, controleert de firewall of Azure-verbindingen zijn toegestaan. Hierboven hebt u verbindingen vanuit uw lokale omgeving toegestaan. Nu moet u ook verbindingen vanuit App Service toestaan.
Vouw in VS Code in de RESOURCES van de Azure Tools-extensie het knooppunt PostgreSQL-servers (flexibel) uit en zoek de server die u hebt gemaakt.
Klik met de rechtermuisknop op de naam van uw databaseserver en selecteer Openen in de portal.
Selecteer de netwerkresource van de Postgres-server.
Selecteer Openbare toegang toestaan vanuit een Azure-service in Azure naar deze serveroptie in de portal op het tabblad Netwerken en selecteer Opslaan.
Toepassingsinstellingen voor de web-app configureren
App Service gebruikt de toepassingsinstellingen om omgevingsvariabelen te configureren. Instellingen zijn een handige manier om gegevens op te slaan die u niet in uw code moet plaatsen, zoals database-verbindingsreeks s.
Vouw onder App Service het sandbox-abonnement uit. Vouw vervolgens uw toepassing uit.
Als u de eerste toepassingsinstelling wilt maken, klikt u met de rechtermuisknop op Toepassing Instellingen en selecteert u Nieuwe instelling toevoegen.
Voer in het eerste veld de naam DBUSER in.
Voer in het tweede veld de waarde in shelter_admin.
Herhaal de voorgaande stappen om de overige instellingen te maken:
Naam Weergegeven als DBHOST <The server name you created previously>
DBPASS <The password you created previously>
DBUSER shelter_admin
DBNAME shelters
SECRET_KEY <Generate a secure password>
Notitie
Vervang de DBHOST- en DBPASS-waarden door de waarden die u eerder in deze oefening hebt gemaakt. Maak een nieuw wachtwoord voor SECRET_KEY.
Alle benodigde omgevingsvariabelen worden nu gemaakt in uw App Service.
Het schema en de superuser maken
De laatste stap in de implementatie is het instellen van de database. In lokale ontwikkeling voert python manage.py migrate
u het databaseschema en de supergebruiker uit en python manage.py createsuperuser
maakt u deze. In Azure doet u hetzelfde.
U maakt verbinding met de webserver in Azure met behulp van Secure Shell (SSH). U kunt de verbinding maken in Visual Studio Code, zoals hieronder wordt weergegeven.
Klik in de App Service-extensie met de rechtermuisknop op uw app-service en selecteer vervolgens SSH in Web App.
Er wordt een SSH-verbinding gemaakt met uw webserver in Azure. Dit proces kan enkele minuten duren. Er wordt een terminalvenster weergegeven in Visual Studio Code. Deze terminal is de SSH-verbinding met uw webserver. Als u problemen ondervindt bij het maken van verbinding, raadpleegt u de onderstaande stappen voor probleemoplossing.
Belangrijk
Als u een foutbericht krijgt waarin staat dat u SSL voor de database moet inschakelen, moet u ervoor zorgen dat u alle omgevingsvariabelen correct hebt gemaakt.
Voer in het deelvenster SSH-terminal de volgende opdrachten uit om ervoor te zorgen dat de juiste bibliotheken zijn geïnstalleerd en om de database te maken.
# Run database migrations python manage.py makemigrations dog_shelters python manage.py migrate
Maak uw superuser door de volgende opdracht uit te voeren.
python manage.py createsuperuser
Geef een naam, e-mailadres en wachtwoord op voor de supergebruiker.
Nadat u de superuser hebt gemaakt, voert u de opdracht
exit
uit om de verbinding te sluiten.
Uw database is nu geconfigureerd in Azure en u hebt een supergebruiker voor uw site.
Problemen met SSH oplossen
Als u vanuit VS Code geen verbinding kunt maken met SSH, kunt u het volgende proberen:
Ga naar de azure-portalpagina voor de App Service en open daar SSH. Klik in VS Code met de rechtermuisknop op de naam van de App Service en selecteer Openen in de portal. Ga op de portalpagina voor de App Service naar de SSH-resources in het linkerresourcedeelvenster.
Controleer of App Service die als host fungeert voor de web-app correct is gestart. Als er een implementatiefout of coderingsprobleem is opgetreden, is de App Service mogelijk niet gestart en kunt u er geen SSH in opnemen. Ga op de portalpagina voor de App Service naar het deelvenster Problemen vaststellen en oplossen in het linkerresourcedeelvenster om te zoeken naar problemen.
Lees meer over SSH in App Service.
Ga naar uw site
Nu u alles hebt geïmplementeerd en geconfigureerd, kunt u uw website bekijken in Azure.
Klik in de App Service-extensie met de rechtermuisknop op de naam van uw site en selecteer Vervolgens Bladeren website.
Uw website wordt nu weergegeven. Op de standaardpagina worden geen schuilplaatsen weergegeven. Om schuilplaatsen toe te voegen:
Ga naar het Django-beheergedeelte van de site door de URL van de website toe te voegen met '/admin'.
U wordt gevraagd om u te verifiëren met de naam en het wachtwoord van de supergebruiker die u hierboven hebt gemaakt.
Voeg een schuilplaats toe en ga terug naar de hoofdpagina en je kunt een hond registreren voor dat opvanghuis.
Hier volgt een voorbeeldschermopname van de site:
Als u probeert naar een locatie te gaan die niet op uw site bestaat, krijgt u een algemene fout Niet gevonden omdat DEBUG
deze is uitgeschakeld.
U hebt nu een website geïmplementeerd in Azure.