Wdrażanie aplikacji w Azure App Service przy użyciu protokołu FTP/S
W tym artykule pokazano, jak za pomocą protokołu FTP lub FTPS wdrożyć aplikację internetową, zaplecze aplikacji mobilnej lub aplikację interfejsu API w celu Azure App Service.
Punkt końcowy FTP/S dla aplikacji jest już aktywny. Do włączenia wdrożenia FTP/S nie jest wymagana żadna konfiguracja.
Uwaga
Strona Centrum deweloperów (wersja klasyczna) w Azure Portal, która jest starym środowiskiem wdrażania, zostanie wycofana w marcu 2021 r. Ta zmiana nie wpłynie na żadne istniejące ustawienia wdrożenia w aplikacji i można nadal zarządzać wdrażaniem aplikacji na stronie Centrum wdrażania .
Pobieranie poświadczeń wdrożenia
Postępuj zgodnie z instrukcjami w temacie Konfigurowanie poświadczeń wdrożenia dla Azure App Service, aby skopiować poświadczenia zakresu aplikacji lub ustawić poświadczenia zakresu użytkownika. Możesz nawiązać połączenie z punktem końcowym FTP/S aplikacji przy użyciu poświadczeń.
Utwórz nazwę użytkownika FTP w następującym formacie, w zależności od wybranego zakresu poświadczeń:
Zakres aplikacji Zakres użytkownika <app-name>\$<app-name>
<app-name>\<deployment-user>
W App Service punkt końcowy FTP/S jest współużytkowany między aplikacjami. Ponieważ poświadczenia zakresu użytkownika nie są połączone z określonym zasobem, należy wstępnie otworzyć nazwę użytkownika o nazwie aplikacji, jak pokazano powyżej.
Uzyskiwanie punktu końcowego FTP/S
Na tej samej stronie zarządzania aplikacji, na której skopiowano poświadczenia wdrożenia (poświadczenia FTPCentrum> wdrażania), skopiuj punkt końcowy FTPS.
Wdrażanie plików na platformie Azure
- Z poziomu klienta FTP (na przykład Visual Studio, Cyberduck lub WinSCP) użyj zebranych informacji o połączeniu, aby nawiązać połączenie z aplikacją.
- Skopiuj pliki i ich odpowiednią strukturę katalogów do katalogu /site/wwwroot na platformie Azure (lub /site/wwwroot/App_Data/Jobs/ katalogu dla zadań WebJobs).
- Przejdź do adresu URL aplikacji, aby sprawdzić, czy aplikacja działa prawidłowo.
Uwaga
W przeciwieństwie do wdrożeń opartych na usłudze Git i wdrażania zip wdrożenie FTP nie obsługuje automatyzacji kompilacji, takich jak:
- przywracanie zależności (takie jak NuGet, NPM, PIP i Composer automations)
- kompilacja plików binarnych platformy .NET
- generowanie web.config (oto przykładNode.js)
Wygeneruj te niezbędne pliki ręcznie na komputerze lokalnym, a następnie wdróż je razem z aplikacją.
Wymuszanie protokołu FTPS
W przypadku zwiększonych zabezpieczeń należy zezwolić tylko na protokół FTP za pośrednictwem protokołu TLS/SSL. Możesz również wyłączyć protokół FTP i FTPS, jeśli nie używasz wdrożenia FTP.
Na stronie zasobu aplikacji w Azure Portal wybierz pozycjęUstawienia ogólnekonfiguracji> w obszarze nawigacji po lewej stronie.
Aby wyłączyć niezaszyfrowany protokół FTP, wybierz pozycję FTPS Tylko w stanie FTP. Aby całkowicie wyłączyć protokół FTP i FTPS, wybierz pozycję Wyłączone. Po skończeniu kliknij przycisk Zapisz. Jeśli używasz tylko protokołu FTPS, musisz wymusić protokół TLS 1.2 lub nowszy, przechodząc do bloku ustawień protokołu TLS/SSL aplikacji internetowej. Protokół TLS 1.0 i 1.1 nie są obsługiwane tylko z protokołem FTPS.
Co się stanie z moją aplikacją podczas wdrażania?
Wszystkie oficjalnie obsługiwane metody wdrażania wprowadzają zmiany w plikach w folderze /home/site/wwwroot aplikacji. Te pliki są używane do uruchamiania aplikacji. Wdrożenie może zakończyć się niepowodzeniem z powodu zablokowanych plików. Aplikacja może również zachowywać się nieprzewidywalnie podczas wdrażania, ponieważ pliki nie są aktualizowane w tym samym czasie. To zachowanie jest niepożądane dla aplikacji przeznaczonej dla klientów. Istnieje kilka sposobów uniknięcia tych problemów:
- Uruchom aplikację bezpośrednio z pakietu ZIP bez rozpakowywania.
- Zatrzymaj aplikację lub włącz tryb offline podczas wdrażania. Aby uzyskać więcej informacji, zobacz Deal with locked files during deployment (Obsługa zablokowanych plików podczas wdrażania).
- Wdróż w miejscu przejściowym z włączonym automatycznym zamianą .
Rozwiązywanie problemów z wdrażaniem protokołu FTP
- Jak mogę rozwiązać problemy z wdrażaniem protokołu FTP?
- I'm not able to FTP and publish my code. Jak mogę rozwiązać problem?
- Jak nawiązać połączenie z protokołem FTP w Azure App Service za pośrednictwem trybu pasywnego?
Jak mogę rozwiązać problemy z wdrażaniem protokołu FTP?
Pierwszym krokiem rozwiązywania problemów z wdrażaniem protokołu FTP jest izolowanie problemu z wdrożeniem z poziomu aplikacji środowiska uruchomieniowego.
Problem z wdrożeniem zwykle powoduje, że w aplikacji nie są wdrażane żadne pliki ani nieprawidłowe pliki. Możesz rozwiązać problemy, badając wdrożenie FTP lub wybierając alternatywną ścieżkę wdrożenia (np. kontrolę źródła).
Problem z aplikacją środowiska uruchomieniowego zwykle powoduje prawidłowy zestaw plików wdrożonych w aplikacji, ale nieprawidłowe zachowanie aplikacji. Możesz rozwiązać problem, koncentrując się na zachowaniu kodu w czasie wykonywania i badania określonych ścieżek awarii.
Aby określić problem z wdrożeniem lub środowiskiem uruchomieniowym, zobacz Problemy z wdrażaniem a środowiskiem uruchomieniowym.
I'm not able to FTP and publish my code. Jak mogę rozwiązać problem?
Sprawdź, czy wprowadzono poprawną nazwę hosta i poświadczenia. Sprawdź również, czy następujące porty FTP na maszynie nie są blokowane przez zaporę:
- Port połączenia sterowania FTP: 21, 990
- Port połączenia danych FTP: 989, 10001-10300
Jak nawiązać połączenie z protokołem FTP w Azure App Service za pośrednictwem trybu pasywnego?
Azure App Service obsługuje nawiązywanie połączeń za pośrednictwem trybu aktywnego i pasywnego. Tryb pasywny jest preferowany, ponieważ maszyny wdrażania są zwykle za zaporą (w systemie operacyjnym lub w ramach sieci domowej lub biznesowej). Zobacz przykład z dokumentacji narzędzia WinSCP.
Jak mogę określić metodę, która została użyta do wdrożenia Azure App Service?
Załóżmy, że przejmujesz aplikację i chcesz dowiedzieć się, jak wdrożono Azure App Service, aby można było wprowadzać zmiany i wdrażać je. Możesz określić, jak wdrożono Azure App Service, sprawdzając ustawienia aplikacji. Jeśli aplikacja została wdrożona przy użyciu zewnętrznego adresu URL pakietu, zobaczysz ustawienie WEBSITE_RUN_FROM_PACKAGE w ustawieniach aplikacji z wartością adresu URL. Lub jeśli został wdrożony przy użyciu wdrożenia zip, zobaczysz ustawienie WEBSITE_RUN_FROM_PACKAGE z wartością 1. Jeśli aplikacja została wdrożona przy użyciu usługi Azure DevOps, w portalu usługi Azure DevOps zostanie wyświetlona historia wdrożenia. Jeśli użyto Azure Functions Core Tools, w Azure Portal zostanie wyświetlona historia wdrażania.
Więcej zasobów
- Lokalne wdrożenie usługi Git w Azure App Service
- Azure App Service poświadczenia wdrożenia
- Przykład: tworzenie aplikacji internetowej i wdrażanie plików przy użyciu protokołu FTP (interfejs wiersza polecenia platformy Azure).
- Przykład: przekazywanie plików do aplikacji internetowej przy użyciu protokołu FTP (PowerShell).