Compartilhar via


Implantação do site com o uso de um cliente de FTP (VB)

por Scott Mitchell

Baixar PDF

A maneira mais simples de implantar um aplicativo ASP.NET é copiar manualmente os arquivos necessários do ambiente de desenvolvimento para o ambiente de produção. Este tutorial mostra como usar um cliente FTP para obter os arquivos da área de trabalho para o provedor de host da Web.

Introdução

O tutorial anterior introduziu uma revisão de livro simples ASP.NET aplicativo Web, que é composto por um punhado de páginas ASP.NET, uma página master, uma classe base Page personalizada, várias imagens e três folhas de estilo CSS. Agora estamos prontos para implantar esse aplicativo em um provedor de host da Web, momento em que o aplicativo estará acessível a qualquer pessoa com uma conexão com a Internet!

Em nossas discussões no tutorial Determinando quais arquivos precisam ser implantados , sabemos quais arquivos precisam ser copiados para o provedor de host da Web. (Lembre-se de que quais arquivos são copiados depende se o aplicativo é compilado explicitamente ou automaticamente.) Mas como podemos obter os arquivos do ambiente de desenvolvimento (nossa área de trabalho) até o ambiente de produção (o servidor Web gerenciado pelo provedor de host da Web)? O F ile T ransfer P rotocol (FTP) é um protocolo comumente usado para copiar arquivos de um computador para outro em uma rede. Outra opção é FPSE (FrontPage Server Extensions). Este tutorial se concentra no uso de software cliente FTP autônomo para implantar os arquivos necessários do ambiente de desenvolvimento no ambiente de produção.

Observação

O Visual Studio inclui ferramentas para publicar sites via FTP; essas ferramentas, bem como uma olhada nas ferramentas que usam FPSE, são abordadas no próximo tutorial.

Para copiar os arquivos usando FTP, precisamos de um cliente FTP no ambiente de desenvolvimento. Um cliente FTP é um aplicativo projetado para copiar arquivos do computador em que ele está instalado em um computador que está executando um servidor FTP. (Se o provedor de host da Web der suporte a transferências de arquivos via FTP, como a maioria faz, haverá um servidor FTP em execução em seus servidores Web.) Há vários aplicativos cliente FTP disponíveis. Seu navegador da Web pode até mesmo dobrar como um cliente FTP. Meu cliente FTP favorito e o que usarei para este tutorial é o FileZilla, um cliente FTP gratuito de software livre que está disponível para Windows, Linux e Macs. Qualquer cliente FTP funcionará, portanto, fique à vontade para usar qualquer cliente com o qual você esteja mais confortável.

Se você estiver acompanhando, precisará criar uma conta com um provedor de host da Web antes de concluir este tutorial ou os subsequentes. Conforme observado no tutorial anterior, há um grupo de empresas de provedores de host web com um amplo espectro de preços, recursos e qualidade de serviço. Para esta série de tutoriais, usarei o Discount ASP.NET como meu provedor de host da Web, mas você poderá acompanhar qualquer provedor de host da Web, desde que ele dê suporte à versão ASP.NET em que seu site foi desenvolvido. (Esses tutoriais foram criados usando ASP.NET 3.5.) Além disso, como copiaremos os arquivos para o provedor de host da Web usando FTP neste tutorial e, no futuro, é imperativo que seu provedor de host da Web dê suporte ao acesso FTP aos servidores Web. Praticamente todos os provedores de host da Web oferecem esse recurso, mas você deve marcar duas vezes antes de se inscrever.

Implantando o projeto de aplicativo Web book review

Lembre-se de que há duas versões do aplicativo Web Revisão de Livro: uma implementada usando o modelo projeto de aplicativo Web (BookReviewsWAP) e outra usando o modelo projeto de site (BookReviewsWSP). O tipo de projeto influencia se o site é compilado automaticamente ou explicitamente, e esse modelo de compilação determina quais arquivos precisam ser implantados. Consequentemente, examinaremos a implantação dos projetos BookReviewsWAP e BookReviewsWSP separadamente, começando com o BookReviewsWAP. Reserve um momento para baixar esses dois aplicativos ASP.NET se você ainda não tiver feito isso.

