Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban üzembe helyez egy Python-webalkalmazást (Django, Flask vagy FastAPI) az Azure App Service-ben. Az Azure App Service egy teljes körűen felügyelt web hosting szolgáltatás, amely támogatja a Linux server környezetben üzemeltetett Python-alkalmazásokat.
A gyors kezdéshez ezekre lesz szüksége:
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
- Helyileg telepített Python 3.14 vagy újabb .
Megjegyzés:
Ez a cikk a Python-webalkalmazás Azure App Service-ben történő üzembe helyezésére vonatkozó aktuális utasításokat tartalmazza. A Python windowsos használata már nem támogatott.
Ugrás a végére
Ebben az oktatóanyagban gyorsan üzembe helyezheti a mintaalkalmazást az Azure Developer CLI használatával, és megtekintheti, hogy fut-e az Azure-ban. Futtassa a következő parancsokat az Azure Cloud Shellben, és kövesse az utasításokat:
mkdir flask-quickstart
cd flask-quickstart
azd init --template https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
azd up
És az erőforrások törléséhez:
azd down
Mintaalkalmazás
Ez a rövid útmutató a Flask, a Django vagy a FastAPI használatával is elvégezhető. Az egyes keretrendszerekben található mintaalkalmazások segítenek a rövid útmutató követésében. Töltse le vagy klónozza a mintaalkalmazást a helyi munkaállomásra.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Az alkalmazás helyi futtatása:
Nyissa meg az alkalmazásmappát:
cd msdocs-python-flask-webapp-quickstartHozzon létre egy virtuális környezetet az alkalmazáshoz:
py -m venv .venv .venv\scripts\activateTelepítse a függőségeket:
pip install -r requirements.txtFuttassa az alkalmazást:
flask runNyissa meg a(z)
http://localhost:5000cím alatti mintaalkalmazást egy webböngészőben.
Problémákat tapasztal? Értesítsen minket.
Webalkalmazás létrehozása az Azure-ban
Az alkalmazás Azure-ban való üzemeltetéséhez létre kell hoznia egy Azure App Service-webalkalmazást az Azure-ban. Webalkalmazást az Azure CLI, a VS Code, az Azure Tools bővítménycsomag vagy az Azure Portal használatával hozhat létre.
Az Azure CLI-parancsok futtathatók olyan számítógépen, amelyen telepítve van az Azure CLI.
Hozd létre az Azure erőforrásokat, majd telepítsd az alkalmazásodat külön Azure CLI parancsokkal.
Ha szükséges, jelentkezzen be az Azure-ba az login használatával.
az login
Cseréld <app-name> helyette egy globálisan egyedi névvel. Hozz létre egy erőforráscsoportot és egy App Service-csomagot, majd az az webapp create használatával hozd létre a webalkalmazást.
az group create --name myResourceGroup --location eastus
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku P0v3 --is-linux
az webapp create --name <app-name> --resource-group myResourceGroup --plan myAppServicePlan --runtime "PYTHON:3.14"
az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
- Használd a
--runtimeparamétert annak a Python-verziónak a megadására, amelyen az alkalmazásod fut. Ez a példa a Python 3.14-et használja. A támogatott Python futóidők felsorolásához használdaz webapp list-runtimes --os-type linux --runtime python --output table. - Használja a
--skuparamétert az App Service csomag méretének (CPU és memória) és költségének meghatározására. Ez a példa a P0v3 (Premium v3) szolgáltatáscsomagot használja, amely költséggel jár az Azure-előfizetésedben. Az App Service-csomagok teljes listáját az App Service díjszabásában találja. - Cseréld ki a(z)
eastuselemet az általad preferált régióra. A rendelkezésre álló régiók listázásához futtasd aaz account list-locationsparancsot--output tablehasználatával. - A
SCM_DO_BUILD_DURING_DEPLOYMENTbeállítás lehetővé teszi az Oryx buildet, beleértve a requirements.txt fájlban felsorolt függőségek telepítését, amikor telepíted a forrásarchívumot.
Hozz létre egy ZIP fájlt az alkalmazás fájljaival, beleértve requirements.txt, az archívum gyökerében. Zárja ki a helyi fájlokat, például a .venv, .git és .env. A platformspecifikus utasításokért lásd: Létrehoz egy ZIP-fájlt az alkalmazásáról a ZIP-fájl használatával történő üzembe helyezés lapon. Ezután telepítsd az archívumot a(z) az webapp deploy használatával:
az webapp deploy --name <app-name> --resource-group myResourceGroup --src-path <zip-file-path> --type zip
A telepítés néhány percig is eltarthat. Lépj a(z) https://<app-name>.azurewebsites.net elemhez, hogy megtekinthesd az alkalmazásodat. A naplók streameléséhez engedélyezd őket futtatással az webapp log config --name <app-name> --resource-group myResourceGroup --docker-container-logging filesystem, majd futtatd az webapp log tail --name <app-name> --resource-group myResourceGroup.
Problémákat tapasztal? Értesítsen minket.
Az alkalmazáskód üzembe helyezése az Azure-ban
Az Azure App Service több módszert is támogat az alkalmazáskód Azure-ban való üzembe helyezéséhez, beleértve a GitHub Actionst és az összes fő CI/CD-eszközt. Ez a cikk azt ismerteti, hogyan helyezheti üzembe a kódot a helyi munkaállomásról az Azure-ban.
- Üzembe helyezés az Azure CLI használatával
- Üzembe helyezés VS Code használatával
- Üzembe helyezés ZIP-fájl használatával
Az előző lépésben az Azure CLI parancsok létrehozták az erőforrásokat és telepítették az alkalmazásodat. Továbbléphetsz a következő lépésre.
Problémákat tapasztal? Először tekintse meg a hibaelhárítási útmutatót. Ha ez nem segít, tudassa velünk.
Indítási szkript konfigurálása
Bizonyos fájlok jelenléte alapján az App Service automatikusan észleli, hogy egy alkalmazás Django- vagy Flask-alkalmazás-e, és végrehajtja az alkalmazás futtatásának alapértelmezett lépéseit. Más webes keretrendszereken, például a FastAPI-n alapuló alkalmazásoknál lehet, hogy be kell állítani egy startup scriptet az App Service számára, hogy az alkalmazás futtasson. Egyébként az App Service egy alapértelmezett csak olvasható alkalmazást futtat, amely az opt/defaultsite mappában található.
- Python 3.14 és újabb: App Service automatikusan felismeri és futtatja a FastAPI alkalmazásokat. Nem szükséges indítási parancs.
- Python 3.13 vagy korábbi verziók: Egyedi indítási parancsot kell konfigurálnod.
Ha többet szeretne megtudni arról, hogyan futtatja az App Service a Python-alkalmazásokat, és hogyan konfigurálhatja és szabhatja testre a viselkedését az alkalmazással, olvassa el a Linux Python-alkalmazás konfigurálása az Azure App Service-hez című témakört.
Az App Service automatikusan észleli egy Flask-alkalmazás jelenlétét. Ehhez a gyors kezdő lépésekhez nincs szükség további konfigurációra.
Keresse meg az alkalmazást
Keresse meg az üzembe helyezett alkalmazást a webböngészőjében. Az Azure portálon követhet egy hivatkozást. Nyissa meg az Áttekintés lapot, és válassza az Alapértelmezett tartomány lehetőséget. Ha megjelenik egy alapértelmezett alkalmazáslap, várjon egy percet, és frissítse a böngészőt.
A Python-mintakód egy Linux-tárolót futtat az App Service-ben egy beépített rendszerkép használatával.
Gratulálok! Üzembe helyezte a Python-alkalmazást az App Service-ben.
Problémákat tapasztal? Először tekintse meg a hibaelhárítási útmutatót. Ha ez nem segít, tudassa velünk.
Naplók megtekintése
Az Azure App Service rögzíti a konzol összes üzenetkimenetét, hogy segítsen az alkalmazással kapcsolatos problémák diagnosztizálásában. A mintaalkalmazások olyan utasításokat tartalmaznak print() , amelyek bemutatják ezt a képességet.
@app.route('/')
def index():
print('Request for index page received')
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/hello', methods=['POST'])
def hello():
name = request.form.get('name')
if name:
print('Request for hello page received with name=%s' % name)
return render_template('hello.html', name = name)
else:
print('Request for hello page received with no name or blank name -- redirecting')
return redirect(url_for('index'))
Az App Service diagnosztikai naplóinak tartalmát az Azure CLI, a VS Code vagy az Azure Portal használatával tekintheti át.
Először konfigurálnia kell az Azure App Service-t, hogy az az webapp log config parancsot használja, és a naplókat az App Service fájlrendszerbe irányítsa.
az webapp log config \
--web-server-logging filesystem \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
A naplók streameléséhez használja az az webapp log tail parancsot.
az webapp log tail \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Frissítse a kezdőlapot az alkalmazásban, vagy próbálkozzon más kérésekkel néhány naplóüzenet létrehozásához. A kimenetnek az alábbiakhoz hasonlóan kell kinéznie.
Starting Live Log Stream ---
2021-12-23T02:15:52.740703322Z Request for index page received
2021-12-23T02:15:52.740740222Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET / HTTP/1.1" 200 1360 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.841043070Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.884541951Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:53.043211176Z 169.254.130.1 - - [23/Dec/2021:02:15:53 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.304306845Z Request for hello page received with name=David
2021-12-23T02:16:01.304335945Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "POST /hello HTTP/1.1" 200 695 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.398399251Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.430740060Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
Problémákat tapasztal? Először tekintse meg a hibaelhárítási útmutatót. Ha ez nem segít, tudassa velünk.
Erőforrások tisztítása
Ha végzett a mintaalkalmazással, eltávolíthatja az alkalmazás összes erőforrását az Azure-ból. Az erőforráscsoport eltávolítása biztosítja, hogy ne járjon többletköltséggel, és hogy az Azure-előfizetés ne legyen zsúfolt. Az erőforráscsoport eltávolítása az erőforráscsoport összes erőforrását is eltávolítja, és ez a leggyorsabb módja az alkalmazás összes Azure-erőforrásának eltávolításának.
Törölje az erőforráscsoportot az az group delete paranccsal.
az group delete \
--name msdocs-python-webapp-quickstart \
--no-wait
Az --no-wait argumentum lehetővé teszi a parancs visszatérését a művelet befejezése előtt.
Problémákat tapasztal? Értesítsen minket.