Snabbstart: Skapa en Python-app med Azure App Service på Linux
I den här snabbstarten distribuerar du en Python-webbapp till App Service på Linux, Azures mycket skalbara och självkorrigeringsbara webbvärdtjänst. Du använder det lokala Azure-kommandoradsgränssnittet (CLI) på en Mac-, Linux- eller Windows-dator för att distribuera ett exempel med antingen Flask- eller Django-ramverken. Den webbapp som du konfigurerar använder en grundläggande App Service som medför en liten kostnad i din Azure-prenumeration.
Konfigurera din första miljö
- Ha ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Installera Python 3.6 eller senare.
- Installera Azure CLI som dukör kommandon med i alla gränssnitt för att etablera och konfigurera Azure-resurser.
Öppna ett terminalfönster och kontrollera att din Python-version är 3.6 eller senare:
python3 --version
Kontrollera att din Azure CLI-version är 2.0.80 eller senare:
az --version
Logga sedan in på Azure via CLI:
az login
Det här kommandot öppnar en webbläsare för att samla in dina autentiseringsuppgifter. När kommandot har avslutats visas JSON-utdata som innehåller information om dina prenumerationer.
När du har loggat in kan du köra Azure-kommandon med Azure CLI för att arbeta med resurser i din prenumeration.
Har du problem? Berätta för oss.
Klona exemplet
Klona exempeldatabasen med följande kommando och navigera till exempelmappen. (Installera git om du inte redan har git.)
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 ramverksspecifik kod som Azure App Service identifierar när appen startas. Mer information finns i Startprocess för containrar.
Har du problem? Berätta för oss.
Kör exemplet
Navigera till i mappen python-docs-hello-world:
cd python-docs-hello-worldSkapa en virtuell miljö och installera beroenden:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtOm du använder ett Windows-system och se felet "källan kan inte identifieras som ett internt eller externt kommando", se till att du antingen kör i git bash-gränssnittet eller Använd de kommandon som visas på fliken cmd ovan.
Om du stöter på "[Errno 2] Ingen sådan fil eller katalog: "requirements.txt"." kontrollerar du att du är i mappen python-docs-hello-world.
Kör utvecklingsservern.
flask runSom standard förutsätter servern att appens postmodul finns i app.py, som används i exemplet.
Om du använder ett annat modulnamn anger du
FLASK_APPmiljövariabeln till det namnet.Om du stöter på felet "Det gick inte att hitta ett Flask-program. Du har inte ange miljövariabeln "FLASK_APP" och modulen "wsgi.py" eller "app.py" hittades inte i den aktuella katalogen." kontrollerar du att du är i mappen som innehåller
python-docs-hello-worldexemplet.Öppna en webbläsare och gå till exempelappen på
http://localhost:5000/. Appen visar meddelandet Hello, World!.
Tryck på Ctrl C i terminalfönstret + för att avsluta utvecklingsservern.
Navigera till mappen python-docs-hello-django:
cd python-docs-hello-djangoSkapa en virtuell miljö och installera beroenden:
# Linux systems only python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # Git Bash on Windows only py -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txtOm du använder ett Windows-system och se felet "källan kan inte identifieras som ett internt eller externt kommando", se till att du antingen kör i git bash-gränssnittet eller Använd de kommandon som visas på fliken cmd ovan.
Om du stöter på "[Errno 2] Ingen sådan fil eller katalog: "requirements.txt"." kontrollerar du att du är i mappen python-docs-hello-django.
Kör utvecklingsservern.
python manage.py runserverÖppna en webbläsare och gå till exempelappen på
http://localhost:8000/. Appen visar meddelandet Hello, World!.
Tryck på Ctrl C i terminalfönstret + för att avsluta utvecklingsservern.
Har du problem? Berätta för oss.
Distribuera exemplet
Distribuera koden i din lokala mapp (python-docs-hello-world) med hjälp av az webapp up kommandot :
az webapp up --sku B1 --name <app-name>
- Om kommandot inte känns igen kontrollerar du att du har Installerat Azure CLI enligt
azbeskrivningen i Konfigurera din första miljö. - Om kommandot
webappinte känns igen, eftersom din Azure CLI-version är 2.0.80 eller senare. Om inte installerar du den senaste versionen. - Ersätt
<app_name>med ett namn som är unikt för hela Azure ( giltiga tecken är ,a-z0-9och-). Ett bra mönster är att använda en kombination av företagets namn och en appidentifierare. - Argumentet
--sku B1skapar webbappen på prisnivån Basic, vilket medför en liten kostnad per timme. Utelämna det här argumentet för att använda en snabbare premiumnivå. - Du kan också inkludera argumentet där är
--location <location-name><location_name>en tillgänglig Azure-region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom att köraaz account list-locationskommandot . - Om du ser felet "Det gick inte att automatiskt identifiera körningsstacken för din app" kontrollerar du att du kör kommandot i mappen python-docs-hello-world (Flask) eller mappen python-docs-hello-django (Django) som innehåller requirements.txt-filen. (Se Felsöka problem med automatisk identifiering med az webapp up (GitHub).)
Det kan ta några minuter att slutföra kommandot. När den körs får du meddelanden om att skapa resursgruppen, App Service plan värdappen, konfigurera loggning och sedan utföra ZIP-distribution. Sedan visas meddelandet "Du kan starta appen på http:// < appnamn .azurewebsites.net", som är > appens URL på Azure.

