Snabb start: skapa en python-app med Azure App Service på LinuxQuickstart: Create a Python app using Azure App Service on Linux

I den här snabb starten distribuerar du en python-webbapp till app service på Linux, Azures mycket skalbara, självkorrigerande webb värd tjänst.In this quickstart, you deploy a Python web app to App Service on Linux, Azure's highly scalable, self-patching web hosting service. Du använder det lokala Azures kommando rads gränssnitt (CLI) på en Mac-, Linux-eller Windows-dator för att distribuera ett prov med antingen flaska eller django-ramverk.You use the local Azure command-line interface (CLI) on a Mac, Linux, or Windows computer to deploy a sample with either the Flask or Django frameworks. Webbappen som du konfigurerar använder en kostnads fri App Service nivå, så du debiteras inte några kostnader i samband med den här artikeln.The web app you configure uses a free App Service tier, so you incur no costs in the course of this article.

Tips

Om du föredrar att använda Visual Studio Code i stället följer du vår Visual Studio code App Service snabb start.If you prefer using Visual Studio Code instead, follow our Visual Studio Code App Service quickstart.

Konfigurera din inledande miljöSet up your initial environment

  1. Ha ett Azure-konto med en aktiv prenumeration.Have an Azure account with an active subscription. Skapa ett konto kostnads fritt.Create an account for free.
  2. Installera Python 3,6 eller högre.Install Python 3.6 or higher.
  3. Installera Azure CLI -2.0.80 eller högre, med vilken du kör kommandon i alla gränssnitt för att etablera och konfigurera Azure-resurser.Install the Azure CLI 2.0.80 or higher, with which you run commands in any shell to provision and configure Azure resources.

Öppna ett terminalfönster och kontrol lera att python-versionen är 3,6 eller högre:Open a terminal window and check your Python version is 3.6 or higher:

python3 --version

Kontrol lera att din Azure CLI-version är 2.0.80 eller högre:Check that your Azure CLI version is 2.0.80 or higher:

az --version

Logga sedan in på Azure via CLI:Then sign in to Azure through the CLI:

az login

Det här kommandot öppnar en webbläsare för att samla in dina autentiseringsuppgifter.This command opens a browser to gather your credentials. När kommandot har slutförts visas JSON-utdata som innehåller information om dina prenumerationer.When the command finishes, it shows JSON output containing information about your subscriptions.

När du har loggat in kan du köra Azure-kommandon med Azure CLI för att arbeta med resurser i din prenumeration.Once signed in, you can run Azure commands with the Azure CLI to work with resources in your subscription.

Har du problem?Having issues? Berätta för oss.Let us know.

Klona exempletClone the sample

