Configuração do LEMP no Compute Engine

Esta página mostra como fazer uma pilha LEMP ser executada em uma máquina virtual. Siga as etapas deste tutorial para configurar o LEMP em uma instância do Debian ou Ubuntu. Geralmente, essas instruções serão semelhantes em outros sistemas operacionais.

Como alternativa, você pode usar o Google Cloud Launcher para implantar uma pilha LEMP automaticamente.

Objetivos

  • Criar uma instância de máquina virtual
  • Conectar-se à instância usando SSH
  • Implantar a pilha LEMP na instância
  • Transferir arquivos
  • Configurar o mapeamento de DNS

Custos

Este tutorial usa componentes faturáveis ​​do Cloud Platform, incluindo:

  • Google Compute Engine

Use a Calculadora de preços para gerar uma estimativa de custo com base no uso projetado. Os novos usuários do Cloud Platform podem estar qualificados para uma avaliação gratuita.

Antes de começar

  • Selecione ou crie um projeto do GCP.

    Acessar a página Gerenciar recursos

  • Verifique se o faturamento foi ativado para o projeto.

    Saiba como ativar o faturamento

Criação da instância de máquina virtual

Você pode usar o Cloud Launcher para implantar automaticamente a pilha LEMP em uma instância com o mínimo de esforço.

Como alternativa, use estas etapas para implantar a pilha LAMP usando o Google Cloud Platform Console:

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Defina o Nome como lemp-tutorial.
  4. Defina o Tipo de máquina como f1-micro.
  5. Na seção Disco de inicialização, clique em Alterar para iniciar a configuração do disco de inicialização.
  6. Na guia Imagens do SO, escolha Debian 7.x or Ubuntu 14.04.

  7. Clique em Selecionar.
  8. Na seção Firewall, selecione Permitir tráfego HTTP e Permitir tráfego HTTPS.
  9. Clique em Criar para criar a instância.

Aguarde alguns minutos até a instância ser inicializada.

Implantação da pilha LEMP no Compute Engine

Agora que a instância da máquina virtual está em execução, configure a pilha LEMP.

Conectar-se à instância

Você pode se conectar diretamente à sua instância usando SSH no Cloud Platform Console ou usando o comando gcloud compute ssh, que faz parte do Cloud SDK. Neste tutorial, são mostradas as etapas do processo no Cloud Platform Console.

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Na lista de instâncias de máquinas virtuais, clique em SSH na linha da instância com que você quer se conectar.

  3. Anote o endereço IP da instância de VM. Você encontra esse endereço na coluna IP externo.

Instalar nginx e PHP na instância

Ao criar uma instância, você já tem a parte "Linux" do LEMP. Em seguida, instale nginx e PHP.

  1. Instale nginx e PHP:

    sudo apt-get update
    sudo apt-get install -y nginx php5-fpm
    
  2. Edite o arquivo de configuração padrão do nginx:

    sudo nano /etc/nginx/sites-available/default
    
  3. Retire o comentário de linhas selecionadas na seção PHP, como mostrado aqui:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #       # With php5-cgi alone:
    #       fastcgi_pass 127.0.0.1:9000;
    #       # With php5-fpm:
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    #       fastcgi_index index.php;
            include fastcgi_params;
    }
    
  4. Reinicie o serviço nginx:

    sudo service nginx restart
    

Testar nginx e PHP

  1. Nesta etapa, é preciso ter o endereço IP externo de sua instância. Pesquise o endereço na página Instâncias de VMs do Cloud Platform Console.

    Acessar a página "Instâncias de VMs"

    Em um navegador, informe seu endereço IP externo para verificar se o nginx está em execução:

    http://[YOUR_EXTERNAL_IP_ADDRESS]
    

    Você verá a mensagem Bem-vindo ao nginx!

  2. Crie um arquivo de teste na raiz do servidor da Web padrão:

    Debian 7

    sudo sh -c 'echo "<?php phpinfo();?>" > /usr/share/nginx/www/phpinfo.php'
    

    Ubuntu 14.04

    sudo sh -c 'echo "<?php phpinfo();?>" > /usr/share/nginx/html/phpinfo.php'
    

  3. Acesse o arquivo de teste para verificar se o nginx e o PHP estão trabalhando juntos:

    http://[YOUR_EXTERNAL_IP_ADDRESS]/phpinfo.php
    

    A página padrão de informações do PHP será exibida com informações sobre o seu ambiente atual do nginx.

No caso de falha no carregamento da página (HTTP 404), verifique se:

  • no Console do Cloud Platform, é permitido tráfego HTTP para sua instância;
  • você está usando o endereço IP e o nome de arquivo corretos no URL.

Instalar o MySQL na instância

Instale o MySQL e os componentes PHP relacionados:

sudo apt-get install -y mysql-server php5-mysql php-pear

Configurar o MySQL

Agora que o MySQL já está instalado, execute o comando mysql_secure_installation para aumentar a segurança da instalação. Com ele, são executadas etapas como configuração da senha do usuário raiz (se ela ainda não foi configurada), remoção do usuário anônimo, restrição do acesso do usuário raiz à máquina local e remoção do banco de dados de teste.