Inicie o projeto BookReviewsWAP navegando até a BookReviewsWAP pasta e clicando duas vezes no BookReviewsWAP.sln arquivo. Antes de implantar o projeto, é importante compilá-lo para garantir que todas as alterações no código-fonte sejam incluídas no assembly compilado. Para compilar o projeto, vá para o menu Compilar e escolha a opção de menu Build BookReviewsWAP. Isso compila o código-fonte no projeto em um único assembly, BookReviewsWAP.dll, que é colocado na Bin pasta .

Agora estamos prontos para implantar os arquivos necessários! Inicie o cliente FTP e conecte-se ao servidor Web em seu provedor de host da Web. (Quando você se inscreve em uma empresa de hospedagem na Web, eles enviarão informações sobre como se conectar ao servidor FTP; isso inclui o endereço do servidor FTP, bem como um nome de usuário e senha.)

Copie os arquivos a seguir da área de trabalho para a pasta do site raiz em seu provedor de host da Web. Quando você faz FTP no servidor Web no provedor de host da Web, é provável que você esteja no diretório do site raiz. No entanto, alguns provedores de host da Web têm uma subpasta chamada www ou wwwroot que serve como a pasta raiz para seus arquivos de site. Por fim, ao FTPing dos arquivos, talvez seja necessário criar a estrutura de pastas correspondente no ambiente de produção - a Bin pasta, a Fiction pasta, a Images pasta e assim por diante.

  • ~/Default.aspx
  • ~/About.aspx
  • ~/Site.master
  • ~/Web.config
  • ~/Web.sitemap
  • O conteúdo completo da Styles pasta
  • O conteúdo completo da Images pasta (e sua subpasta, BookCovers)
  • ~/Fiction/Default.aspx
  • ~/Fiction/Blaze.aspx
  • ~/Tech/Default.aspx
  • ~/Tech/CYOW.aspx
  • ~/Tech/TYASP35.aspx
  • ~/Bin/BookReviewsWAP.dll

A Figura 1 mostra FileZilla depois que os arquivos necessários foram copiados. FileZilla exibe os arquivos no computador local à esquerda e os arquivos no computador remoto à direita. Como mostra a Figura 1, os arquivos de código-fonte ASP.NET, como About.aspx.vb, estão no computador local (o ambiente de desenvolvimento), mas não foram copiados para o provedor de host da Web (o ambiente de produção) porque os arquivos de código não precisam ser implantados ao usar a compilação explícita.

Observação

