Webes statikus fájlok üzembe helyezése
Feljegyzés
Az Alapszintű, a Standard és a Nagyvállalati csomag 2025. március közepétől megszűnik, 3 éves nyugdíjazási időszakkal. Javasoljuk, hogy váltson az Azure Container Appsre. További információkért lásd az Azure Spring Apps kivonási bejelentését.
A standard felhasználás és a dedikált csomag 2024. szeptember 30-tól megszűnik, hat hónap után pedig teljes leállítással. Javasoljuk, hogy váltson az Azure Container Appsre. További információ: Azure Spring Apps Standard-használat migrálása és dedikált csomag az Azure Container Appsbe.
Ez a cikk a következőre vonatkozik:❌ Basic/Standard ✔️ Enterprise
Ez a cikk bemutatja, hogyan helyezheti üzembe statikus fájljait egy Azure Spring Apps Enterprise-csomagpéldányon a Tanzu Web Servers buildpack használatával. Ez a megközelítés akkor hasznos, ha olyan alkalmazásokkal rendelkezik, amelyek kizárólag statikus fájlok, például HTML, CSS vagy előtérbeli alkalmazások tartására használhatók, amelyek a választott JavaScript-keretrendszerrel készültek. Ezeket az alkalmazásokat közvetlenül egy automatikusan konfigurált webkiszolgálóval (HTTPD és NGINX) helyezheti üzembe az eszközök kiszolgálásához.
Előfeltételek
- Már kiépített Azure Spring Apps Enterprise-csomagpéldány. További információ : Rövid útmutató: Alkalmazások létrehozása és üzembe helyezése az Azure Spring Appsben a Nagyvállalati csomag használatával.
- Egy vagy több, az Azure Spring Appsben futó alkalmazás.
- Azure CLI, 2.45.0-s vagy újabb verzió.
- A statikus fájlok vagy a dinamikus előtérbeli alkalmazás – például egy React-alkalmazás.
Statikus fájlok üzembe helyezése
Feljegyzés
Ez a cikk az üzembehelyezési konfigurációk leírásával és a webes statikus fájltelepítéssel kapcsolatos hibaelhárítással foglalkozik. Az Azure Springs Apps Enterprise-csomag általános buildelési és üzembe helyezési forgatókönyveinek megismeréséhez tekintse meg a Tanzu buildszolgáltatás használata és a többplatformos alkalmazások üzembe helyezése című, igény szerinti buildelési szolgáltatást ismertető szakaszt.
Statikus fájlokat NGINX- vagy HTTPD-webkiszolgálókkal helyezhet üzembe az Azure Spring Appsben az alábbi módokon:
- Statikus fájlokat közvetlenül is üzembe helyezhet. Az Azure Spring Apps automatikusan konfigurálja a megadott webkiszolgálót a statikus fájlok kiszolgálására.
- Létrehozhatja az előtéralkalmazást a választott JavaScript-keretrendszerben, majd üzembe helyezheti a dinamikus előtér-alkalmazást a forráskódból. Az Azure Spring Apps statikus tartalommá építi az alkalmazást, és a konfigurált webkiszolgálóval szolgálja ki a statikus fájlokat.
A webkiszolgáló testreszabásához kiszolgálókonfigurációs fájlt is létrehozhat.
Üzembe helyezési példák
Az Ebben a szakaszban szereplő Azure CLI-példák két tárolóregisztrációs forgatókönyv statikus fájljainak kiépítését és üzembe helyezését mutatják be:
- Az Azure Spring Apps felügyelt tárolóregisztrációs adatbázisa.
- Felhasználó által felügyelt tárolóregisztrációs adatbázis.
Statikus fájlok közvetlen létrehozása és üzembe helyezése
Ez a példa statikus fájlokat helyez üzembe közvetlenül egy automatikusan létrehozott alapértelmezett kiszolgálókonfigurációs fájl használatával.
- Felügyelt Azure Spring Apps-tárolóregisztrációs adatbázis
- Felhasználó által felügyelt tárolóregisztrációs adatbázis
A következő parancs statikus fájlt helyez üzembe:
az spring app deploy
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code> \
--build-env BP_WEB_SERVER=nginx
A környezeti változók használatáról további információt az Automatikusan létrehozott kiszolgáló konfigurációs fájljának konfigurálása című szakaszban talál.
Az előtérbeli alkalmazás létrehozása és üzembe helyezése statikus tartalomként
Ez a példa egy dinamikus előtérbeli alkalmazást helyez üzembe a forráskódból.
- Felügyelt Azure Spring Apps-tárolóregisztrációs adatbázis
- Felhasználó által felügyelt tárolóregisztrációs adatbázis
A következő parancs üzembe helyez egy alkalmazást:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code> \
--build-env BP_WEB_SERVER=nginx BP_NODE_RUN_SCRIPTS=build BP_WEB_SERVER_ROOT=build
Statikus fájlok létrehozása és üzembe helyezése testreszabott konfigurációs fájl használatával
Ez a példa statikus fájlokat helyez üzembe egy testreszabott kiszolgálókonfigurációs fájl használatával.
- Felügyelt Azure Spring Apps-tárolóregisztrációs adatbázis
- Felhasználó által felügyelt tárolóregisztrációs adatbázis
A következő parancs üzembe helyez egy alkalmazást:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code>
További információt a cikk testreszabott kiszolgálókonfigurációs fájl használata című szakaszában talál.
Mintakód
Feljegyzés
A mintakódot a Paketo nyílt forráskód közössége tartja karban.
A Paketo buildpacks-minták számos különböző alkalmazástípus gyakori használati eseteit mutatják be, beleértve a következő használati eseteket:
- Statikus fájlok kiszolgálása alapértelmezett kiszolgálókonfigurációs fájllal a HTTPD vagy az NGINX kiválasztásával
BP_WEB_SERVER
. - A Node Csomagkezelő használatával egy React-alkalmazást statikus fájlokba hozhat létre, amelyeket egy webkiszolgáló képes kiszolgálni. Kövesse az alábbi lépéseket:
- Definiáljon egy szkriptet az
scripts
éles üzemre kész statikus objektumokat készítő package.json fájl tulajdonsága alatt. A React esetében azbuild
. - A buildszkript futtatása után megtudhatja, hogy hol vannak tárolva a statikus objektumok. A React esetében a statikus objektumok alapértelmezés szerint tárolódnak
./build
. - Állítsa be
BP_NODE_RUN_SCRIPTS
a buildszkript nevét. - Állítsa be
BP_WEB_SERVER_ROOT
a build kimeneti könyvtárát.
- Definiáljon egy szkriptet az
- Statikus fájlok kiszolgálókonfigurációs fájllal való kiszolgálása HTTPD vagy NGINX használatával.
Automatikusan létrehozott kiszolgáló konfigurációs fájljának konfigurálása
Környezeti változókkal módosíthatja az automatikusan létrehozott kiszolgáló konfigurációs fájlját. Az alábbi táblázat a támogatott környezeti változókat mutatja be.
Környezeti változó | Támogatott érték | Leírás |
---|---|---|
BP_WEB_SERVER |
nginx vagy httpd | Megadja a webkiszolgáló típusát, az Nginxhez nginx vagy az Apache HTTP-kiszolgáló httpd-jének típusát. Az automatikusan létrehozott kiszolgáló konfigurációs fájljának használatakor szükséges. |
BP_WEB_SERVER_ROOT |
Abszolút fájlelérési út vagy a /munkaterülethez viszonyított fájlelérési út. | Beállítja a statikus fájlok gyökérkönyvtárát. Az alapértelmezett érték public . |
BP_WEB_SERVER_ENABLE_PUSH_STATE |
igaz vagy hamis | Engedélyezi a leküldéses állapot útválasztását az alkalmazás számára. A kért útvonaltól függetlenül a index.html mindig kiszolgálják. Hasznos egyoldalas webalkalmazásokhoz. |
BP_WEB_SERVER_FORCE_HTTPS |
igaz vagy hamis | A HTTPS kényszerítése a kiszolgálói kapcsolatokhoz a HTTPS protokoll használatára irányuló összes kérés átirányításával. |
A következő környezeti változók nem támogatottak.
BP_LIVE_RELOAD_ENABLED
BP_NGINX_VERSION
BP_HTTPD_VERSION
Testreszabott kiszolgálókonfigurációs fájl használata
A webkiszolgálót testre szabott kiszolgálókonfigurációs fájllal konfigurálhatja. Az alábbi táblázat a konfigurációs fájl elérési útját mutatja be:
Webkiszolgáló | Alapértelmezett konfigurációs fájl elérési útja | Kiszolgálókonfigurációs fájl elérési útjának testreszabása |
---|---|---|
nginx | Az nginx.conf a forráskód gyökérútvonala alatt található. | Környezeti változó BP_NGINX_CONF_LOCATION használatával adja meg a konfigurációs fájl nevét. Helyezze a fájlt a forráskód gyökérútvonala alá. |
httpd | httpd.conf a forráskód gyökérútvonala alatt. | Nem támogatott. |
A konfigurációs fájlnak meg kell felelnie az alábbi táblázatban ismertetett korlátozásoknak.
Konfiguráció | Leírás | Nginx-konfiguráció | Httpd-konfiguráció |
---|---|---|---|
Figyelési port | A webkiszolgálónak a 8080-at kell figyelnie. A szolgáltatás ellenőrzi a portot a TCP-n, hogy készen áll-e, és hogy az élő állapotban van-e. A sablonos változót PORT a konfigurációs fájlban kell használnia. A megfelelő portszámot a rendszer a webkiszolgáló indításakor injektálja. |
listen {{PORT}} |
Listen "${PORT}" |
Napló elérési útja | Konfigurációs napló elérési útja a konzolhoz. | access_log /dev/stdout , error_log stderr |
ErrorLog /proc/self/fd/2 |
Fájl elérési útja írási engedéllyel | A webkiszolgáló írási engedélyt kap a /tmp könyvtárhoz. A teljes elérési út konfigurálásához írási engedély szükséges a /tmp könyvtárban. | Például: client_body_temp_path /tmp/client_body_temp | |
Az ügyfélkérés maximálisan elfogadott törzsmérete | A webkiszolgáló az átjáró mögött található. Az ügyfélkérés maximálisan elfogadott törzsmérete 500 m lehet az átjáróban, és a webkiszolgáló értékének 500 m-nél kisebbnek kell lennie. | client_max_body_size 500 m-nél kisebbnek kell lennie. |
LimitRequestBody 500 m-nél kisebbnek kell lennie. |
Buildpack-kötések
A statikus fájlok Azure Spring Apps Enterprise-csomagban való üzembe helyezése támogatja a Dynatrace buildpack kötést. A htpasswd
buildpack kötés nem támogatott.
További információ: Az APM-integráció és a hitelesítésszolgáltatói tanúsítványok konfigurálása.
Gyakori buildelési és üzembehelyezési hibák
A statikus fájlok Azure Spring Apps Enterprise-példányban való üzembe helyezése a következő gyakori buildelési hibákat okozhatja:
ERROR: No buildpack groups passed detection.
ERROR: Please check that you're running against the correct path.
ERROR: failed to detect: no buildpacks participating
A hibák kiváltó oka az, hogy a webkiszolgáló típusa nincs megadva. A hibák megoldásához állítsa a környezeti változót nginx vagy httpd értékre. BP_WEB_SERVER
Az alábbi táblázat a statikus fájlok Azure Spring Apps Enterprise-ban való üzembe helyezésekor előforduló gyakori üzembehelyezési hibákat ismerteti.
Hibaüzenet | Gyökérok | Megoldás |
---|---|---|
112404: Exit code 0: purposely stopped, please refer to https://aka.ms/exitcode |
A webkiszolgáló nem indult el. | Ellenőrizze a kiszolgáló konfigurációs fájlját, hogy ellenőrizze, van-e konfigurációs hiba. Ezután ellenőrizze, hogy a konfigurációs fájl megfelel-e a testreszabott kiszolgáló konfigurációs fájljának használata szakaszban leírt korlátozásoknak. |
mkdir() "/var/client_body_temp" failed (13: Permission denied) |
A webkiszolgáló nem rendelkezik írási engedéllyel a megadott elérési útra. | Konfigurálja az elérési utat a /tmp könyvtár alatt, például: /tmp/client_body_temp. |