Erstellen einer PHP-App in App Service unter LinuxCreate a PHP app in App Service on Linux

Hinweis

In diesem Artikel wird eine App in App Service unter Linux bereitgestellt.This article deploys an app to App Service on Linux. Informationen zur Bereitstellung in App Service unter Windows finden Sie unter Erstellen einer PHP-App in Azure.To deploy to App Service on Windows, see Create a PHP app in Azure.

App Service unter Linux bietet einen hochgradig skalierbaren Webhostingdienst mit Self-Patching unter Linux-Betriebssystemen.App Service on Linux provides a highly scalable, self-patching web hosting service using the Linux operating system. In diesem Schnellstart-Tutorial wird erläutert, wie Sie eine PHP-App in Azure App Service unter Linux bereitstellen.This quickstart tutorial shows how to deploy a PHP app to Azure App Service on Linux. Sie erstellen die App mit integriertem Image mithilfe der Azure CLI in Cloud Shell und stellen mit Git den PHP-Code für die App Service-App bereit.You create the app with built-in image using the Azure CLI in Cloud Shell, and you use Git to deploy the PHP code to the App Service app.

In Azure ausgeführte Beispiel-App

Die Schritte in diesem Artikel können unter Mac, Windows oder Linux ausgeführt werden.You can follow the steps in this article using a Mac, Windows, or Linux machine.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

So führen Sie diesen Schnellstart durch:To complete this quickstart:

Herunterladen des BeispielsDownload the sample

Führen Sie in einem Terminalfenster die folgenden Befehle aus, um die Beispielanwendung auf Ihren lokalen Computer zu klonen, und navigieren Sie zum Verzeichnis mit dem Beispielcode.In a terminal window, run the following commands to clone the sample application to your local machine, and navigate to the directory containing the sample code.

git clone https://github.com/Azure-Samples/php-docs-hello-world
cd php-docs-hello-world

Lokales Ausführen der AppRun the app locally

Führen Sie die Anwendung lokal aus, damit Sie sehen, wie sie beim Bereitstellen in Azure aussehen sollte.Run the application locally so that you see how it should look when you deploy it to Azure. Öffnen Sie ein Terminalfenster, und verwenden Sie den Befehl php, um den integrierten PHP-Webserver zu starten.Open a terminal window and use the php command to launch the built-in PHP web server.

php -S localhost:8080

Öffnen Sie einen Webbrowser, und navigieren Sie zu der Beispielapp auf http://localhost:8080.Open a web browser, and navigate to the sample app at http://localhost:8080.

Die Nachricht Hello World!You see the Hello World! aus der Beispiel-App wird auf der Seite angezeigt.message from the sample app displayed in the page.

Lokal ausgeführte Beispiel-App

Drücken Sie in Ihrem Terminalfenster STRG+C, um den Webserver zu beenden.In your terminal window, press Ctrl+C to exit the web server.

Öffnen von Azure Cloud ShellOpen Azure Cloud Shell

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel ausführen können.Azure Cloud Shell is a free, interactive shell that you can use to run the steps in this article. Allgemeine Tools sind in Cloud Shell vorinstalliert und für die Verwendung mit Ihrem Konto konfiguriert.Common Azure tools are preinstalled and configured in Cloud Shell for you to use with your account. Klicken Sie einfach auf die Schaltfläche Kopieren, um den Code zu kopieren. Fügen Sie ihn anschließend in Cloud Shell ein, und drücken Sie die EINGABETASTE, um ihn auszuführen.Just select the Copy button to copy the code, paste it in Cloud Shell, and then press Enter to run it. Cloud Shell kann auf mehrere Arten geöffnet werden:There are a few ways to open Cloud Shell:

Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Cloud Shell in diesem Artikel
Öffnen Sie Cloud Shell in Ihrem Browser.Open Cloud Shell in your browser. https://shell.azure.com/bash
Klicken Sie im Azure-Portal rechts oben im Menü auf die Schaltfläche Cloud Shell:Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Cloud Shell im Portal

Konfigurieren eines BereitstellungsbenutzersConfigure a deployment user

Konfigurieren Sie in Cloud Shell mit dem Befehl az webapp deployment user set Anmeldeinformationen für die Bereitstellung.In the Cloud Shell, configure deployment credentials with the az webapp deployment user set command. Bei der FTP- und der lokalen Git-Bereitstellung für eine Web-App ist dieser Bereitstellungsbenutzer erforderlich.This deployment user is required for FTP and local Git deployment to a web app. Der Benutzername und das Kennwort gelten auf der Kontoebene.The user name and password are account level. Sie unterscheiden sich von den Anmeldeinformationen Ihres Azure-Abonnements.They are different from your Azure subscription credentials.

Ersetzen Sie im folgenden Beispiel <username> und <password> (einschließlich Klammern) durch einen neuen Benutzernamen und ein neues Kennwort.In the following example, replace <username> and <password> (including brackets) with a new user name and password. Der Benutzername muss in Azure eindeutig sein.The user name must be unique within Azure. Das Kennwort muss mindestens acht Zeichen lang sein und zwei der folgenden drei Elemente enthalten: Buchstaben, Zahlen, Symbole.The password must be at least eight characters long, with two of the following three elements: letters, numbers, symbols.

