Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: .NET Core 2.1, .NET Core 3.1, .NET 5
In diesem Artikel wird erläutert, wie Sie Dateien von einem Windows-basierten Computer auf einen virtuellen Linux-Computer kopieren und Dateien extrahieren.
Voraussetzungen
Dieser Teil hat keine Voraussetzungen.
Ziel dieses Teils
Sie erfahren, wie Sie Dateien von einem Windows-basierten Computer auf einen virtuellen Linux-Computer (VM) kopieren. Dies ist hilfreich, wenn Sie Ihre Anwendung auf Linux bereitstellen.
Obwohl es keine Voraussetzungen für diesen Teil gibt, würde die ideale Einrichtung den Anweisungen der vorherigen Teile folgen. Sie sollten folgendes haben:
- Nginx wird automatisch ausgeführt und für das Überwachen von Anforderungen konfiguriert, die an Port 80 gesendet wurden
- Nginx als Reverseproxy konfiguriert und routing eingehende Anforderungen an eine ASP.NET Core-Anwendung, die auf Port 5000 lauscht
- Die ASP.NET Core-Anwendung, die so konfiguriert ist, dass sie nach dem Neustart des Servers automatisch gestartet wird oder wenn der Prozess beendet oder abstürzt.
- Eine lokale Linux-Firewall, die so konfiguriert ist, dass SSH- und HTTP-Datenverkehr zugelassen wird
Kopieren von Dateien von Windows nach Linux und umgekehrt
Es gibt mehrere Optionen zum Kopieren von Dateien zwischen Windows und Linux. Sie finden die verschiedenen Methoden in mehreren guten Artikeln, z . B. in diesem Artikel. Hier einige Optionen:
- Freigeben von Netzwerkordnern. Siehe SMB-Protokoll und Samba.
- Übertragen von Dateien mithilfe von FTP. Einer der bekanntesten FTP-Server in Linux ist PureFTPd.
- Sicheres Kopieren von Dateien über SSH. Sie können den scp-Befehl zum Kopieren über SSH verwenden. Ein besseres Tool ist jedoch pscp (enthalten in PuTTY).
- Freigeben von Daten mithilfe von Synchronisierungssoftware. Mit einem Synchronisierungsprogramm können Sie Synchronisierungspunkte sowohl in Windows als auch unter Linux erstellen und dann mithilfe eines Verschlüsselungsschlüssels synchronisieren.
- Verwenden Sie freigegebene Ordner, wenn Linux als VM auf Ihrem virtuellen Computer ausgeführt wird. Verschiedene Tools, z. B. Das VirtualBox-Element von Oracle, helfen Ihnen beim Erstellen von virtuellen freigegebenen Verzeichnissen.
In diesem Teil verwenden Sie pscp, um Dateien von Windows auf Linux zu übertragen.
Grundlegende pscp-Parameter
Pscp
macht es einfach, grundlegende Aufgaben auszuführen, z. B. das Kopieren einer Datei nach Linux. Dieses Tool ist im Lieferumfang von PuTTY enthalten, daher sollte es zusammen mit PuTTY auf Ihrem Windows-basierten Computer installiert werden. Falls nicht, installieren Sie sie jetzt.
Hier sehen Sie einen Beispielbefehl:
pscp -i <private key path> <local file to upload> user@host:<Linux path to save>
Wenn Sie beispielsweise die Datei "c:\web\publish.zip " in das Startverzeichnis Ihres Benutzers in Linux kopieren möchten, verwenden Sie den folgenden Befehl:
pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>
Der private Schlüssel ist derselbe PPK-Schlüssel , der von einer PEM-Datei konvertiert wurde, als Sie versucht haben, mithilfe von PuTTY eine Verbindung mit Ihrer VM herzustellen. Wenn Sie dies erfolgreich ausgeführt haben, sollten Sie diese Datei bereits haben. Wenn Sie nicht über die PPK-Datei verfügen, folgen Sie den Anweisungen aus dem Abschnitt "Verbinden mit PuTTY", und konvertieren Sie Ihre PEM-Datei in PPK.
Kopieren einer Datei in Linux und Extrahieren in einen anderen Ordner
Herunterladen eines Beispielprojekts
In diesem Lernprogramm kopieren Sie eine Testanwendung mit dem Namen "BuggyAmb". Diese Anwendung ist für Debugging-Beispielanwendung "BugAmb" verfügbar. Es wird empfohlen, diese Beispielanwendung zu verwenden, da die nächsten Teile diese Anwendung verwenden, um Probleme mit hoher und geringer CPU-Leistung und Absturzprobleme in den Problembehandlungslaboren zu simulieren.
BuggyAmb ist einfach ein Kinderwagen ASP.NET Core 3.1-basierte Razor Pages Anwendung. Diese Anwendung wurde absichtlich als Kinderwagenanwendung erstellt, die als Lernressource verwendet wird, um problematische Szenarien für eine ASP.NET Core-Anwendung unter Linux zu beheben.
Sie finden die Quellcodedateien unter ASP.NET Core-Binärdateien für Linux. Dies ist im .tar.gz Format, da dieses Format in der Linux-Welt üblich ist. Sie können das buggyamb_v1.1 auch im .zip Format für Windows herunterladen.
Kopieren buggyamb_v1.1.tar.gz Datei auf eine Linux-VM
Öffnen Sie ein Eingabeaufforderungsfenster auf Ihrem Windows-basierten Computer, und wechseln Sie zu dem Ordner, in dem PuTTY installiert ist. Führen Sie den folgenden Befehl aus, um die Datei zu kopieren:
pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>
Führen Sie auch den pscp
Befehl aus, nachdem Sie ihn geändert haben, indem Sie ihren eigenen privaten Schlüssel und Pfade entsprechend verwenden. Der folgende Screenshot zeigt eine erfolgreiche Dateiübertragung zwischen Windows und der Linux-VM.
Notiz
Wenn Sie zum ersten Mal mithilfe des pscp
Befehls eine Verbindung mit Ihrem virtuellen Computer herstellen, wird möglicherweise eine Warnmeldung über eine Übereinstimmung mit einem Hostschlüssel angezeigt.
Stellen Sie eine Verbindung mit Ihrer Linux-VM her, und überprüfen Sie, ob die Datei vorhanden ist. Verwenden Sie dazu den ls
-Befehl.
Es gibt weitere Methoden zum Kopieren von Dateien zwischen Linux und Windows. Diese Methode reicht jedoch für dieses Lernprogramm aus.
Verwenden Sie die buggyamb_v1.1.tar.gz Datei, um eine zweite ASP.NET Core-Anwendung zu erstellen, die hinter Nginx ausgeführt wird. Dieses Mal wird diese Anwendung so konfiguriert, dass ein Hostname zum Durchsuchen verwendet wird. Die gleiche Anwendung wird in den Problembehandlungslaboren verwendet, die dieses Lernprogramm umfassen.
Notiz
Wenn Sie Schwierigkeiten haben, die buggyamb_v1.1.tar.gz Datei auf Ihren Linux-Computer zu kopieren, können Sie einfach die .tar.gz Datei von Ihrer Linux-VM herunterladen, indem Sie diesen einfachen wget
Befehl verwenden:
wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz
Extrahieren Sie die Dateien, und kopieren Sie sie in den Ordner "/var/".
Buggyamb_v1.1.tar.gz enthält alles, was Sie zum Ausführen Ihrer Kinderwagenanwendung benötigen. Führen Sie genau wie für Ihre erste ASP.NET Core-Anwendung die gleichen Schritte aus, um diese Anwendung so zu konfigurieren, dass sie immer hinter Nginx ausgeführt wird.
Extrahieren Sie die .tar.gz Datei, und kopieren Sie sie in den Ordner "/var" . Hierfür gibt es zwei einfache Möglichkeiten:
- Option 1: Extrahieren Sie die tar.gz Datei in das aktuelle Verzeichnis, indem Sie folgendes ausführen
tar -xf filename.tar.gz
. Kopieren Sie dann den extrahierten Ordner in den Ordner "/var" . - Option 2: Extrahieren Sie die tar.gz Datei direkt in das Verzeichnis "/var" .
Option 1: Ausführen tar -xf buggyamb_v1.1.tar.gz
, um den Ordner "buggyamb_v1.1 " zu erstellen. Kopieren Sie ihn dann mithilfe des sudo cp -a buggyamb_v1.1 /var/
Befehls in den Ordner "/var".
Option 2: Extrahieren Sie die Anwendung mithilfe des sudo tar -xf buggyamb_v1.1.tar.gz -C /var/
Befehls direkt in den Ordner "/var/".
Wählen Sie eine der beiden Optionen aus, um die buggyamb_v1.1-Anwendungsdateien zu extrahieren. Diese sollten extrahiert oder in den Ordner "/var/buggyamb_v1.1 " verschoben werden, um das Setup abzuschließen. Dieser Ordner wird als Arbeitsverzeichnis für die neue ASP.NET Core-Anwendung verwendet.
Nächste Schritte
Teil 2.6 : Gleichzeitiges Ausführen von zwei ASP.NET Core-Anwendungen
Konfigurieren und ausführen Sie den Buggy ASP.NET Core-Anwendung hinter Nginx. Am Ende dieser Schritte verfügen Sie über zwei ASP.NET Core-Anwendungen, die hinter Nginx ausgeführt werden.