Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Plány Basic, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Další informace najdete v oznámení o vyřazení Azure Spring 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.
Nasazujte statické soubory
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, podívejte se na část Build service on demand v Use Tanzu Build Service a How to deploy polyglot apps.
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, kde k výběru
BP_WEB_SERVERnebo NGINX použijete . - Použití Node Package Manageru k sestavení React aplikace do statických souborů, které může webový server obsluhovat. Použijte následující kroky:
- Definujte pod vlastností
scriptsv souboru package.json skript, 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_SCRIPTSna název skriptu sestavení. - Nastavte výstupní adresář sestavení na
BP_WEB_SERVER_ROOT.
- Definujte pod vlastností
- Obsluhování statických souborů pomocí vlastního konfiguračního souboru serveru, a to buď prostřednictvím 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, a to 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í push stavu pro vaši aplikaci. Bez ohledu na požadovanou trasu je vždy obsloužen index.html. 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_ENABLEDBP_NGINX_VERSIONBP_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 v kořenové cestě vašeho 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 v kořenovém adresáři 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 šablonovou proměnnou PORT. Při spuštění webového serveru se vloží příslušné číslo portu. |
listen {{PORT}} |
Listen "${PORT}" |
| Cesta k záznamu | Nastavte cestu k protokolu na konzoli. |
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. |
Propojení s buildpacky
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ý. Chcete-li tyto chyby vyřešit, nastavte proměnnou BP_WEB_SERVER prostředí na nginx hodnotu 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. |