Часть 2.5. Копирование и извлечение файлов из среды разработки в Linux
Область применения: .NET Core 2.1, .NET Core 3.1, .NET 5
В этой статье описывается копирование файлов с компьютера под управлением Windows на виртуальную машину Linux и извлечение файлов.
Эта часть не имеет необходимых компонентов.
Вы узнаете, как скопировать файлы с компьютера Под управлением Windows на виртуальную машину Linux. Это будет полезно при развертывании приложения в Linux.
Хотя для этой части нет предварительных требований, идеальная настройка будет соответствовать рекомендациям из предыдущих частей. У вас должно быть следующее:
- Nginx работает автоматически и настроен для прослушивания запросов, отправленных через порт 80
- Nginx, настроенный как обратный прокси-сервер и маршрутизация входящих запросов в приложение ASP.NET Core, которое прослушивается через порт 5000
- Приложение ASP.NET Core, настроенное для автоматического запуска после перезапуска сервера или при остановке или сбое процесса.
- Локальный брандмауэр Linux, настроенный для разрешения трафика SSH и HTTP
Существует несколько вариантов копирования файлов между Windows и Linux. Различные методы можно найти в нескольких хороших статьях, таких как этот. Ниже приведено несколько вариантов:
- Общий доступ к сетевым папкам. Ознакомьтесь с протоколом SMB и Samba.
- Передача файлов с помощью FTP. Одним из самых известных FTP-серверов в Linux является PureFTPd.
- Безопасное копирование файлов через SSH. Для копирования по протоколу SSH можно использовать команду scp . Однако лучшее средство — pscp (включено в PuTTY).
- Совместное использование данных с помощью программного обеспечения синхронизации. Программа синхронизации помогает создавать точки синхронизации как в Windows, так и в Linux, а затем синхронизировать их с помощью ключа шифрования.
- Используйте общие папки, если Linux работает в качестве виртуальной машины в виртуальной машине. Несколько средств, таких как VirtualBox Oracle, помогают создавать виртуальные общие каталоги.
В этой части вы будете использовать pscp для передачи файлов из Windows в Linux.
Pscp
упрощает выполнение основных задач, таких как копирование файла в Linux. Это средство входит в состав PuTTY, поэтому оно должно быть установлено на компьютере под управлением Windows вместе с PuTTY. Если это не так, установите его сейчас.
Ниже приведен пример команды:
pscp -i <private key path> <local file to upload> user@host:<Linux path to save>
Например, чтобы скопировать файл c:\web\publish.zip в домашний каталог пользователя в Linux, используйте следующую команду:
pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>
Закрытый ключ — это тот же ключ PPK , который был преобразован из PEM-файла при попытке подключиться к виртуальной машине с помощью PuTTY. Если вы сделали это успешно, у вас уже должен быть этот файл. Если у вас нет PPK-файла , следуйте инструкциям из раздела "Подключение к PuTTY" и преобразуйте pem-файл в PPK.
В этом руководстве вы скопируете тестовое приложение с именем BuggyAmb. Это приложение доступно в примере приложения Для отладки BuggyAmb. Мы рекомендуем использовать это пример приложения, так как следующие части используют это приложение для имитации проблем с высокой и низкой производительностью ЦП и сбоев в лабораториях устранения неполадок.
BuggyAmb — это просто багги ASP.NET приложение Razor Pages на основе Core 3.1. Это приложение было намеренно создано как приложение с ошибкой, которое будет использоваться в качестве ресурса обучения для устранения проблемных сценариев для приложения ASP.NET Core в Linux.
Файлы исходного кода можно найти в двоичных файлах ASP.NET Core для Linux. Это в .tar.gz формате, так как этот формат распространен в мире Linux. Вы также можете скачать buggyamb_v1.1 в формате .zip для Windows.
Откройте окно командной строки на компьютере под управлением Windows и перейдите в папку, в которой установлен PuTTY. Чтобы скопировать файл, выполните следующую команду:
pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>
Также выполните pscp
команду после изменения, используя собственный закрытый ключ и пути соответствующим образом. На следующем снимка экрана показан успешный перенос файлов между Windows и виртуальной машиной Linux.
Примечание
При первом подключении к виртуальной машине с помощью pscp
команды может появиться предупреждение о несоответствии ключа узла.
Подключитесь к виртуальной машине Linux и проверьте, есть ли файл. Для этого воспользуйтесь командой ls
.
Существуют другие методы копирования файлов между Linux и Windows. Но этот метод достаточно для этого руководства.
Используйте файл buggyamb_v1.1.tar.gz для создания второго приложения ASP.NET Core, работающего за Nginx. На этот раз это приложение будет настроено на использование имени узла для просмотра. Это же приложение будет использоваться в лабораториях устранения неполадок, составляющих этот учебник.
Примечание
Если у вас возникли трудности с копированием файла buggyamb_v1.1.tar.gz на компьютер Linux, вы можете просто скачать файл .tar.gz с виртуальной машины Linux с помощью этой простой wget
команды:
wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz
Buggyamb_v1.1.tar.gz содержит все, что необходимо запустить приложение с ошибками. Так же, как и для первого приложения ASP.NET Core, выполните те же действия, чтобы настроить это приложение для постоянного запуска nginx.
Извлеките файл .tar.gz и скопируйте его в папку /var. Это можно сделать двумя простыми способами.
- Вариант 1. Извлечение файла tar.gz в текущий каталог путем выполнения
tar -xf filename.tar.gz
. Затем скопируйте извлеченную папку в папку /var . - Вариант 2. Извлечение файла tar.gz непосредственно в каталог /var .
Вариант 1. Выполните команду tar -xf buggyamb_v1.1.tar.gz
, чтобы создать папку buggyamb_v1.1 . Затем скопируйте его в папку /var с помощью sudo cp -a buggyamb_v1.1 /var/
команды.
Вариант 2. Извлечение приложения непосредственно в папку /var/ с помощью sudo tar -xf buggyamb_v1.1.tar.gz -C /var/
команды.
Выберите любой вариант, чтобы извлечь файлы приложения buggyamb_v1.1 . Их следует извлечь или переместить в папку /var/buggyamb_v1.1 , чтобы завершить настройку. Эта папка будет использоваться в качестве рабочего каталога для нового приложения ASP.NET Core.
Часть 2.6. Запуск двух приложений ASP.NET Core одновременно
Настройте и запустите приложение buggy ASP.NET Core за Nginx. В конце этих действий у вас будет два ASP.NET основных приложений, работающих за Nginx.