Não há nenhum dano em ter os arquivos de código-fonte no servidor de produção, pois eles são ignorados. ASP.NET proíbe solicitações HTTP para arquivos de código-fonte por padrão, de modo que, mesmo que os arquivos de código-fonte estejam presentes no servidor de produção, eles estão inacessíveis aos visitantes do seu site. (Ou seja, se um usuário tentar visitar http://www.yoursite.com/Default.aspx.vb , ele receberá uma página de erro que explica que esses tipos de arquivos - .vb arquivos - são proibidos.)

Use um cliente FTP para copiar os arquivos necessários de sua área de trabalho para o servidor Web no provedor de host da Web.

Figura 1: Usar um cliente FTP para copiar os arquivos necessários da área de trabalho para o servidor Web no provedor de host da Web (clique para exibir a imagem em tamanho real)

Depois de implantar seu site, reserve um momento para testar o site. Se você comprou um nome de domínio e definiu as configurações de DNS corretamente, acesse seu site inserindo seu nome de domínio. Como alternativa, seu provedor de host da Web deve ter fornecido uma URL para seu site, que se parecerá com o nome da conta. webhostprovider.com ou webhostprovider.com/accountname. Por exemplo, a URL da minha conta no ASP.NET de Desconto é: http://httpruntime.web703.discountasp.net.

A Figura 2 mostra o site de Revisões de Livro implantado. Observe que estou exibindo-o no ASP de Desconto. Servidores do NET, em http://httpruntime.web703.discountasp.net. Neste momento, qualquer pessoa com uma conexão com a Internet pode ver meu site! Como esperávamos, o site parece e se comporta da mesma forma que fez ao testá-lo no ambiente de desenvolvimento.

Observação

Se você receber um erro ao exibir seu aplicativo, reserve um momento para garantir que você implantou o conjunto correto de arquivos. Em seguida, marcar a mensagem de erro para ver se ela revela alguma pista sobre o problema. Depois disso, você pode recorrer à assistência técnica da sua empresa de host da Web ou postar sua pergunta no fórum apropriado nos Fóruns do ASP.NET.

O Site de Revisões de Livros agora está acessível a qualquer pessoa com uma conexão com a Internet.

Figura 2: O Site de Revisões de Livros agora está acessível para qualquer pessoa com uma conexão com a Internet (clique para exibir a imagem em tamanho real)

Implantando o projeto de site de revisão de livros

Ao implantar um aplicativo ASP.NET que usa compilação automática, como o Projeto de Site BookReviewsWSP, não há nenhum assembly compilado na Bin pasta. Como resultado, os arquivos de código-fonte do aplicativo Web devem ser implantados no ambiente de produção. Vamos percorrer esse processo.

Assim como acontece com o Projeto de Aplicativo Web, é inteligente primeiro compilar o aplicativo antes de implantá-lo. Embora a criação de um Projeto de Site não crie um assembly, ele marcar para erros em tempo de compilação na página. É melhor encontrar esses erros agora em vez de ter um visitante em seu site descobri-los para você!

Depois de criar o projeto com êxito, use o cliente FTP para copiar os arquivos a seguir para a pasta do site raiz em seu provedor de host da Web. Talvez seja necessário criar a estrutura de pastas correspondente no ambiente de produção.

Observação

Se você já implantou o projeto BookReviewsWAP, mas ainda deseja tentar implantar o projeto BookReviewsWSP, primeiro exclua todos os arquivos no servidor Web que foram carregados ao implantar BookReviewsWAP e, em seguida, implante os arquivos para BookReviewsWSP.

  • ~/Default.aspx
  • ~/Default.aspx.vb
  • ~/About.aspx
  • ~/About.aspx.vb
  • ~/Site.master
  • ~/Site.master.vb
  • ~/Web.config
  • ~/Web.sitemap
  • O conteúdo completo da Styles pasta
  • O conteúdo completo da Images pasta (e sua subpasta, BookCovers)
  • ~/App_Code/BasePage.vb
  • ~/Fiction/Default.aspx
  • ~/Fiction/Default.aspx.vb
  • ~/Fiction/Blaze.aspx
  • ~/Fiction/Blaze.aspx.vb
  • ~/Tech/Default.aspx
  • ~/Tech/Default.aspx.vb
  • ~/Tech/CYOW.aspx
  • ~/Tech/CYOW.aspx.vb
  • ~/Tech/TYASP35.aspx
  • ~/Tech/TYASP35.aspx.vb

A Figura 3 mostra FileZilla depois de copiar os arquivos necessários. Como você pode ver, os ASP.NET arquivos de código-fonte, como About.aspx.vb, estão presentes no computador local (o ambiente de desenvolvimento) e no provedor de host da Web (o ambiente de produção) porque os arquivos de código precisam ser implantados ao usar a compilação automática.

Usar um cliente FTP para copiar os arquivos necessários de sua área de trabalho para o servidor Web no provedor de host da Web

Figura 3: Usar um cliente FTP para copiar os arquivos necessários da área de trabalho para o servidor Web no Provedor de Host da Web (clique para exibir a imagem em tamanho real)

A experiência do usuário não é afetada pelo modelo de compilação do aplicativo. As mesmas ASP.NET páginas são acessíveis e parecem e se comportam da mesma forma se o site foi criado usando o modelo do Projeto de Aplicativo Web ou o modelo do Projeto de Site.

Atualizando um aplicativo Web em produção

O desenvolvimento e a implantação de aplicativos Web não são um processo único. Por exemplo, ao criar o site de Revisão de Livros, criei as várias páginas e escrevi o código que acompanhava meu computador pessoal (o ambiente de desenvolvimento). Depois de atingir um determinado estado estável, implantei meu aplicativo para que outras pessoas pudessem visitar o site e ler minhas avaliações. Mas a implantação não marca o fim do meu desenvolvimento neste site. Posso adicionar mais revisões de livros ou implementar novos recursos, como permitir que meus visitantes classifiquem livros ou deixem seus próprios comentários. Esses aprimoramentos seriam desenvolvidos no ambiente de desenvolvimento e, quando concluídos, precisariam ser implantados. O desenvolvimento e a implantação, portanto, são cíclicos. Você desenvolve um aplicativo e o implanta. Enquanto o site está ativo e em produção, novos recursos são adicionados e bugs são corrigidos ao longo do tempo, o que requer a re-implantação do aplicativo. E assim por diante.

Como esperado, ao implantar novamente um aplicativo Web, você só precisa copiar arquivos novos e alterados. Não é necessário implantar novamente páginas inalteradas ou arquivos de suporte do servidor ou do lado do cliente (embora não haja nenhum dano ao fazer isso).

Observação

Uma coisa a ter em mente ao usar a compilação explícita é que sempre que você adiciona uma nova página ASP.NET ao projeto ou faz alterações relacionadas ao código, é necessário recompilar o projeto, que atualiza o assembly na Bin pasta. Consequentemente, você precisará copiar esse assembly atualizado para produção ao atualizar um aplicativo Web em produção (juntamente com o outro conteúdo novo e atualizado).

Entenda também que todas as Web.config alterações nos arquivos ou no Bin diretório param e reiniciam o Pool de Aplicativos do site. Se o estado da sessão for armazenado usando o InProc modo (o padrão), os visitantes do site perderão o estado de sessão sempre que esses arquivos de chave forem modificados. Para evitar essa armadilha, considere armazenar a sessão usando os StateServer modos ou SQLServer . Para obter mais informações sobre este tópico, leia Modos de estado de sessão.

Por fim, tenha em mente que a re-implantação de um aplicativo pode levar de alguns segundos a vários minutos, dependendo do número e do tamanho dos arquivos que precisam ser copiados para o ambiente de produção. Durante esse tempo, os usuários que visitam seu site podem apresentar erros ou comportamentos ímpares. Você pode "desativar" todo o aplicativo adicionando uma página chamada App_Offline.htm ao diretório raiz do aplicativo que explica aos usuários que o site está inativo para manutenção (ou qualquer outra coisa) e fará backup em breve. Quando o App_Offline.htm arquivo está presente, o runtime do ASP.NET redireciona todas as solicitações de entrada para essa página.

Resumo

A implantação de um aplicativo Web envolve a cópia dos arquivos necessários do ambiente de desenvolvimento para o ambiente de produção. O meio mais comum pelo qual os arquivos são transferidos por uma rede é o PROTOCOLO FTP e a maioria dos provedores de host da Web dá suporte ao acesso FTP aos servidores Web. Neste tutorial, vimos como usar um cliente FTP para implantar os arquivos necessários no servidor Web. Depois de implantado, o site pode ser visitado por qualquer pessoa com uma conexão com a Internet!

Programação feliz!

Leitura Adicional

Para obter mais informações sobre os tópicos discutidos neste tutorial, consulte os seguintes recursos: