Como hospedar um site estático no Google App Engine

Use o Google App Engine para hospedar um site estático. As páginas da Web estáticas podem conter tecnologias do lado do cliente, como HTML, CSS e JavaScript. Hospedar o site estático no App Engine pode custar menos do que usar um provedor de hospedagem tradicional, porque o App Engine oferece um nível gratuito.

Os sites no App Engine são hospedados no subdomínio appspot.com, como [my-project-id].appspot.com. Depois de implantar o site, você poderá mapear o próprio nome de domínio para o site hospedado pelo App Engine.

Antes de começar

Para hospedar o site no Google App Engine:

  1. Crie um novo projeto do console do GCP ou recupere o código do projeto de um projeto a ser usado:

    Acessar a página "Projetos"

    Dica: recupere uma lista de códigos de projetos com a ferramenta de linha de comando gcloud.

  2. Instale e inicialize o SDK do Google Cloud.

    Fazer o download do SDK

Como criar um site a ser hospedado no Google App Engine

Estrutura básica do projeto

Este guia usa a seguinte estrutura no projeto:

  • app.yaml: defina as configurações do aplicativo do App Engine.
  • www/: diretório para armazenar todos os arquivos estáticos, como HTML, CSS, imagens e JavaScript.
    • css/: diretório para armazenar folhas de estilo.
      • style.css: folha de estilo básica que formata a aparência do site.
    • images/: diretório opcional para armazenar imagens.
    • index.html: um arquivo HTML que exibe conteúdo do site.
    • js/: diretório opcional para armazenar arquivos JavaScript.
    • Outros diretórios de assets.

Como criar o arquivo app.yaml

app.yaml é um arquivo de configuração que informa ao App Engine como mapear URLs para os arquivos estáticos. Nas etapas a seguir, você adicionará gerenciadores que carregarão www/index.html quando alguém visitar o site, e todos os arquivos estáticos serão armazenados e chamados no diretório www.

Crie o arquivo app.yaml no diretório raiz do aplicativo:

  1. Crie um diretório que tenha o mesmo nome do código do projeto. Encontre o código do projeto no console.
  2. No diretório recém-criado, crie um arquivo chamado app.yaml.
  3. Edite o arquivo app.yaml e adicione o seguinte código ao arquivo:

    runtime: python27
    api_version: 1
    threadsafe: true
    
    handlers:
    - url: /
      static_files: www/index.html
      upload: www/index.html
    
    - url: /(.*)
      static_files: www/\1
      upload: www/(.*)
    

Veja mais informações de referência sobre o arquivo app.yaml na documentação de referência do app.yaml.

Como criar o arquivo index.html

Crie um arquivo HTML que será veiculado quando alguém acessar a página raiz do site. Armazene esse arquivo no diretório www.

<html>
  <head>
    <title>Hello, world!</title>
    <link rel="stylesheet" type="text/css" href="/css/style.css">
  </head>
  <body>
    <h1>Hello, world!</h1>
    <p>
      This is a simple static HTML file that will be served from Google App
      Engine.
    </p>
  </body>
</html>

Como implantar o aplicativo no App Engine

Quando você implantar os arquivos do aplicativo, o site será enviado para o App Engine. Para implantar o app, execute o seguinte comando no diretório raiz do aplicativo em que o arquivo app.yaml está localizado:

gcloud app deploy

Sinalizações opcionais:

  • Inclua a sinalização --project para especificar um código do projeto no Console do GCP como alternativa àquele definido como padrão na ferramenta gcloud. Exemplo: --project [YOUR_PROJECT_ID]
  • Inclua a sinalização -v para especificar um código da versão. Caso contrário, será gerado um automaticamente. Exemplo: -v [YOUR_VERSION_ID]

Para saber mais sobre como implantar seu aplicativo a partir da linha de comando, veja Como implantar um aplicativo Python.

Ver o aplicativo

Para iniciar o navegador e visualizar o app em https://[YOUR_PROJECT_ID].appspot.com, execute o seguinte comando:

gcloud app browse

Próximas etapas

Exiba o site hospedado pelo App Engine em um domínio personalizado.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2