az webapp deployment user set --user-name <username> --password <password>

Sie sollten eine JSON-Ausgabe erhalten, in der das Kennwort als null angezeigt wird.You should get a JSON output, with the password shown as null. Wenn Sie den Fehler 'Conflict'. Details: 409 erhalten, müssen Sie den Benutzernamen ändern.If you get a 'Conflict'. Details: 409 error, change the username. Wenn Sie den Fehler 'Bad Request'. Details: 400 erhalten, müssen Sie ein sichereres Kennwort verwenden.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Sie müssen diesen Bereitstellungsbenutzer nur einmal konfigurieren und können ihn dann für alle Azure-Bereitstellungen verwenden.You need to configure this deployment user only once; you can use it for all your Azure deployments.

Hinweis

Notieren Sie sich den Benutzernamen und das Kennwort.Record the user name and password. Sie benötigen sie später für die Bereitstellung der Web-App.You need them to deploy the web app later.

Erstellen einer RessourcengruppeCreate a resource group

Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen wie Web-Apps, Datenbanken und Speicherkonten bereitgestellt und verwaltet werden.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Sie können z.B. die gesamte Ressourcengruppe später in einem einfachen Schritt löschen.For example, you can choose to delete the entire resource group in one simple step later.

Erstellen Sie in Cloud Shell mit dem Befehl az group create eine Ressourcengruppe.In the Cloud Shell, create a resource group with the az group create command. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort Europa, Westen.The following example creates a resource group named myResourceGroup in the West Europe location. Wenn Sie alle unterstützten Standorte für App Service unter Linux im Basic-Tarif anzeigen möchten, führen Sie den Befehl az appservice list-locations --sku B1 --linux-workers-enabled aus.To see all supported locations for App Service on Linux in Basic tier, run the az appservice list-locations --sku B1 --linux-workers-enabled command.

az group create --name myResourceGroup --location "West Europe"

Im Allgemeinen erstellen Sie Ressourcengruppen und Ressourcen in einer Region in Ihrer Nähe.You generally create your resource group and the resources in a region near you.

Nach Ausführung dieses Befehls werden die Ressourcengruppeneigenschaften in einer JSON-Ausgabe angezeigt.When the command finishes, a JSON output shows you the resource group properties.

Erstellen eines Azure App Service-PlansCreate an Azure App Service plan

Erstellen Sie in Cloud Shell mit dem Befehl az appservice plan create einen App Service-Plan in der Ressourcengruppe.In the Cloud Shell, create an App Service plan in the resource group with the az appservice plan create command.

Im folgenden Beispiel wird ein App Service-Plan mit dem Namen myAppServicePlan in einem Linux-Container (--is-linux) für den Tarif Basic (--sku B1) erstellt.The following example creates an App Service plan named myAppServicePlan in the Basic pricing tier (--sku B1) and in a Linux container (--is-linux).

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku B1 --is-linux

Nach Erstellung des App Service-Plans zeigt die Azure-Befehlszeilenschnittstelle Informationen wie im folgenden Beispiel an:When the App Service plan has been created, the Azure CLI shows information similar to the following example:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Erstellen einer Web-AppCreate a web app

Erstellen Sie eine Web-App im App Service-Plan myAppServicePlan.Create a web app in the myAppServicePlan App Service plan.

In Cloud Shell können Sie den Befehl az webapp create verwenden.In the Cloud Shell, you can use the az webapp create command. Ersetzen Sie im folgenden Beispiel <app_name> durch einen global eindeutigen App-Namen (gültige Zeichen sind a-z, 0-9 und -).In the following example, replace <app_name> with a globally unique app name (valid characters are a-z, 0-9, and -). Die Runtime ist auf PHP|7.0 festgelegt.The runtime is set to PHP|7.0. Führen Sie az webapp list-runtimes --linux aus, um alle unterstützten Laufzeiten anzuzeigen.To see all supported runtimes, run az webapp list-runtimes --linux.

# Bash
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git

Nach Erstellung der Web-App zeigt die Azure CLI eine Ausgabe wie im folgenden Beispiel an:When the web app has been created, the Azure CLI shows output similar to the following example:

Local git is configured with url of 'https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git'
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app_name>.azurewebsites.net",
  "deploymentLocalGitUrl": "https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git",
  "enabled": true,
  < JSON data removed for brevity. >
}

Sie haben eine leere neue Web-App mit aktivierter Git-Bereitstellung erstellt.You’ve created an empty new web app, with git deployment enabled.

Hinweis

Die URL des Git-Remotespeicherorts wird in der deploymentLocalGitUrl-Eigenschaft im Format https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git angezeigt.The URL of the Git remote is shown in the deploymentLocalGitUrl property, with the format https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git. Speichern Sie diese URL, da Sie sie später noch benötigen.Save this URL as you need it later.

