Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: .NET Core 2.1, .NET Core 3.1, .NET 5
W tym artykule przedstawiono sposób kopiowania plików z komputera z systemem Windows do maszyny wirtualnej z systemem Linux i wyodrębniania plików.
Wymagania wstępne
Ta część nie ma żadnych wymagań wstępnych.
Cel tej części
Dowiesz się, jak kopiować pliki z komputera z systemem Windows do maszyny wirtualnej z systemem Linux. Będzie to przydatne podczas wdrażania aplikacji w systemie Linux.
Chociaż w tej części nie ma żadnych wymagań wstępnych, idealna konfiguracja będzie przestrzegać wskazówek z poprzednich części. Powinny istnieć następujące elementy:
- Serwer Nginx uruchomiony automatycznie i skonfigurowany do nasłuchiwania żądań wysyłanych na porcie 80
- Serwer Nginx skonfigurowany jako zwrotny serwer proxy i routing żądań przychodzących do aplikacji ASP.NET Core nasłuchuje na porcie 5000
- Aplikacja ASP.NET Core skonfigurowana do automatycznego uruchamiania po ponownym uruchomieniu serwera lub zatrzymaniu lub awarii procesu.
- Lokalna zapora systemu Linux skonfigurowana do zezwalania na ruch SSH i HTTP
Kopiowanie plików z systemu Windows do systemu Linux i na odwrót
Istnieje kilka opcji kopiowania plików między systemami Windows i Linux. Różne metody można znaleźć w kilku dobrych artykułach, takich jak ten. Oto kilka opcji:
- Udostępnianie folderów sieciowych. Zapoznaj się z protokołem SMB i protokołem Samba.
- Transfer plików przy użyciu protokołu FTP. Jednym z najbardziej znanych serwerów FTP w systemie Linux jest PureFTPd.
- Bezpieczne kopiowanie plików za pośrednictwem protokołu SSH. Możesz użyć polecenia scp , aby skopiować za pośrednictwem protokołu SSH. Jednak lepszym narzędziem jest pscp (dołączony do puTTY).
- Udostępnianie danych przy użyciu oprogramowania synchronizacji. Program synchronizacji pomaga tworzyć punkty synchronizacji zarówno w systemach Windows, jak i Linux, a następnie synchronizować je przy użyciu klucza szyfrowania.
- Użyj folderów udostępnionych, jeśli system Linux jest uruchomiony jako maszyna wirtualna na maszynie wirtualnej. Kilka narzędzi, takich jak VirtualBox firmy Oracle, ułatwia tworzenie wirtualnych katalogów udostępnionych.
W tej części użyjesz programu pscp do transferu plików z systemu Windows do systemu Linux.
Podstawowe parametry pscp
Pscp
ułatwia wykonywanie podstawowych zadań, takich jak kopiowanie pliku do systemu Linux. To narzędzie jest dołączone do programu PuTTY, dlatego powinno być zainstalowane na komputerze z systemem Windows razem z oprogramowaniem PuTTY. Jeśli tak nie jest, zainstaluj go teraz.
Oto przykładowe polecenie:
pscp -i <private key path> <local file to upload> user@host:<Linux path to save>
Aby na przykład skopiować plik c:\web\publish.zip do katalogu macierzystego użytkownika w systemie Linux, użyj następującego polecenia:
pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>
Klucz prywatny jest tym samym kluczem ppk, który został przekonwertowany z pliku pem podczas próby nawiązania połączenia z maszyną wirtualną przy użyciu programu PuTTY. Jeśli to zrobiono pomyślnie, powinien już znajdować się ten plik. Jeśli nie masz pliku ppk, postępuj zgodnie z instrukcjami z sekcji "Nawiązywanie połączenia z oprogramowaniem PuTTY" i przekonwertuj plik pem na plik ppk.
Kopiowanie pliku do systemu Linux i wyodrębnianie go do innego folderu
Pobieranie przykładowego projektu
Na potrzeby tego samouczka skopiujesz aplikację testową o nazwie BuggyAmb. Ta aplikacja jest dostępna w przykładowej aplikacji debugowania BuggyAmb. Zalecamy użycie tej przykładowej aplikacji, ponieważ w następnych częściach ta aplikacja służy do symulowania problemów z wysoką i niską wydajnością procesora CPU oraz problemów z awariami w laboratoriach rozwiązywania problemów.
BuggyAmb to po prostu aplikacja Razor Pages oparta na usterce ASP.NET Core 3.1. Ta aplikacja została celowo utworzona jako aplikacja usterka, która będzie używana jako zasób szkoleniowy w celu rozwiązywania problemów ze scenariuszami dotyczącymi aplikacji ASP.NET Core w systemie Linux.
Pliki kodu źródłowego można znaleźć w pliku binarnym ASP.NET Core dla systemu Linux. Jest to w formacie .tar.gz , ponieważ ten format jest wspólny w świecie systemu Linux. Możesz również pobrać plik buggyamb_v1.1 w formacie .zip dla systemu Windows.
Kopiowanie pliku buggyamb_v1.1.tar.gz na maszynę wirtualną z systemem Linux
Otwórz okno wiersza polecenia na komputerze z systemem Windows i przejdź do folderu, w którym zainstalowano program PuTTY. Aby skopiować plik, uruchom następujące polecenie:
pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>
pscp
Uruchom również polecenie po zmodyfikowaniu go przy użyciu własnego klucza prywatnego i ścieżek odpowiednio. Poniższy zrzut ekranu przedstawia pomyślny transfer plików między systemem Windows i maszyną wirtualną z systemem Linux.
Uwaga 16.
Podczas nawiązywania połączenia z maszyną wirtualną po raz pierwszy przy użyciu pscp
polecenia może zostać wyświetlony komunikat ostrzegawczy o niezgodności klucza hosta.
Połącz się z maszyną wirtualną z systemem Linux i sprawdź, czy plik istnieje. Można to zrobić za pomocą ls
polecenia .
Istnieją inne metody kopiowania plików między systemami Linux i Windows. Jednak ta metoda jest wystarczająca na potrzeby tego samouczka.
Użyj pliku buggyamb_v1.1.tar.gz, aby utworzyć drugą aplikację ASP.NET Core działającą za serwerem Nginx. Tym razem ta aplikacja zostanie skonfigurowana do przeglądania za pomocą nazwy hosta. Ta sama aplikacja będzie używana w laboratoriach rozwiązywania problemów, które składają się na ten samouczek.
Uwaga 16.
Jeśli masz trudności z kopiowaniem pliku buggyamb_v1.1.tar.gz na maszynę z systemem Linux, możesz po prostu pobrać plik .tar.gz z maszyny wirtualnej z systemem Linux przy użyciu następującego prostego wget
polecenia:
wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz
Wyodrębnianie plików i kopiowanie do folderu /var/
Buggyamb_v1.1.tar.gz zawiera wszystkie elementy potrzebne do uruchomienia aplikacji buggy. Podobnie jak w przypadku pierwszej aplikacji ASP.NET Core, wykonaj te same kroki, aby skonfigurować tę aplikację do uruchamiania zawsze za serwerem Nginx.
Wyodrębnij plik .tar.gz i skopiuj go do folderu /var . Istnieją dwa proste sposoby wykonania tego zadania:
- Opcja 1. Wyodrębnij plik tar.gz do bieżącego katalogu, uruchamiając polecenie
tar -xf filename.tar.gz
. Następnie skopiuj wyodrębniony folder do folderu /var . - Opcja 2. Wyodrębnij plik tar.gz bezpośrednio do katalogu /var .
Opcja 1. Uruchom polecenie tar -xf buggyamb_v1.1.tar.gz
, aby utworzyć folder buggyamb_v1.1 . Następnie skopiuj go do folderu /var przy użyciu sudo cp -a buggyamb_v1.1 /var/
polecenia .
Opcja 2. Wyodrębnij aplikację bezpośrednio do folderu /var/ przy użyciu sudo tar -xf buggyamb_v1.1.tar.gz -C /var/
polecenia .
Wybierz jedną z opcji, aby wyodrębnić pliki aplikacji buggyamb_v1.1 . Należy je wyodrębnić lub przenieść do folderu /var/buggyamb_v1.1 , aby ukończyć instalację. Ten folder będzie używany jako katalog roboczy dla nowej aplikacji ASP.NET Core.
Następne kroki
Część 2.6 — uruchamianie dwóch aplikacji ASP.NET Core w tym samym czasie
Skonfiguruj i uruchom aplikację buggy ASP.NET Core za serwerem Nginx. Na końcu tych kroków będziesz mieć dwie aplikacje ASP.NET Core uruchomione za serwerem Nginx.