Nasazení webových statických souborů

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

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

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_SERVERHTTPD 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:
    1. Definujte skript pod scripts vlastností souboru package.json , který sestaví statické prostředky připravené pro produkční prostředí. Pro React je to build.
    2. 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 .
    3. Nastavte BP_NODE_RUN_SCRIPTS na název skriptu sestavení.
    4. Nastavte BP_WEB_SERVER_ROOT výstupní adresář sestavení.
  • 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.

Další kroky