Browsen Sie zur Website, um Ihre neu erstellte App mit integriertem Image anzuzeigen.Browse to the site to see your newly created app with built-in image. Ersetzen Sie <app name> durch Ihren App-Namen.Replace <app name> with your app name.

http://<app_name>.azurewebsites.net

Ihre neue App sollte nun wie folgt aussehen:Here is what your new app should look like:

Leere App-Seite

Übertragen von Git an Azure mithilfe von PushPush to Azure from Git

Kehren Sie zum lokalen Terminalfenster zurück, und fügen Sie Ihrem lokalen Git-Repository einen Azure-Remotespeicherort hinzu.Back in the local terminal window, add an Azure remote to your local Git repository. Ersetzen Sie <deploymentLocalGitUrl-from-create-step> durch die URL des Git-Remotespeicherorts, den Sie in Erstellen einer Web-App gespeichert haben.Replace <deploymentLocalGitUrl-from-create-step> with the URL of the Git remote that you saved from Create a web app.

git remote add azure <deploymentLocalGitUrl-from-create-step>

Führen Sie einen Pushvorgang zum Azure-Remotespeicherort durch, um Ihre App mit dem folgenden Befehl bereitzustellen.Push to the Azure remote to deploy your app with the following command. Wenn Sie von der Git-Anmeldeinformationsverwaltung zur Eingabe von Anmeldeinformationen aufgefordert werden, müssen Sie die Anmeldeinformationen eingeben, die Sie in „Konfigurieren eines Bereitstellungsbenutzers“ erstellt haben (nicht die Anmeldeinformationen, die Sie zur Anmeldung beim Azure-Portal verwenden).When prompted for credentials by Git Credential Manager, make sure that you enter the credentials you created in Configure a deployment user, not the credentials you use to sign in to the Azure portal.

git push azure master

Die Ausführung dieses Befehls kann einige Minuten in Anspruch nehmen.This command may take a few minutes to run. Während der Ausführung werden Informationen angezeigt, die den Informationen im folgenden Beispiel ähneln:While running, it displays information similar to the following example:

Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '25f18051e9'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
remote: Copying file: '.gitignore'
remote: Copying file: 'LICENSE'
remote: Copying file: 'README.md'
remote: Copying file: 'index.php'
remote: Ignoring: .git
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.
To https://<app_name>.scm.azurewebsites.net/<app_name>.git
   cc39b1e..25f1805  master -> master

Navigieren zur AppBrowse to the app

Navigieren Sie in Ihrem Webbrowser zu der bereitgestellten Anwendung.Browse to the deployed application using your web browser.

http://<app_name>.azurewebsites.net

Der PHP-Beispielcode wird in App Service unter Linux mit integriertem Image ausgeführt.The PHP sample code is running in App Service on Linux with built-in image.

In Azure ausgeführte Beispiel-App

Glückwunsch!Congratulations! Sie haben Ihre erste PHP-App für App Service unter Linux bereitgestellt.You've deployed your first PHP app to App Service on Linux.

Lokales Aktualisieren und erneutes Bereitstellen des CodesUpdate locally and redeploy the code

Öffnen Sie im lokalen Verzeichnis die Datei index.php innerhalb der PHP-App, und ändern Sie den Text in der Zeichenfolge neben echo geringfügig:In the local directory, open the index.php file within the PHP app, and make a small change to the text within the string next to echo:

echo "Hello Azure!";

Führen Sie für Ihre Änderungen in Git einen Commit aus, und übertragen Sie dann die Codeänderungen mithilfe von Push an Azure.Commit your changes in Git, and then push the code changes to Azure.

git commit -am "updated output"
git push azure master

Wechseln Sie nach Abschluss der Bereitstellung wieder zu dem Browserfenster, das im Schritt Navigieren zur App geöffnet wurde, und aktualisieren Sie die Seite.Once deployment has completed, switch back to the browser window that opened in the Browse to the app step, and refresh the page.

In Azure ausgeführte aktualisierte Beispiel-App

Verwalten Ihrer neuen Azure-AppManage your new Azure app

Wechseln Sie zum Azure-Portal, um die erstellte App zu verwalten.Go to the Azure portal to manage the app you created.

Klicken Sie im linken Menü auf App Services und anschließend auf den Namen Ihrer Azure-App.From the left menu, click App Services, and then click the name of your Azure app.

Portalnavigation zur Azure-App

Die Übersichtsseite Ihrer App wird angezeigt.You see your app's Overview page. Hier können Sie einfache Verwaltungsaufgaben wie Durchsuchen, Beenden, Neustarten und Löschen durchführen.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

App Service-Seite im Azure-Portal

Im linken Menü werden verschiedene Seiten für die Konfiguration Ihrer App angezeigt.The left menu provides different pages for configuring your app.

Bereinigen von RessourcenClean up resources

In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt.In the preceding steps, you created Azure resources in a resource group. Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, löschen Sie die Ressourcengruppe, indem Sie den folgenden Befehl in Cloud Shell ausführen:If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

Die Ausführung dieses Befehls kann eine Minute in Anspruch nehmen.This command may take a minute to run.

Nächste SchritteNext steps