Nasazení webových statických souborů
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na: ❎ Basic/Standard ✅ Enterprise
V tomto článku se dozvíte, jak nasadit statické soubory do instance plánu Azure Spring Apps Enterprise pomocí buildpacku Webových serverů Tanzu. Tento přístup je užitečný, pokud máte aplikace, které jsou čistě pro uchovávání statických souborů, jako jsou HTML, CSS nebo front-endové aplikace vytvořené pomocí javascriptové architektury podle vašeho výběru. Tyto aplikace můžete přímo nasadit s automaticky nakonfigurovaným webovým serverem (HTTPD a NGINX), který bude sloužit těmto prostředkům.
Požadavky
- Již zřízená instance plánu Azure Spring Apps Enterprise. Další informace najdete v tématu Rychlý start: Sestavování a nasazování aplikací do Azure Spring Apps pomocí plánu Enterprise.
- Jedna nebo více aplikací spuštěných v Azure Spring Apps
- Azure CLI verze 2.45.0 nebo vyšší
- Statické soubory nebo dynamická front-endová aplikace – například aplikace React.
Nasazení statických souborů
Poznámka:
Tento článek se zaměřuje na popis konfigurací nasazení a řešení potíží specifických pro nasazení webových statických souborů. Pokud chcete porozumět obecným scénářům sestavení a nasazení pro plán Azure Springs Apps Enterprise, přečtěte si část o použití služby Tanzu Build Service a o tom, jak nasadit polyglotní aplikace.
Statické soubory můžete do Azure Spring Apps nasadit pomocí NGINX nebo webových serverů HTTPD následujícími způsoby:
- Statické soubory můžete nasadit přímo. Azure Spring Apps automaticky nakonfiguruje zadaný webový server tak, aby sloužil statickým souborům.
- Front-endovou aplikaci můžete vytvořit v javascriptové architektuře podle vašeho výběru a pak nasadit dynamickou front-endovou aplikaci ze zdrojového kódu. Azure Spring Apps sestaví aplikaci do statického obsahu a použije nakonfigurovaný webový server k obsluhě statických souborů.
Můžete také vytvořit konfigurační soubor serveru pro přizpůsobení webového serveru.
Příklady nasazení
Příklady Azure CLI v této části ukazují sestavení a nasazení statických souborů pro dva scénáře registru kontejneru:
- Registr kontejnerů spravovaný službou Azure Spring Apps
- Registr kontejneru spravovaný uživatelem.
Přímé sestavování a nasazování statických souborů
Tento příklad nasadí statické soubory přímo pomocí automaticky generovaného výchozího konfiguračního souboru serveru.
Následující příkaz nasadí statický soubor:
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
Informace o používání proměnných prostředí najdete v části Konfigurace automaticky vygenerovaného konfiguračního souboru serveru .
Sestavení a nasazení front-endové aplikace jako statického obsahu
Tento příklad nasadí dynamickou front-endovou aplikaci ze zdrojového kódu.
Následující příkaz nasadí aplikaci:
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
Sestavení a nasazení statických souborů pomocí přizpůsobeného konfiguračního souboru
Tento příklad nasadí statické soubory pomocí přizpůsobeného konfiguračního souboru serveru.
Následující příkaz nasadí aplikaci:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--source-path <path-to-source-code>
Další informace najdete v části Použití přizpůsobeného konfiguračního souboru serveru v tomto článku.
Ukázkový kód
Poznámka:
Vzorový kód udržuje opensourcová komunita Paketo.
Ukázky buildpacků Paketo demonstrují běžné případy použití pro několik různých typů aplikací, včetně následujících případů použití:
- Obsluha statických souborů s výchozím konfiguračním souborem serveru pomocí příkazu
BP_WEB_SERVER
HTTPD nebo NGINX. - Použití Node Správce balíčků k sestavení aplikace React do statických souborů, které může webový server obsluhovat. Použijte následující kroky:
- Definujte skript pod
scripts
vlastností souboru package.json , který sestaví statické prostředky připravené pro produkční prostředí. Pro React je tobuild
. - Zjistěte, kde se po spuštění skriptu sestavení ukládají statické prostředky. V případě Reactu jsou statické prostředky ve výchozím nastavení uložené
./build
. - Nastavte
BP_NODE_RUN_SCRIPTS
na název skriptu sestavení. - Nastavte
BP_WEB_SERVER_ROOT
výstupní adresář sestavení.
- Definujte skript pod
- Obsluhování statických souborů s vlastním konfiguračním souborem serveru pomocí HTTPD nebo NGINX
Konfigurace automaticky generovaného konfiguračního souboru serveru
Proměnné prostředí můžete použít k úpravě automaticky generovaného konfiguračního souboru serveru. Následující tabulka uvádí podporované proměnné prostředí.
Proměnná prostředí | Podporovaná hodnota | Popis |
---|---|---|
BP_WEB_SERVER |
nginx nebo httpd | Určuje typ webového serveru, buď nginx pro Nginx, nebo httpd pro server Apache HTTP. Vyžaduje se při použití automaticky generovaného konfiguračního souboru serveru. |
BP_WEB_SERVER_ROOT |
Absolutní cesta k souboru nebo cesta k souboru vzhledem k /workspace. | Nastaví kořenový adresář pro statické soubory. Výchozí hodnota je public . |
BP_WEB_SERVER_ENABLE_PUSH_STATE |
true nebo false | Umožňuje směrování stavu nabízení pro vaši aplikaci. Bez ohledu na požadovanou trasu se index.html vždy obsluhuje. Užitečné pro jednostrákové webové aplikace. |
BP_WEB_SERVER_FORCE_HTTPS |
true nebo false | Vynucuje https pro připojení k serveru přesměrováním všech požadavků na použití protokolu HTTPS. |
Následující proměnné prostředí nejsou podporovány.
BP_LIVE_RELOAD_ENABLED
BP_NGINX_VERSION
BP_HTTPD_VERSION
Použití přizpůsobeného konfiguračního souboru serveru
Webový server můžete nakonfigurovat pomocí přizpůsobeného konfiguračního souboru serveru. Následující tabulka ukazuje cestu ke konfiguračnímu souboru:
Webový server | Výchozí cesta konfiguračního souboru | Přizpůsobení cesty konfiguračního souboru serveru |
---|---|---|
nginx | nginx.conf pod kořenovou cestou zdrojového kódu. | Pomocí proměnné BP_NGINX_CONF_LOCATION prostředí zadejte název konfiguračního souboru. Umístěte soubor pod kořenovou cestu zdrojového kódu. |
httpd | httpd.conf pod kořenovou cestou zdrojového kódu. | Nepodporováno |
Konfigurační soubor musí odpovídat omezením popsaným v následující tabulce.
Konfigurace | Popis | Konfigurace Nginx | Konfigurace httpd |
---|---|---|---|
Port naslouchání | Webový server musí naslouchat na portu 8080. Služba zkontroluje připravenost portu na protokolu TCP a jestli je aktivní. V konfiguračním souboru musíte použít proměnnou se PORT šablonou. Při spuštění webového serveru se vloží příslušné číslo portu. |
listen {{PORT}} |
Listen "${PORT}" |
Cesta k protokolu | Cesta k protokolu konfigurace ke konzole. | access_log /dev/stdout , error_log stderr |
ErrorLog /proc/self/fd/2 |
Cesta k souboru s oprávněním k zápisu | Webový server má udělené oprávnění k zápisu do adresáře /tmp . Konfigurace úplné cesty vyžaduje oprávnění k zápisu v adresáři /tmp . | Příklad: client_body_temp_path /tmp/client_body_temp | |
Maximální přijatá velikost textu požadavku klienta | Webový server je za bránou. Maximální přijatá velikost textu požadavku klienta je v bráně nastavená na 500 m a hodnota webového serveru musí být menší než 500 m. | client_max_body_size by měla být menší než 500 m. |
LimitRequestBody by měla být menší než 500 m. |
Vazby buildpacku
Nasazení statických souborů do plánu Azure Spring Apps Enterprise podporuje vazbu buildpacku Dynatrace. Vazba htpasswd
buildpacku není podporovaná.
Další informace najdete v tématu Konfigurace integrace APM a certifikátů certifikační autority.
Běžné chyby sestavení a nasazení
Vaše nasazení statických souborů do instance Azure Spring Apps Enterprise může generovat následující běžné chyby sestavení:
ERROR: No buildpack groups passed detection.
ERROR: Please check that you're running against the correct path.
ERROR: failed to detect: no buildpacks participating
Hlavní příčinou těchto chyb je, že typ webového serveru není zadaný. Pokud chcete tyto chyby vyřešit, nastavte proměnnou BP_WEB_SERVER
prostředí na nginx nebo httpd.
Následující tabulka popisuje běžné chyby nasazení při nasazování statických souborů do Azure Spring Apps Enterprise.
Chybová zpráva | Původní příčina | Řešení |
---|---|---|
112404: Exit code 0: purposely stopped, please refer to https://aka.ms/exitcode |
Webový server se nepovedlo spustit. | Ověřte konfigurační soubor serveru a zjistěte, jestli nedošlo k chybě konfigurace. Potom zkontrolujte, jestli konfigurační soubor odpovídá omezením popsaným v části Použít přizpůsobený konfigurační soubor serveru . |
mkdir() "/var/client_body_temp" failed (13: Permission denied) |
Webový server nemá oprávnění k zápisu k zadané cestě. | Nakonfigurujte cestu pod adresářem /tmp; například :/tmp/client_body_temp. |