Oefening: een PHP- en MySQL - Flexible Server-app implementeren in Azure-app Service
In deze les bouwt en implementeert u een PHP-voorbeeld-app in Azure-app Service en integreert u deze met Azure Database for MySQL - Flexible Server op de back-end.
STAP 1: Een flexibele Azure Database for MySQL-server maken
Eerst richt u een flexibele MySQL-server in met openbare toegangsconnectiviteit, configureert u firewallregels om de app toegang te geven tot de server en maakt u een productiedatabase.
U gebruikt Azure Portal om de ervaring voor het maken van flexibele MySQL-servers te doorlopen.
Meld u aan bij de Azur-portal met hetzelfde account waarmee u de sandbox hebt geactiveerd.
Voer in het zoekvak boven aan de pagina MySQL in en selecteer vervolgens Flexibele Servers van Azure Database for MySQL.
Selecteer + Maken en selecteer vervolgens Flexibele server op de pagina Flexibele Servers van Azure Database for MySQL.
Voer op de pagina Flexibele server op het tabblad Basisinformatie de gegevens in de volgende tabel in.
Instelling Voorgestelde waarde Abonnement Concierge-abonnement Resourcegroep Selecteer in de vervolgkeuzelijst de resourcegroep die begint met learn- Servernaam Voer een wereldwijd unieke naam in waarmee uw flexibele server wordt geïdentificeerd. MySQL-versie 8.0 Workloadtype Selecteren voor ontwikkeling of hobbyprojecten Gebruikersnaam van beheerder Voer mysqladmin in. Gebruik geen azure_superuser, beheerder, beheerder, hoofdbeheerder, gast of openbaar. Wachtwoord Voer Passw0rd123 in. Het wachtwoord moet tussen 8 en 128 tekens bevatten en tekens bevatten uit drie categorieën: Engelse hoofdletters, Nederlandse kleine letters, cijfers (0 tot en met 9) en niet-analephanumerische tekens (zoals !, $, #, %). Behoud de standaardwaarden voor alle andere instellingen.
Selecteer Op het tabblad Basisbeginselen onder Compute + Storage de optie Server configureren.
Configureer op de pagina Compute + Storage de volgende instellingen:
-
Compute
- Selecteer de Burstable-rekenlaag .
- Selecteer in de vervolgkeuzelijst Compute-grootteStandard_B1s (1 vCore, 1 GiB-geheugen, maximaal 400 iops).
-
Storage
- Controleer of de opslaggrootte (in GB) is ingesteld op 20.
- Selecteer vooraf ingerichte IOPS en laat de waarde ingesteld op 360.
- Controleer of het selectievakje Automatische groei van opslag is ingeschakeld.
-
Hoge beschikbaarheid
- Controleer of het selectievakje Hoge beschikbaarheid inschakelen niet is ingeschakeld.
-
Back-ups
- Controleer of de bewaarperiode voor back-ups (in dagen) is ingesteld op 7.
- Controleer of het selectievakje Herstellen na regionale storing of noodgeval niet is ingeschakeld.
-
Compute
Selecteer Opslaan en navigeer naar het tabblad Netwerken .
Selecteer op het tabblad Netwerken de connectiviteitsmethode Openbare toegang (toegestane IP-adressen), schakel openbare toegang tot deze resource via internet toestaan in met behulp van een openbaar IP-adres en schakel openbare toegang vanuit elke Azure-service in Azure naar deze server toe, zoals wordt weergegeven in de volgende schermopname.
Selecteer Beoordelen en maken om de configuratie van uw flexibele MySQL-server te controleren.
Selecteer Maken om de server in te richten. Het inrichten kan tot 10 minuten duren.
Nadat de implementatie is voltooid, selecteert u Ga naar de resource om de overzichtspagina van de flexibele Azure Database for MySQL-server weer te geven.
Voor de rest van deze oefening voert u de opdrachten uit met behulp van de Azure Cloud Shell, die rechts van dit venster wordt weergegeven.
Voer de volgende opdracht uit om een nieuwe MySQL-productiedatabasevoorbeelddb te maken voor gebruik met de PHP-app:
az mysql flexible-server db create \
--resource-group <rgn>[Sandbox resource group name]</rgn> \
--server-name <your-mysql-server-name> \
--database-name sampledb
STAP 2: uw app klonen
Voor deze oefening gebruikt u een PHP-voorbeeld-app die een productcatalogus weergeeft en beheert. De app biedt basisfunctionaliteiten zoals het weergeven van de producten in de catalogus, het toevoegen van nieuwe producten, het bijwerken van de prijzen van bestaande artikelen en het verwijderen van producten.
U kloont de gecodeerde app rechtstreeks en leert hoe u deze implementeert op Azure-app Service.
Notitie
Voor meer informatie over de app-code gaat u verder en verkent u de app in de GitHub-opslagplaats.
Voer de volgende opdrachten uit om de opslagplaats voor de voorbeeld-app te klonen en over te schakelen naar de hoofdmap van de opslagplaats:
git clone https://github.com/Azure-Samples/php-mysql-app-service.git cd php-mysql-app-service
Voer de volgende opdracht uit om ervoor te zorgen dat de standaardbranch is
main
.git branch -m main
STAP 3: Een Azure-app Service-web-app maken en configureren
In Azure-app Service (Web Apps, API Apps of Mobile Apps) wordt een app altijd uitgevoerd in een App Service-plan. Een App Service-plan definieert een set rekenresources waarmee een web-app kan worden uitgevoerd. In deze stap maakt u een Azure-app Service-plan en een App Service-web-app hierin, die als host fungeert voor de voorbeeld-app.
Voer de volgende opdracht uit om een App Service-plan te maken in de prijscategorie Gratis:
az appservice plan create --name plan-learn \ --resource-group <rgn>[Sandbox resource group name]</rgn> \ --location centralus \ --sku FREE --is-linux
Als u een app wilt implementeren in een Azure-web-app met behulp van implementatiemethoden zoals FTP of Lokale Git, moet u een implementatiegebruiker met gebruikersnaam en wachtwoordreferenties configureren. Nadat u de implementatiegebruiker hebt geconfigureerd, kunt u hiervan profiteren voor al uw Azure-app Service-implementaties.
az webapp deployment user set \ --user-name <your-deployment-username> \ --password <your-deployment-password>
Voer de volgende opdracht uit om een App Service-web-app te maken met PHP 8.0-runtime en om de optie lokale Git-implementatie te configureren om uw app te implementeren vanuit een Git-opslagplaats op uw lokale computer.
Opmerking: Vervang door
<your-app-name>
een wereldwijd unieke app-naam (geldige tekens zijn a-z, 0-9 en -).az webapp create \ --resource-group <rgn>[Sandbox resource group name]</rgn> \ --plan plan-learn \ --name <your-app-name> \ --runtime "PHP|8.0" \ --deployment-local-git
Belangrijk
In de Azure CLI-uitvoer wordt de URL van de externe Git weergegeven in de
deploymentLocalGitUrl
eigenschap, met de indelinghttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Sla deze URL op, omdat u deze later nodig hebt.Het
config.php
bestand in de PHP-voorbeeld-app haalt de databaseverbindingsgegevens (servernaam, databasenaam, gebruikersnaam en wachtwoord van de server) op uit omgevingsvariabelen met behulp van degetenv()
functie. Voer in App Service de volgende opdracht uit om omgevingsvariabelen in te stellen als toepassingsinstellingen (appsettings):az webapp config appsettings set \ --name <your-app-name> \ --resource-group <rgn>[Sandbox resource group name]</rgn> \ --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \ DB_DATABASE="sampledb" \ DB_USERNAME="<your-mysql-admin-username>" \ DB_PASSWORD="<your-mysql-admin-password>" \ MYSQL_SSL="true"
Met deze opdracht hierboven configureert u de verbindingsinstellingen voor de mySQL flexibele serverdatabase in de web-app.
STAP 4: Uw app implementeren met behulp van lokale Git
Nu implementeert u de PHP-voorbeeld-app in Azure-app Service met behulp van de optie Lokale Git-implementatie.
Omdat u de hoofdvertakking implementeert, moet u de standaardimplementatiebranch voor uw App Service-app instellen op main. Voer de volgende opdracht uit om de DEPLOYMENT_BRANCH in te stellen onder Toepassingsinstellingen:
az webapp config appsettings set \ --name <your-app-name> \ --resource-group <rgn>[Sandbox resource group name]</rgn> \ --settings DEPLOYMENT_BRANCH='main'
Controleer of u zich in de hoofdmap van de app-opslagplaats bevindt.
Als u een externe Azure-opslagplaats wilt toevoegen aan uw lokale Git-opslagplaats, voert u de volgende opdracht uit.
Opmerking: Vervang door
<deploymentLocalGitUrl>
de URL van de externe Git-app die u hebt opgeslagen in de stap Een App Service-web-app maken.git remote add azure <deploymentLocalGitUrl>
Als u uw app wilt implementeren door een externe
git push
Azure-app uit te voeren, voert u de volgende opdracht uit. Wanneer Git Credential Manager u om referenties vraagt, voert u de implementatiereferenties in die u hebt gemaakt in de stap Een implementatiegebruiker configureren.git push azure main
Het kan enkele minuten duren voordat de implementatie is voltooid.
STAP 5: Uw app testen
Test ten slotte de app door te bladeren naar en vervolgens items uit de productcatalogus toe te https://<app-name>.azurewebsites.net
voegen, weer te geven, bij te werken of te verwijderen.
Gefeliciteerd U hebt een PHP-voorbeeld-app geïmplementeerd in Azure-app Service en deze geïntegreerd met Azure Database for MySQL - Flexible Server op de back-end.