Har du problem? Läs först i felsökningsguiden,annars kan du berätta för oss.
Anteckning
Kommandot az webapp up utför följande åtgärder:
Skapa en standardresursgrupp.
Skapa en standardinställning App Service plan.
Skapa en app med det angivna namnet.
Zip-distribuera alla filer från den aktuella arbetskatalogen med byggautomatisering aktiverat.
Cachelagra parametrarna lokalt i .azure/config-filen så att du inte behöver ange dem igen vid senare distribution med
az webapp upeller andra Azure CLI-kommandon. Cachelagrade värden används automatiskt som standard.
Bläddra till appen
Bläddra till det distribuerade programmet i webbläsaren på URL:en http://<app-name>.azurewebsites.net . Det kan ta någon minut innan appen startar, så om du ser en standardappsida väntar du en minut och uppdaterar webbläsaren.
Python-exempelkoden kör en Linux-container i App Service med hjälp av en inbyggd avbildning.

Grattis! Du har distribuerat Python-appen till App Service.
Har du problem? Läs först i felsökningsguiden,annars kan du berätta för oss.
Distribuera om uppdateringar
I det här avsnittet gör du en liten kodändring och distribuerar sedan om koden till Azure. Kodändringen innehåller en print -instruktion för att generera loggningsutdata som du arbetar med i nästa avsnitt.
Öppna app.py i ett redigeringsprogram och uppdatera hello funktionen så att den matchar följande kod.
def hello():
print("Handling request to home page.")
return "Hello, Azure!"
Öppna hello/views.py i ett redigeringsprogram och uppdatera hello funktionen så att den matchar följande kod.
def hello(request):
print("Handling request to home page.")
return HttpResponse("Hello, Azure!")
Spara ändringarna och distribuera sedan appen igen med az webapp up kommandot igen:
az webapp up
Det här kommandot använder värden som cachelagras lokalt i .azure/config-filen, inklusive appnamn, resursgrupp och App Service plan.
När distributionen är klar växlar du tillbaka till webbläsarfönstret och öppnar http://<app-name>.azurewebsites.net . Uppdatera sidan, som ska visa det ändrade meddelandet:

Har du problem? Läs först i felsökningsguiden,annars kan du berätta för oss.
Tips
Visual Studio Code innehåller kraftfulla tillägg för Python och Azure App Service, vilket förenklar processen med att distribuera Python-webbappar till App Service. Mer information finns i Distribuera Python-appar till App Service från Visual Studio Code.
Strömningsloggar
Du kan komma åt konsolloggarna som genereras inifrån appen och containern där den körs. Loggar innehåller alla utdata som genereras med hjälp av print instruktioner.
Om du vill strömma loggar kör du kommandot az webapp log tail:
az webapp log tail
Du kan också inkludera --logs parametern med kommandot az webapp up then för att automatiskt öppna loggströmmen vid distributionen.
Uppdatera appen i webbläsaren för att generera konsolloggar, som innehåller meddelanden som beskriver HTTP-begäranden till appen. Om inga utdata visas omedelbart kan du försöka igen om 30 sekunder.
Du kan även granska loggfilerna från din webbläsare via https://<app-name>.scm.azurewebsites.net/api/logs/docker.
Om du vill stoppa loggströmningen när som helst trycker du + på Ctrl C i terminalen.
Har du problem? Gå först till felsökningsguiden,annars kan du berätta för oss.
Hantera Azure-appen
Gå till Azure-portalen för att hantera den app som du skapade. Sök efter och välj App Services.

Välj namnet på din Azure-app.

När du väljer appen öppnas sidan Översikt där du kan utföra grundläggande hanteringsuppgifter som att bläddra, stoppa, starta, starta om och ta bort.

Menyn App Service innehåller olika sidor för att konfigurera din app.
Har du problem? Gå först till felsökningsguiden,annars kan du berätta för oss.
Rensa resurser
I de föregående stegen skapade du Azure-resurser i en resursgrupp. Resursgruppen har ett namn som "appsvc_rg_Linux_CentralUS" beroende på din plats. Om du fortsätter att köra webbappen medför det vissa löpande kostnader (se App Service prissättning).
Om du inte tror att du behöver dessa resurser i framtiden tar du bort resursgruppen genom att köra följande kommando:
az group delete --no-wait
Kommandot använder resursgruppens namn som cachelagras i .azure/config-filen.
Argumentet --no-wait gör att kommandot kan returneras innan åtgärden har slutförts.
Har du problem? Berätta för oss.