Compartilhar via


Parte 2.5 - Copie e extraia arquivos do seu ambiente de desenvolvimento para o Linux

Aplica-se a: .NET Core 2.1, .NET Core 3.1, .NET 5

Este artigo apresenta como copiar arquivos de um computador baseado em Windows para uma máquina virtual Linux e extrair arquivos.

Pré-requisitos

Esta parte não tem nenhum pré-requisito.

Objetivo desta parte

Você aprenderá a copiar arquivos de um computador baseado em Windows para uma VM (máquina virtual) Linux. Isso será útil quando você implantar seu aplicativo no Linux.

Embora não haja pré-requisitos para esta parte, a configuração ideal seguiria as orientações das partes anteriores. Você deve ter o seguinte:

  • Nginx em execução automaticamente e configurado para escutar solicitações enviadas na porta 80
  • Nginx configurado como um proxy reverso e roteando solicitações de entrada para um aplicativo ASP.NET Core que está escutando na porta 5000
  • O aplicativo ASP.NET Core configurado para iniciar automaticamente após a reinicialização do servidor ou quando o processo é interrompido ou trava.
  • Um firewall local do Linux configurado para permitir tráfego SSH e HTTP

Copie arquivos do Windows para o Linux e vice-versa

Existem várias opções para copiar arquivos entre Windows e Linux. Você pode encontrar os diferentes métodos em vários bons artigos, como este. Estas são algumas opções:

  • Compartilhe pastas de rede. Consulte o protocolo SMB e o Samba.
  • Transfira arquivos usando FTP. Um dos servidores FTP mais conhecidos no Linux é o PureFTPd.
  • Copie arquivos com segurança por meio de SSH. Você pode usar o comando scp para copiar por SSH. No entanto, uma ferramenta melhor é o pscp (incluído no PuTTY).
  • Compartilhe dados usando o software de sincronização. Um programa de sincronização ajuda você a criar pontos de sincronização no Windows e no Linux e, em seguida, sincronizá-los usando uma chave de criptografia.
  • Use pastas compartilhadas se o Linux estiver sendo executado como uma VM em sua VM. Várias ferramentas, como o VirtualBox da Oracle, ajudam a criar diretórios virtuais compartilhados.

Nesta parte, você usará o pscp para transferir arquivos do Windows para o Linux.

Parâmetros básicos do pscp

Pscp facilita a execução de tarefas básicas, como copiar um arquivo para o Linux. Esta ferramenta está incluída no PuTTY, portanto, deve ser instalada em seu computador baseado em Windows junto com o PuTTY. Se não estiver, instale-o agora.

Veja um exemplo de comando:

pscp -i <private key path> <local file to upload> user@host:<Linux path to save>

Por exemplo, para copiar o arquivo c:\web\publish.zip para o diretório inicial do usuário no Linux, use este comando:

pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>

A chave privada é a mesma chave .ppk que foi convertida de um arquivo .pem quando você tentou se conectar à sua VM usando PuTTY. Se você fez isso com sucesso, você já deve ter esse arquivo. Se você não tiver o arquivo .ppk , siga as instruções da seção "Conectando-se com PuTTY" e converta seu arquivo .pem em .ppk.

Copie um arquivo para o Linux e extraia-o para outra pasta

Baixar um projeto de amostra

Para este tutorial, você copiará um aplicativo de teste chamado BuggyAmb. Este aplicativo está disponível no aplicativo de exemplo de depuração BuggyAmb. Recomendamos que você use este aplicativo de exemplo porque as próximas partes usam esse aplicativo para simular problemas de desempenho de CPU altos e baixos e problemas de falha nos laboratórios de solução de problemas.

BuggyAmb é simplesmente um aplicativo Razor Pages baseado em Core 3.1 com bugs ASP.NET. Esse aplicativo foi criado intencionalmente como um aplicativo com bugs para ser usado como um recurso de aprendizado para solucionar problemas de cenários problemáticos para um aplicativo ASP.NET Core no Linux.

Você pode encontrar os arquivos de código-fonte em ASP.NET binários principais para Linux. Isso está no formato .tar.gz porque esse formato é comum no mundo Linux. Você também pode baixar o buggyamb_v1.1 em formato .zip para Windows.

Copiar buggyamb_v1.1.tar.gz arquivo para uma VM do Linux

Abra uma janela do prompt de comando em seu computador baseado no Windows e vá para a pasta em que o PuTTY está instalado. Para copiar o arquivo, execute o seguinte comando:

pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>

Execute também o pscp comando depois de modificá-lo usando sua própria chave privada e caminhos de acordo. A captura de tela a seguir mostra uma transferência de arquivo bem-sucedida entre o Windows e a VM do Linux.

Captura de tela do comando pscp.

Observação

Ao se conectar à VM pela primeira vez usando o pscp comando, você poderá ver uma mensagem de aviso sobre uma incompatibilidade de chave de host.

Conecte-se à VM do Linux e verifique se o arquivo está lá. Você pode fazer isso usando o comando ls.

Captura de tela do comando ls.

Existem outros métodos para copiar arquivos entre Linux e Windows. Mas esse método é suficiente para este tutorial.

Use o arquivo buggyamb_v1.1.tar.gz para criar um segundo aplicativo ASP.NET Core que é executado por trás do Nginx. Desta vez, este aplicativo será configurado para usar um nome de host para navegar nele. O mesmo aplicativo será usado nos laboratórios de solução de problemas que compõem este tutorial.

Observação

Se você tiver dificuldades para copiar o arquivo buggyamb_v1.1.tar.gz para sua máquina Linux, basta baixar o arquivo .tar.gz de sua VM Linux usando este comando simples wget :

wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz

Extraia os arquivos e copie para a pasta /var/

Buggyamb_v1.1.tar.gz contém tudo o que você precisa para executar seu aplicativo com bugs. Assim como você fez para seu primeiro aplicativo ASP.NET Core, siga as mesmas etapas para configurar este aplicativo para ser executado sempre atrás do Nginx.

Extraia o arquivo .tar.gz e copie-o para a pasta /var . Existem duas maneiras simples de fazer isso:

  • Opção 1: Extraia o arquivo tar.gz para o diretório atual executando tar -xf filename.tar.gz. Em seguida, copie a pasta extraída para a pasta /var .
  • Opção 2: Extraia o arquivo tar.gz diretamente para o diretório /var .

Opção 1: Executar tar -xf buggyamb_v1.1.tar.gz para criar a pasta buggyamb_v1.1 . Em seguida, copie-o para a pasta /var usando o sudo cp -a buggyamb_v1.1 /var/ comando.

Captura de tela do comando sudo cp.

Opção 2: Extraia o aplicativo diretamente para a pasta /var/ usando o sudo tar -xf buggyamb_v1.1.tar.gz -C /var/ comando.

Captura de tela do comando sudo tar.

Escolha uma das opções para extrair os arquivos do aplicativo buggyamb_v1.1 . Eles devem ser extraídos ou movidos para a pasta /var/buggyamb_v1.1 para concluir a configuração. Essa pasta será usada como o diretório de trabalho para o novo aplicativo ASP.NET Core.

Próximas etapas

Parte 2.6 - Executar dois aplicativos ASP.NET Core ao mesmo tempo

Configure e execute o aplicativo ASP.NET Core com bugs por trás do Nginx. No final dessas etapas, você terá dois aplicativos ASP.NET Core em execução por trás do Nginx.