Megosztás a következőn keresztül:


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

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.

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.

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.

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:
    1. 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 az build.
    2. 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 .
    3. Állítsa be BP_NODE_RUN_SCRIPTS a buildszkript nevét.
    4. Állítsa be BP_WEB_SERVER_ROOT a build kimeneti könyvtárát.
  • 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.

Következő lépések