sudo mysql_secure_installation

Transferência de arquivos

Há várias maneiras de transferir arquivos para a instância de VM que executa seu servidor da Web, incluindo FTP e o comando gcloud. Para ver detalhes completos, consulte Transferência de arquivos para instâncias do Linux. Neste tutorial, é usado o comando gcloud, que faz parte do Cloud SDK.

Copie arquivos para sua instância usando o comando copy-files. No exemplo a seguir, um arquivo de sua estação de trabalho é copiado para o diretório principal na instância.

gcloud compute copy-files [LOCAL_FILE_PATH] lemp-tutorial:/var/www/html

Substitua [LOCAL_FILE_PATH] pelo caminho para o arquivo em sua estação de trabalho.

Também é possível copiar arquivos de uma instância para a estação de trabalho local invertendo as variáveis de origem e destino. O exemplo a seguir copia um arquivo da instância para a estação de trabalho.

gcloud compute copy-files lemp-tutorial:/var/www/html [LOCAL_FILE_PATH]

Substitua [LOCAL_FILE_PATH] pelo caminho no qual deseja colocar o arquivo em sua estação de trabalho.

Configurar o DNS

Depois de configurar a pilha do software e transferir os arquivos, associe seu próprio nome de domínio ao site. Para ter controle total sobre seu próprio sistema DNS, use o Google Cloud DNS como provedor de DNS. Para ver instruções específicas do Cloud DNS, consulte o guia de início rápido.

Neste tutorial, é mostrado o cenário mais comum de configuração de DNS por meio de um provedor terceirizado, como o registro de seu domínio.

Para usar um provedor de DNS existente, crie alguns registros com esse provedor. Nesta lição, presume-se que você esteja mapeando example.com e www.example.com para apontar para seu website hospedado no Compute Engine.

Para o nome de domínio example.com, crie um registro A com seu provedor de DNS. Para o subdomínio www.example.com, crie um registro CNAME para www a fim de apontá-lo para o domínio example.com. O registro A associa um nome de host a um endereço IP. O registro CNAME cria um alias para o registro A. Nesta lição, presume-se que example.com e www.example.com devam ser associados ao mesmo endereço IP.

  1. Consiga o endereço IP externo de sua instância. Você pode pesquisar o endereço IP na página Instâncias de VMs do Cloud Platform Console.

    Acessar a página "Instâncias de VMs"

  2. Faça login na interface de gerenciamento de DNS de seu provedor e encontre o domínio a ser gerenciado. Consulte a documentação do provedor de DNS para etapas específicas.
  3. Crie um registro A e defina o valor como o seu endereço IP externo. Preencha o campo "Nome" ou "Host" com @, que representa o domínio sem "www". Para mais informações, consulte a página de suporte do Google Apps, que tem ajuda para a conclusão de várias tarefas de DNS.
  4. Crie um registro CNAME, use www como nome e defina o valor como @ ou o nome de seu host seguido por um ponto final: example.com.. Leia a página de suporte do Google Apps para conseguir ajuda na criação de um registro A com vários provedores.
  5. Se adequado para seu provedor, incremente o número de série no seu registro SOA para refletir que foram feitas alterações para permitir a propagação dos seus registros.

Verificar suas alterações de DNS

Se o seu registrador de nomes de domínio, como o Google Domains, também é o seu provedor de DNS, provavelmente já está tudo pronto. Agora, se você usa provedores diferentes para registro e DNS, certifique-se de que o seu registrador de nomes de domínio tenha os servidores de nomes certos associados ao seu domínio.

Depois que você fizer as alterações de DNS, dependendo dos valores de vida útil (TTL, na sigla em inglês) na sua zona, as atualizações de registro levarão algum tempo para serem propagadas. Se a alteração for um novo nome de host, ela entrará em vigor rapidamente porque, como os resolvedores de DNS não terão os valores anteriores armazenados em cache, eles contatarão o provedor de DNS para buscar as informações necessárias para encaminhar solicitações.

Limpeza

Ao terminar o tutorial do LEMP, limpe os recursos criados no Google Cloud Platform para não ser cobrado por eles no futuro. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.

Exclusão do projeto

A maneira mais fácil de eliminar a cobrança é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione um e clique em Excluir projeto.
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

Exclusão de instâncias

Para excluir uma instância do Compute Engine:

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VMs"

  2. Clique na caixa de seleção ao lado da instância lemp-tutorial.
  3. Clique no botão Excluir na parte superior da página para excluir a instância.

Próximas etapas

  • Por padrão, a raiz do documento de servidor da Web é propriedade do usuário root. Configure seu documento para outro usuário ou altere o local do diretório no arquivo de configuração do nginx. A raiz do documento de servidor da Web está em /usr/share/nginx/www, e o arquivo de configuração do nginx, em /etc/nginx/sites-available.

  • Conheça outros recursos do Google Cloud Platform para seu uso. Consulte nossos tutoriais.

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

Enviar comentários sobre…

Documentação do Compute Engine