Klona exempel lagrings platsen med följande kommando och navigera till mappen exempel.Clone the sample repository using the following command and navigate into the sample folder. (Installera git om du inte redan har git.)(Install git if you don't have git already.)

git clone https://github.com/Azure-Samples/python-docs-hello-world
git clone https://github.com/Azure-Samples/python-docs-hello-django

Exemplet innehåller en Framework-speciell kod som Azure App Service känner igen när appen startas.The sample contains framework-specific code that Azure App Service recognizes when starting the app. Mer information finns i behållare start process.For more information, see Container startup process.

Har du problem?Having issues? Berätta för oss.Let us know.

Kör exempletRun the sample

  1. Navigera till i mappen python-dok-Hello-World :Navigate into in the python-docs-hello-world folder:

    cd python-docs-hello-world
    
  2. Skapa en virtuell miljö och installera beroenden:Create a virtual environment and install dependencies:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    

    Om du stöter på "[errno 2] ingen sådan fil eller katalog:" requirements.txt ". se till att du är i mappen python-dok-Hello-World .If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-world folder.

  3. Kör utvecklings servern.Run the development server.

    flask run
    

    Som standard förutsätter servern att appens inmatnings modul är i app.py, som används i exemplet.By default, the server assumes that the app's entry module is in app.py, as used in the sample.

    Om du använder ett annat Modulnamn anger du FLASK_APP miljövariabeln till det namnet.If you use a different module name, set the FLASK_APP environment variable to that name.

    Om du får fel meddelandet "Det gick inte att hitta något kolv program.If you encounter the error, "Could not locate a Flask application. Du angav inte miljövariabeln FLASK_APP, och det gick inte att hitta en wsgi.py-eller app.py-modul i den aktuella katalogen. kontrol lera att du är i python-docs-hello-world mappen som innehåller exemplet.You did not provide the 'FLASK_APP' environment variable, and a 'wsgi.py' or 'app.py' module was not found in the current directory.", make sure you're in the python-docs-hello-world folder that contains the sample.

  4. Öppna en webbläsare och gå till exempel appen på http://localhost:5000/ .Open a web browser and go to the sample app at http://localhost:5000/. Appen visar meddelandet Hej, World!.The app displays the message Hello, World!.

    Kör en exempel-python-app lokalt

  5. Tryck på CTRL + C i terminalfönstret för att avsluta utvecklings servern.In your terminal window, press Ctrl+C to exit the development server.

  1. Navigera till mappen python-dok-Hello-django :Navigate into the python-docs-hello-django folder:

    cd python-docs-hello-django
    
  2. Skapa en virtuell miljö och installera beroenden:Create a virtual environment and install dependencies:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    

    Om du stöter på "[errno 2] ingen sådan fil eller katalog:" requirements.txt ". se till att du är i mappen python-dokument-Hello-django .If you encounter "[Errno 2] No such file or directory: 'requirements.txt'.", make sure you're in the python-docs-hello-django folder.

  3. Kör utvecklings servern.Run the development server.

    python manage.py runserver
    
  4. Öppna en webbläsare och gå till exempel appen på http://localhost:8000/ .Open a web browser and go to the sample app at http://localhost:8000/. Appen visar meddelandet Hej, World!.The app displays the message Hello, World!.

    Kör en exempel-python-app lokalt

  5. Tryck på CTRL + C i terminalfönstret för att avsluta utvecklings servern.In your terminal window, press Ctrl+C to exit the development server.

Har du problem?Having issues? Berätta för oss.Let us know.

Distribuera exempletDeploy the sample

Distribuera koden i din lokala mapp (python-dok-Hello-World) med hjälp av az webapp up kommandot:Deploy the code in your local folder (python-docs-hello-world) using the az webapp up command:

az webapp up --sku B1 --name <app-name>
  • Om az kommandot inte känns igen kontrollerar du att Azure CLI är installerat enligt beskrivningen i Konfigurera din första miljö.If the az command isn't recognized, be sure you have the Azure CLI installed as described in Set up your initial environment.
  • Om webapp kommandot inte känns igen, eftersom din Azure CLI-version är 2.0.80 eller högre.If the webapp command isn't recognized, because that your Azure CLI version is 2.0.80 or higher. Om inte, installerar du den senaste versionen.If not, install the latest version.
  • Ersätt <app_name> med ett namn som är unikt för alla Azure (giltiga tecken är a-z , 0-9 och -).Replace <app_name> with a name that's unique across all of Azure (valid characters are a-z, 0-9, and -). Ett utmärkt mönster är att använda en kombination av företagets namn och en app-ID.A good pattern is to use a combination of your company name and an app identifier.
  • --sku B1Argumentet skapar webbappen på den grundläggande pris nivån, vilket innebär en liten Tim kostnad.The --sku B1 argument creates the web app on the Basic pricing tier, which incurs a small hourly cost. Utelämna det här argumentet om du vill använda en snabbare Premium-nivå.Omit this argument to use a faster premium tier.
  • Du kan också inkludera argumentet --location <location-name> där <location_name> är en tillgänglig Azure-region.You can optionally include the argument --location <location-name> where <location_name> is an available Azure region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom att köra az account list-locations kommandot.You can retrieve a list of allowable regions for your Azure account by running the az account list-locations command.
  • Om du ser felet "Det gick inte att automatiskt identifiera körnings stacken för appen" måste du kontrol lera att du kör kommandot i mappen python-dok-Hello-World (kolv) eller python-django-Hello- folder (django) som innehåller requirements.txt -filen.If you see the error, "Could not auto-detect the runtime stack of your app," make sure you're running the command in the python-docs-hello-world folder (Flask) or the python-docs-hello-django folder (Django) that contains the requirements.txt file. (Mer information finns i Felsöka problem med automatisk identifiering med AZ webapp up (GitHub).)(See Troubleshooting auto-detect issues with az webapp up (GitHub).)

Det kan ta några minuter att slutföra kommandot.The command may take a few minutes to complete. Under körningen innehåller den meddelanden om att skapa resurs gruppen, App Service plan och värd appen, Konfigurera loggning och sedan utföra ZIP-distribution.While running, it provides messages about creating the resource group, the App Service plan and hosting app, configuring logging, then performing ZIP deployment. Det ger meddelandet "du kan starta appen på http:// < App-Name > . azurewebsites.net", som är appens URL på Azure.It then gives the message, "You can launch the app at http://<app-name>.azurewebsites.net", which is the app's URL on Azure.

Exempel på utdata från kommandot AZ webapp up

Har du problem?Having issues? Se först i fel söknings guiden, annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Anteckning

Kommandot az webapp up utför följande åtgärder:The az webapp up command does the following actions:

Bläddra till appenBrowse to the app

Bläddra till det distribuerade programmet i webbläsaren på webb adressen http://<app-name>.azurewebsites.net .Browse to the deployed application in your web browser at the URL http://<app-name>.azurewebsites.net. Det kan ta en minut eller två innan appen startas, så om du ser en standard-app-sida väntar du en minut och uppdaterar webbläsaren.It can take a minute or two for the the app to start, so if you see a default app page, wait a minute and refresh the browser.

Python-exempel koden kör en Linux-behållare i App Service med hjälp av en inbyggd avbildning.The Python sample code is running a Linux container in App Service using a built-in image.

Köra en python-app i Azure

Grattis!Congratulations! Du har distribuerat din python-app till App Service.You've deployed your Python app to App Service.

Har du problem?Having issues? Se först i fel söknings guiden, annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Distribuera om uppdateringarRedeploy updates

I det här avsnittet gör du en liten kod ändring och distribuerar sedan om koden till Azure.In this section, you make a small code change and then redeploy the code to Azure. Kod ändringen innehåller en print instruktion för att generera logga utdata som du arbetar med i nästa avsnitt.The code change includes a print statement to generate logging output that you work with in the next section.

Öppna app.py i en redigerare och uppdatera hello funktionen så att den matchar följande kod.Open app.py in an editor and update the hello function to match the following code.

def hello():
    print("Handling request to home page.")
    return "Hello, Azure!"

Öppna Hej/vyer. py i en redigerare och uppdatera hello funktionen så att den matchar följande kod.Open hello/views.py in an editor and update the hello function to match the following code.

def hello(request):
    print("Handling request to home page.")
    return HttpResponse("Hello, Azure!")

Spara ändringarna och distribuera sedan om appen med az webapp up kommandot igen:Save your changes, then redeploy the app using the az webapp up command again:

az webapp up

Det här kommandot använder värden som cachelagras lokalt i Azure/config -filen, inklusive app-namn, resurs grupp och App Service plan.This command uses values that are cached locally in the .azure/config file, including the app name, resource group, and App Service plan.

När distributionen är klar går du tillbaka till webbläsarfönstret öppna till http://<app-name>.azurewebsites.net .Once deployment is complete, switch back to the browser window open to http://<app-name>.azurewebsites.net. Uppdatera sidan, som ska visa det ändrade meddelandet:Refresh the page, which should display the modified message:

Köra en uppdaterad exempel-python-app i Azure

Har du problem?Having issues? Se först i fel söknings guiden, annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Tips

Visual Studio Code tillhandahåller kraftfulla tillägg för python och Azure App Service, vilket fören klar processen att distribuera python-webbappar till App Service.Visual Studio Code provides powerful extensions for Python and Azure App Service, which simplify the process of deploying Python web apps to App Service. Mer information finns i distribuera python-appar till App Service från Visual Studio Code.For more information, see Deploy Python apps to App Service from Visual Studio Code.

StrömningsloggarStream logs

Du kan komma åt konsol loggarna som genereras inifrån appen och den behållare där den körs.You can access the console logs generated from inside the app and the container in which it runs. Loggar innehåller alla utdata som genereras med hjälp av print instruktioner.Logs include any output generated using print statements.

Om du vill strömma loggar kör du kommandot AZ webapp log pilslut :To stream logs, run the az webapp log tail command:

az webapp log tail

Du kan också ta med --logs parametern med az webapp up kommandot för att automatiskt öppna logg strömmen vid distributionen.You can also include the --logs parameter with then az webapp up command to automatically open the log stream on deployment.

Uppdatera appen i webbläsaren för att generera konsol loggar som innehåller meddelanden som beskriver HTTP-begäranden till appen.Refresh the app in the browser to generate console logs, which include messages describing HTTP requests to the app. Om inga utdata visas omedelbart, försök igen om 30 sekunder.If no output appears immediately, try again in 30 seconds.

Du kan även granska loggfilerna från din webbläsare via https://<app-name>.scm.azurewebsites.net/api/logs/docker.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Tryck på CTRL + C i terminalen om du vill stoppa logg strömningen när som helst.To stop log streaming at any time, press Ctrl+C in the terminal.

Har du problem?Having issues? Berätta för oss.Let us know.

Hantera Azure-appenManage the Azure app

Gå till Azure-portalen för att hantera den app som du skapade.Go to the Azure portal to manage the app you created. Sök efter och välj app Services.Search for and select App Services.

Navigera till App Services i Azure Portal

Välj namnet på din Azure-App.Select the name of your Azure app.

Navigera till python-appen i App Services i Azure Portal

När du väljer appen öppnas sidan Översikt där du kan utföra grundläggande hanterings åtgärder som att bläddra, stoppa, starta, starta om och ta bort.Selecting the app opens its Overview page, where you can perform basic management tasks like browse, stop, start, restart, and delete.

Hantera din python-app på sidan Översikt i Azure Portal

App Service-menyn innehåller olika sidor för att konfigurera din app.The App Service menu provides different pages for configuring your app.

Har du problem?Having issues? Se först i fel söknings guiden, annars kan du berätta för oss.Refer first to the Troubleshooting guide, otherwise, let us know.

Rensa resurserClean up resources

I de föregående stegen skapade du Azure-resurser i en resursgrupp.In the preceding steps, you created Azure resources in a resource group. Resurs gruppen har ett namn som "appsvc_rg_Linux_CentralUS" beroende på din plats.The resource group has a name like "appsvc_rg_Linux_CentralUS" depending on your location. Om du håller webbappen igång kommer du att få några pågående kostnader (se App Service priser).If you keep the web app running, you will incur some ongoing costs (see App Service pricing).

Om du inte tror att du behöver dessa resurser i framtiden tar du bort resurs gruppen genom att köra följande kommando:If you don't expect to need these resources in the future, delete the resource group by running the following command:

az group delete --no-wait

Kommandot använder resurs grupps namnet cachelagrat i . Azure/config- filen.The command uses the resource group name cached in the .azure/config file.

--no-waitArgumentet tillåter att kommandot returneras innan åtgärden har slutförts.The --no-wait argument allows the command to return before the operation is complete.

Har du problem?Having issues? Berätta för oss.Let us know.

Nästa stegNext steps