Python (Django vagy Flask) webalkalmazás üzembe helyezése a PostgreSQL-lel az Azure-ban
Ebben az oktatóanyagban egy adatvezérelt Python-webalkalmazást (Django vagy Flask) fog üzembe helyezni Azure-alkalmazás Szolgáltatásban az Azure Database for PostgreSQL relációs adatbázis-szolgáltatással. Azure-alkalmazás szolgáltatás támogatja Python linuxos kiszolgálói környezetben.
Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:
- Egy Azure-fiók, aktív előfizetéssel. Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.
- Python ismerete Flask-fejlesztéssel vagy Python Django-fejlesztéssel
- Egy Azure-fiók, aktív előfizetéssel. Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.
- Az Azure Developer CLI telepítve van. Kövesse az Azure Cloud Shell lépéseit, mert már telepítve van az Azure Developer CLI.
- Python ismerete Flask-fejlesztéssel vagy Python Django-fejlesztéssel
Ugrás a végére
Az Azure Developer CLI telepítésével üzembe helyezhet egy teljes körűen konfigurált mintaalkalmazást, amely az oktatóanyagban látható, és megtekintheti, hogy fut-e az Azure-ban. Csak futtassa a következő parancsokat egy üres munkakönyvtárban:
azd auth login
azd init --template msdocs-flask-postgresql-sample-app
azd up
Mintaalkalmazás
A Flask és Django keretrendszert használó Python-mintaalkalmazások segítenek az oktatóanyag követésében. Ha helyi futtatás nélkül szeretné üzembe helyezni őket, hagyja ki ezt a részt.
Az alkalmazás helyi futtatásához győződjön meg arról, hogy a Python 3.7 vagy újabb verziója és a PostgreSQL helyileg van telepítve. Ezután klónozza a mintaadattár ágát starter-no-infra
, és váltson az adattár gyökerére.
git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-flask-postgresql-sample-app
cd msdocs-flask-postgresql-sample-app
Hozzon létre egy .env fájlt az alább látható módon az .env.sample fájl használatával útmutatóként. Állítsa be az értéket DBNAME
egy meglévő adatbázis nevére a helyi PostgreSQL-példányban. Adja meg a helyi DBUSER
DBPASS
PostgreSQL-példány értékeitDBHOST
.
DBNAME=<database name>
DBHOST=<database-hostname>
DBUSER=<db-user-name>
DBPASS=<db-password>
Hozzon létre egy virtuális környezetet az alkalmazáshoz:
py -m venv .venv
.venv\scripts\activate
Telepítse a függőségeket:
pip install -r requirements.txt
Futtassa a mintaalkalmazást a következő parancsokkal:
# Run database migration
flask db upgrade
# Run the app at http://127.0.0.1:5000
flask run
1. Az App Service és a PostgreSQL létrehozása
Ebben a lépésben hozza létre az Azure-erőforrásokat. Az oktatóanyagban használt lépések az App Service-t és az Azure Database for PostgreSQL-t tartalmazó, alapértelmezés szerint biztonságos erőforrások készletét hozzák létre. A létrehozási folyamathoz a következőket kell megadnia:
- A webalkalmazás neve . Ez a webalkalmazás
https://<app-name>.azurewebsites.net
DNS-nevének részeként használt név. - A régió , amely fizikailag futtatja az alkalmazást a világon.
- Az alkalmazás futtatókörnyezeti vereme . Itt választhatja ki az alkalmazáshoz használni kívánt Python-verziót.
- Az alkalmazás üzemeltetési terve . Ez a tarifacsomag, amely tartalmazza az alkalmazás funkcióit és skálázási kapacitását.
- Az alkalmazás erőforráscsoportja . Az erőforráscsoportokkal (logikai tárolóban) csoportosíthatja az alkalmazáshoz szükséges Összes Azure-erőforrást.
Jelentkezzen be az Azure Portalra, és kövesse az alábbi lépéseket a Azure-alkalmazás szolgáltatás erőforrásainak létrehozásához.
1. lépés: Az Azure Portalon:
- Írja be a "webalkalmazás-adatbázis" kifejezést az Azure Portal tetején található keresősávba.
- Válassza ki a Web App + Adatbázis címkével ellátott elemet a Marketplace címsora alatt. A létrehozási varázslót közvetlenül is megnyithatja.
2. lépés: A Webalkalmazás létrehozása + Adatbázis lapon töltse ki az űrlapot az alábbiak szerint.
- Az erőforráscsoport → Válassza az Új létrehozása lehetőséget, és használja az msdocs-python-postgres-tutorial nevet.
- Régió → Az Önhöz közeli Bármely Azure-régió.
- Adja → msdocs-python-postgres-XYZ nevet, ahol az XYZ tetszőleges három véletlenszerű karakter. Ennek a névnek az Azure-on belül egyedinek kell lennie.
- Runtime stack → Python 3.10.
- Database → PostgreSQL – A rugalmas kiszolgáló alapértelmezés szerint adatbázismotorként van kiválasztva. A kiszolgáló neve és az adatbázis neve alapértelmezés szerint a megfelelő értékekre is be van állítva.
- Üzemeltetési terv → Alapszintű. Ha készen áll, később felskálázhatja az éles tarifacsomagot.
- Válassza az Áttekintés + létrehozás lehetőséget.
- Az ellenőrzés befejezése után válassza a Létrehozás lehetőséget.
3. lépés: Az üzembe helyezés néhány percet vesz igénybe. Az üzembe helyezés befejeződése után válassza az Erőforrás megnyitása gombot. Közvetlenül az App Service-alkalmazásba kerül, de a következő erőforrások jönnek létre:
- Az erőforráscsoport az összes létrehozott erőforrás tárolóját →.
- Az App Service-csomag → Az App Service számítási erőforrásait határozza meg. Létrejön egy Linux-csomag az alapszinten .
- Az App Service → Az alkalmazást jelöli, és az App Service-csomagban fut.
- A virtuális hálózat → Integrálva van az App Service alkalmazással, és elkülöníti a háttérbeli hálózati forgalmat.
- Rugalmas Azure Database for PostgreSQL-kiszolgáló → Csak a virtuális hálózaton belülről érhető el. A rendszer létrehoz egy adatbázist és egy felhasználót a kiszolgálón.
- saját DNS zóna → Engedélyezi a PostgreSQL-kiszolgáló DNS-feloldását a virtuális hálózaton.
2. Kapcsolati beállítások ellenőrzése
A létrehozási varázsló már alkalmazásbeállításokként létrehozta a kapcsolati változókat. Az alkalmazásbeállítások az egyik módja annak, hogy a kapcsolat titkos kulcsait ne használja a kódtárban. Ha készen áll a titkos kulcsok biztonságosabb helyre való áthelyezésére, az alábbi cikk az Azure Key Vaultban való tárolásról szóló cikket ismerteti.
1. lépés: Az App Service lap bal oldali menüjében válassza a Konfiguráció lehetőséget.
2. lépés: A Konfiguráció lap Alkalmazásbeállítások lapján ellenőrizze, hogy létezik-eAZURE_POSTGRESQL_CONNECTIONSTRING
. Ez környezeti változóként lesz injektálva a futtatókörnyezetbe.
3. lépés: Egy terminálban vagy parancssorban futtassa a következő Python-szkriptet egy egyedi titkos kód létrehozásához: python -c 'import secrets; print(secrets.token_hex())'
. Másolja ki a következő lépésben használni kívánt kimeneti értéket.
3. Mintakód üzembe helyezése
Ebben a lépésben konfigurálja a GitHub üzembe helyezését a GitHub Actions használatával. Ez csak egy az App Service-ben történő üzembe helyezés számos módja közül, de nagyszerű módja annak is, hogy folyamatos integrációt nyújtsunk az üzembe helyezési folyamatba. Alapértelmezés szerint a GitHub-adattár minden git push
eleme elindítja a buildelési és üzembe helyezési műveletet.
1. lépés: Új böngészőablakban:
- Jelentkezzen be a GitHub-fiókjába.
- Nyissa meg a https://github.com/Azure-Samples/msdocs-flask-postgresql-sample-app címet.
- Válassza az Elágazás lehetőséget.
- Válassza az Elágazás létrehozása lehetőséget.
2. lépés: A GitHub lapon nyissa meg a Visual Studio Code-ot a böngészőben a .
kulcs lenyomásával.
3. lépés: Nyissa meg az AzureProject/production.py böngészőben a Visual Studio Code-ban. Tekintse meg az éles környezetben használt környezeti változókat, beleértve a konfigurációs lapon látott alkalmazásbeállításokat is.
4. lépés: Az App Service lap bal oldali menüjében válassza az Üzembe helyezési központ lehetőséget.
5. lépés: Az Üzembehelyezési központ lapon:
- A Forrás területen válassza a GitHubot. Alapértelmezés szerint a GitHub Actions van kiválasztva buildszolgáltatóként.
- Jelentkezzen be a GitHub-fiókjába, és kövesse az utasításokat az Azure engedélyezéséhez.
- A Szervezetben válassza ki a fiókját.
- Az Adattárban válassza az msdocs-flask-postgresql-sample-app elemet.
- Az Ág területen válassza a fő lehetőséget.
- Hagyja bejelölve az alapértelmezett beállítást a munkafolyamat hozzáadásához.
- A Hitelesítés típusa területen válassza a felhasználó által hozzárendelt identitást.
- A felső menüben válassza a Mentés lehetőséget. Az App Service véglegesít egy munkafolyamat-fájlt a kiválasztott GitHub-adattárba a
.github/workflows
címtárban.
6. lépés: Az Üzembehelyezési központ lapon:
- Válassza a Naplókat. Az üzembehelyezési futtatás már elindult.
- Az üzembe helyezési futtatás naplóelemében válassza a Build/Deploy Logs lehetőséget.
7. lépés: A GitHub-adattárba kerül, és láthatja, hogy a GitHub-művelet fut. A munkafolyamat-fájl két különálló szakaszt határoz meg, a buildelést és az üzembe helyezést. Várja meg, amíg a GitHub fut, és megjeleníti a Kész állapotot. Körülbelül 5 percig tart.
Problémákat tapasztal? Tekintse meg a hibaelhárítási útmutatót.
4. Adatbázisséma létrehozása
A Virtuális hálózat által védett PostgreSQL-adatbázissal a Flask-adatbázisok migrálásának legegyszerűbb módja az App Service-tárolóval folytatott SSH-munkamenet.
1. lépés: Vissza az App Service lap bal oldali menüjébe,
- Válassza az SSH-t.
- Válassza az Ugrás lehetőséget.
2. lépés: Futtassa flask db upgrade
az SSH-terminálban. Ha sikeres, az App Service sikeresen csatlakozik az adatbázishoz.
Csak a fájlok /home
módosításai őrizhetők meg az alkalmazás újraindítása után. A külső /home
módosítások nem maradnak meg.
5. Tallózás az alkalmazáshoz
1. lépés: Az App Service oldalán:
- A bal oldali menüben válassza az Áttekintés lehetőséget.
- Válassza ki az alkalmazás URL-címét. Közvetlenül a következőre
https://<app-name>.azurewebsites.net
is navigálhat.
2. lépés: Vegyen fel néhány éttermet a listára. Gratulálunk, egy webalkalmazást futtat a Azure-alkalmazás Service-ben, biztonságos kapcsolattal az Azure Database for PostgreSQL-hez.
6. Diagnosztikai naplók streamelése
Azure-alkalmazás szolgáltatás rögzíti a konzolon megjelenő összes üzenet kimenetét, hogy segítsen diagnosztizálni az alkalmazással kapcsolatos problémákat. A mintaalkalmazás az print()
alábbi módon mutatja be ezt a képességet.
@app.route('/', methods=['GET'])
def index():
print('Request for index page received')
restaurants = Restaurant.query.all()
return render_template('index.html', restaurants=restaurants)
1. lépés: Az App Service oldalán:
- A bal oldali menüben válassza az App Service-naplók lehetőséget.
- Az Alkalmazásnaplózás területen válassza a Fájlrendszer lehetőséget.
- A felső menüben válassza a Mentés lehetőséget.
2. lépés: A bal oldali menüben válassza a Naplóstream lehetőséget. Láthatja az alkalmazás naplóit, beleértve a platformnaplókat és a tárolón belüli naplókat.
További információ a Python-alkalmazásokban való naplózásról a Python-alkalmazásHoz készült Azure Monitor beállításáról szóló sorozatban.
7. Erőforrások törlése
Ha végzett, törölheti az összes erőforrást az Azure-előfizetéséből az erőforráscsoport törlésével.
1. lépés: Az Azure Portal tetején található keresősávon:
- Adja meg az erőforráscsoport nevét.
- Válassza ki az erőforráscsoportot.
2. lépés: Az erőforráscsoport lapján válassza az Erőforráscsoport törlése lehetőséget.
3. lépés:
- A törlés megerősítéséhez adja meg az erőforráscsoport nevét.
- Válassza a Törlés lehetőséget.
1. Azure-erőforrások létrehozása és mintaalkalmazás üzembe helyezése
Ebben a lépésben létrehozza az Azure-erőforrásokat, és üzembe helyez egy mintaalkalmazást a Linuxon futó App Service-ben. Az oktatóanyagban használt lépések az App Service-t és az Azure Database for PostgreSQL-t tartalmazó, alapértelmezés szerint biztonságos erőforrások készletét hozzák létre.
Ha még nem tette meg, klónozza a mintaadattár ágát
starter-no-infra
egy helyi terminálban.git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-flask-postgresql-sample-app cd msdocs-flask-postgresql-sample-app
Ez a klónozott ág a kiindulópont. Egy egyszerű adatmeghajtó Flask-alkalmazást tartalmaz.
Futtassa
azd init
az adattár gyökerét.azd init --template python-app-service-postgresql-infra
Amikor a rendszer kéri, adja meg a következő válaszokat:
Kérdés Válasz Az aktuális könyvtár nem üres. Inicializálni szeretne egy projektet itt a "saját könyvtárában>"?< Y Mit szeretne tenni ezekkel a fájlokkal? Meglévő fájljaim változatlanul tartása Adjon meg egy új környezetnevet Írjon be egy egyedi nevet. Az azd-sablon ezt a nevet használja a webalkalmazás DNS-nevének részeként az Azure-ban ( <app-name>.azurewebsites.net
). Alfanumerikus karakterek és kötőjelek engedélyezettek.Futtassa a
azd up
parancsot a szükséges Azure-erőforrások kiépítéséhez és az alkalmazáskód üzembe helyezéséhez. Ha még nem jelentkezett be az Azure-ba, a böngésző elindul, és megkéri, hogy jelentkezzen be. Aazd up
parancs arra is kéri, hogy válassza ki a kívánt előfizetést és helyet, ahová üzembe szeretne helyezni.azd up
A
azd up
parancs végrehajtása eltarthat néhány percig. Emellett lefordítja és üzembe helyezi az alkalmazáskódot, de később módosítja a kódot, hogy működjön az App Service-lel. Amíg fut, a parancs üzeneteket küld a kiépítési és üzembe helyezési folyamatról, beleértve az Azure-beli üzembe helyezésre mutató hivatkozást is. Amikor befejeződik, a parancs egy hivatkozást is megjelenít az üzembe helyezési alkalmazásra.Ez az azd-sablon olyan fájlokat (azure.yaml és infra könyvtár) tartalmaz, amelyek az alábbi Azure-erőforrásokkal létrehoznak egy alapértelmezett, biztonságos architektúrát:
- Az erőforráscsoport az összes létrehozott erőforrás tárolóját →.
- Az App Service-csomag → Az App Service számítási erőforrásait határozza meg. A B1 szinten linuxos csomag van megadva.
- Az App Service → Az alkalmazást jelöli, és az App Service-csomagban fut.
- A virtuális hálózat → Integrálva van az App Service alkalmazással, és elkülöníti a háttérbeli hálózati forgalmat.
- Rugalmas Azure Database for PostgreSQL-kiszolgáló → Csak a virtuális hálózaton belülről érhető el. A rendszer létrehoz egy adatbázist és egy felhasználót a kiszolgálón.
- saját DNS zóna → Engedélyezi a PostgreSQL-kiszolgáló DNS-feloldását a virtuális hálózaton.
- A Log Analytics-munkaterület → Az alkalmazás céltárolójaként szolgál a naplók elküldéséhez, ahol a naplókat is lekérdezheti.
2. Az adatbázis kapcsolati sztring
Az ön által használt azd-sablon már alkalmazásbeállításokként generálta a kapcsolati változókat, és azokat az ön kényelme érdekében a terminálon adja ki. Az alkalmazásbeállítások az egyik módja annak, hogy a kapcsolat titkos kulcsait ne használja a kódtárban.
Az azd kimenetben keresse meg az alkalmazás beállításait, és keresse meg a beállításokat
AZURE_POSTGRESQL_CONNECTIONSTRING
ésAZURE_REDIS_CONNECTIONSTRING
a . A titkos kódok biztonsága érdekében csak a beállításnevek jelennek meg. Így néznek ki az azd kimenetben:App Service app has the following settings: - AZURE_POSTGRESQL_CONNECTIONSTRING - AZURE_REDIS_CONNECTIONSTRING - FLASK_DEBUG - SCM_DO_BUILD_DURING_DEPLOYMENT - SECRET_KEY
AZURE_POSTGRESQL_CONNECTIONSTRING
tartalmazza az Azure Postgres-adatbázis kapcsolati sztring, ésAZURE_REDIS_CONNECTIONSTRING
tartalmazza az Azure-beli Redis Cache kapcsolati sztring. A csatlakozáshoz a kódot kell használnia. Nyissa meg az azureproject/production.py, bontsa ki a következő sorokat, és mentse a fájlt:conn_str = os.environ['AZURE_POSTGRESQL_CONNECTIONSTRING'] conn_str_params = {pair.split('=')[0]: pair.split('=')[1] for pair in conn_str.split(' ')} DATABASE_URI = 'postgresql+psycopg2://{dbuser}:{dbpass}@{dbhost}/{dbname}'.format( dbuser=conn_str_params['user'], dbpass=conn_str_params['password'], dbhost=conn_str_params['host'], dbname=conn_str_params['dbname'] )
Az alkalmazáskód most már úgy van konfigurálva, hogy csatlakozzon az Azure PostgreSQL-adatbázisához. Ha szeretné, nyissa meg
app.py
, és nézze meg, hogyan használja aDATABASE_URI
környezeti változót.A terminálban futtassa a
azd deploy
parancsot.azd deploy
4. Adatbázisséma létrehozása
A Virtuális hálózat által védett PostgreSQL-adatbázissal a Flask-adatbázisok migrálásának legegyszerűbb módja az App Service-tárolóval folytatott SSH-munkamenet.
Az azd kimenetben keresse meg az SSH-munkamenet URL-címét, és keresse meg a böngészőben. Így néz ki a kimenetben:
Open SSH session to App Service container at: https://<app-name>.scm.azurewebsites.net/webssh/host
Az SSH-terminálban futtassa a következőt
flask db upgrade
: . Ha sikeres, az App Service sikeresen csatlakozik az adatbázishoz.Feljegyzés
Csak a fájlok
/home
módosításai őrizhetők meg az alkalmazás újraindítása után. A külső/home
módosítások nem maradnak meg.
5. Tallózás az alkalmazáshoz
Az azd kimenetben keresse meg az alkalmazás URL-címét, és keresse meg a böngészőben. Az URL-cím így néz ki az AZD-kimenetben:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: https://<app-name>.azurewebsites.net/
Vegyen fel néhány éttermet a listára.
Gratulálunk, egy webalkalmazást futtat a Azure-alkalmazás Service-ben, biztonságos kapcsolattal az Azure Database for PostgreSQL-hez.
6. Diagnosztikai naplók streamelése
Azure-alkalmazás szolgáltatás rögzítheti a konzolnaplókat az alkalmazással kapcsolatos problémák diagnosztizálásához. Az egyszerűség kedvéért az azd sablon már engedélyezte a helyi fájlrendszerbe való naplózást, valamint egy Log Analytics-munkaterületre való szállítást.
A mintaalkalmazás az print()
alábbi kódrészletben látható módon mutatja be ezt a képességet.
@app.route('/', methods=['GET'])
def index():
print('Request for index page received')
restaurants = Restaurant.query.all()
return render_template('index.html', restaurants=restaurants)
Az azd kimenetben keresse meg az App Service-naplók streamelésére és a böngészőben való navigálásra szolgáló hivatkozást. A hivatkozás így néz ki az azd kimenetben:
Stream App Service logs at: https://portal.azure.com/#@/resource/subscriptions/<subscription-guid>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name>/logStream
További információ a Python-alkalmazásokban való naplózásról a Python-alkalmazásHoz készült Azure Monitor beállításáról szóló sorozatban.
7. Erőforrások törlése
Az aktuális üzemi környezetben lévő összes Azure-erőforrás törléséhez futtassa a következőt azd down
:
azd down
Hibaelhárítás
Az alábbiakban azokat a problémákat soroljuk fel, amelyekkel az oktatóanyag és a megoldásuk lépései során találkozhat.
Nem tudok csatlakozni az SSH-munkamenethez
Ha nem tud csatlakozni az SSH-munkamenethez, akkor maga az alkalmazás nem indult el. Részletekért tekintse meg a diagnosztikai naplókat . Ha például egy hasonló KeyError: 'AZURE_POSTGRESQL_CONNECTIONSTRING'
hibaüzenet jelenik meg, az azt jelentheti, hogy a környezeti változó hiányzik (lehet, hogy eltávolította az alkalmazásbeállítást).
Hibaüzenet jelenik meg az adatbázis-migrálások futtatásakor
Ha bármilyen, az adatbázishoz való csatlakozással kapcsolatos hibát tapasztal, ellenőrizze, hogy módosultak-e az alkalmazás beállításai (AZURE_POSTGRESQL_CONNECTIONSTRING
). A kapcsolati sztring nélkül a migrálási parancs nem tud kommunikálni az adatbázissal.
Gyakori kérdések
- Mennyibe kerül ez a beállítás?
- Hogyan csatlakozni a virtuális hálózat mögött más eszközökkel védett PostgreSQL-kiszolgálóhoz?
- Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actions használatával?
- Hogyan van konfigurálva a Django-minta a Azure-alkalmazás Szolgáltatáson való futtatásra?
Mennyibe kerül ez a beállítás?
A létrehozott erőforrások díjszabása a következő:
- Az App Service-csomag alapszinten jön létre, és fel- vagy leskálázható. Lásd az App Service díjszabását.
- A Rugalmas PostgreSQL-kiszolgáló a legalacsonyabb, kipukkanható rétegben Standard_B1ms jön létre, a minimális tárterületmérettel, amely fel- vagy leskálázható. Tekintse meg az Azure Database for PostgreSQL díjszabását.
- A virtuális hálózat csak akkor számít fel díjat, ha nem konfigurál további funkciókat, például társviszony-létesítést. Tekintse meg az Azure Virtual Network díjszabását.
- A privát DNS-zóna kis díjat számít fel. Tekintse meg az Azure DNS díjszabását.
Hogyan csatlakozni a virtuális hálózat mögött más eszközökkel védett PostgreSQL-kiszolgálóhoz?
- A parancssori eszközről való alapszintű hozzáféréshez az alkalmazás SSH-termináljáról is futtatható
psql
. - Asztali eszközről való csatlakozáshoz a gépnek a virtuális hálózaton belül kell lennie. Ez lehet például egy Azure-beli virtuális gép, amely az egyik alhálózathoz csatlakozik, vagy egy helyszíni hálózat egy olyan gépe, amely helyek közötti VPN-kapcsolattal rendelkezik az Azure-beli virtuális hálózattal.
- Az Azure Cloud Shellt a virtuális hálózattal is integrálhatja.
Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actions használatával?
Ha például az App Service automatikus munkafolyamat-fájlját használja, mindegyik git push
elindít egy új buildet és üzembe helyezést. A GitHub-adattár helyi klónjából elvégezheti a kívánt frissítéseket, és leküldheti a GitHubra. Példa:
git add .
git commit -m "<some-message>"
git push origin main
Hogyan van konfigurálva a Django-minta a Azure-alkalmazás Szolgáltatáson való futtatásra?
Feljegyzés
Ha a saját alkalmazásával együtt követi ezt az oktatóanyagot, tekintse meg az egyes projektek README.md fájljainak (Flask, Django) requirements.txt fájlleírását, hogy lássa, milyen csomagokra lesz szüksége.
A Django mintaalkalmazás konfigurálja az azureproject/production.py fájl beállításait, hogy az Azure-alkalmazás Szolgáltatásban fusson. Ezek a módosítások gyakoriak a Django éles környezetben való üzembe helyezéséhez, és nem az App Service-hez.
A Django ellenőrzi a HTTP_HOST fejlécet a bejövő kérelmekben. A mintakód az
WEBSITE_HOSTNAME
App Service környezeti változójával adja hozzá az alkalmazás tartománynevét Django ALLOWED_HOSTS beállításához.# Configure the domain name using the environment variable # that Azure automatically creates for us. ALLOWED_HOSTS = [os.environ['WEBSITE_HOSTNAME']] if 'WEBSITE_HOSTNAME' in os.environ else []
A Django nem támogatja a statikus fájlok éles környezetben való kiszolgálását. Ebben az oktatóanyagban a WhiteNoise használatával engedélyezi a fájlok kiszolgálását. A WhiteNoise csomag már telepítve van requirements.txt, és a köztes szoftver hozzá van adva a listához.
# WhiteNoise configuration MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', # Add whitenoise middleware after the security middleware 'whitenoise.middleware.WhiteNoiseMiddleware',
Ezután a statikus fájlbeállítások a Django dokumentációja szerint vannak konfigurálva.
SESSION_ENGINE = "django.contrib.sessions.backends.cache" STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
További információ: Django-alkalmazások éles beállításai.
Következő lépések
Folytassa a következő oktatóanyaggal, amelyből megtudhatja, hogyan védheti meg az alkalmazást egyéni tartománnyal és tanúsítvánnyal.
Megtudhatja, hogyan futtatja az App Service a Python-alkalmazásokat: