Veja neste tutorial como implantar um pequeno site do WordPress no ambiente flexível do App Engine.
Objetivos
- Criar uma instância de segunda geração do Cloud SQL.
- Configurar um site de amostra do WordPress.
- Implantar o site de amostra do WordPress no ambiente flexível do App Engine.
Custos
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs necessárias.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs necessárias.
- Instale a CLI do Google Cloud.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
Siga estas etapas para criar credenciais:
No Console do Google Cloud, acesse a página Credenciais.
- Clique em Criar credenciais e selecione Chave da conta de serviço.
- Selecione Conta de serviço > Conta de serviço padrão do App Engine.
- Clique em Criar.
- Salve a chave em um lugar seguro.
- Instale o PHP e o Composer.
-
Faça o download do Proxy do Cloud SQL e torne-o executável. Adicione também a localização do arquivo executável do Proxy do Cloud SQL
à sua variável de ambiente
PATH
. -
Instale um cliente MySQL e verifique se a localização do arquivo executável
mysql
está na sua variável de ambientePATH
.
Como criar e configurar uma instância de segunda geração do Cloud SQL
Crie uma instância do Cloud SQL de segunda geração:
gcloud sql instances create tutorial-sql-instance \ --activation-policy=ALWAYS \ --tier=db-n1-standard-1 \ --region=us-central1
Configure a senha de root para sua instância:
gcloud sql users set-password root --instance tutorial-sql-instance \ --password [YOUR_SQL_ROOT_PASSWORD] \ --host %
em que
[YOUR_SQL_ROOT_PASSWORD]
é uma senha segura de sua preferência.Faça o download e execute o Proxy do Cloud SQL:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy cloud_sql_proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance=tcp:3306 \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
em que
[YOUR_PROJECT_ID]
é o código do projeto no Google Cloud.[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
é o caminho para o arquivo JSON da conta de serviço que você fez o download anteriormente.
A saída a seguir indica que o proxy está pronto para novas conexões:
Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance Ready for new connections
Em um janela de terminal diferente, crie um novo banco de dados e um usuário:
mysql -h 127.0.0.1 -u root --password=[YOUR_SQL_ROOT_PASSWORD] mysql> create database tutorialdb; mysql> create user 'tutorial-user'@'%' identified by '[YOUR_DATABASE_PASSWORD]'; mysql> grant all on tutorialdb.* to 'tutorial-user'@'%'; mysql> exit
onde:
[YOUR_SQL_ROOT_PASSWORD]
é a senha de root para sua instância do Cloud SQL.[YOUR_DATABASE_PASSWORD]
é uma senha segura de sua preferência.
Como configurar o projeto do WordPress
Clone o repositório de amostra:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
Acesse o diretório que contém o código de amostra:
cd php-docs-samples/appengine/flexible/wordpress
Instale as dependências:
composer install
Execute o script de ajuda:
php wordpress.php setup -n \ --dir=./wordpress-project \ --db_instance=tutorial-sql-instance \ --db_name=tutorialdb \ --db_user=tutorial-user \ --project_id=[YOUR_PROJECT_ID] \ --db_password=[YOUR_DATABASE_PASSWORD]
onde:
[YOUR_PROJECT_ID]
é o ID do projeto;[YOUR_DATABASE_PASSWORD]
é a senha do seu banco de dados.
O parâmetro
-dir
especifica a localização do seu projeto do WordPress.O script auxiliar grava informações em
wordpress-project/wordpress/wp-config.php
. Inspecione o conteúdo dewp-config.php
para verificar se os nomes, o ID do projeto e a senha do banco de dados estão corretos.if ($onGae) { /** Production environment */ define('DB_HOST', ':/cloudsql/[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance'); /** The name of the database for WordPress */ define('DB_NAME', 'tutorialdb'); /** MySQL database username */ define('DB_USER', 'tutorial-user'); /** MySQL database password */ define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]'); } else { /** Local environment */ define('DB_HOST', '127.0.0.1'); /** The name of the database for WordPress */ define('DB_NAME', 'tutorialdb'); /** MySQL database username */ define('DB_USER', 'tutorial-user'); /** MySQL database password */ define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]'); }
Como implantar o projeto do WordPress no ambiente flexível do App Engine
Acesse o diretório do seu projeto do WordPress:
cd wordpress-project
Implante o projeto do WordPress:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
No navegador, digite o seguinte URL:
https://PROJECT_ID.REGION_ID.r.appspot.com
Substitua:
PROJECT_ID
: é o ID do projeto do Google Cloud.REGION_ID
: um código que o App Engine atribui ao seu app.
Como atualizar o WordPress, plug-ins e temas
É importante manter o WordPress, plug-ins e temas atualizados. Para manter esses itens atualizados, use a ferramenta wp
. Depois de uma atualização, você precisará reimplantar o projeto do WordPress.
Atualize o WordPress:
vendor/bin/wp core update --path=wordpress
Atualize os plug-ins:
vendor/bin/wp plugin update --all --path=wordpress # Just in case it updates any of the dropins, copy the files: cp wordpress/wp-content/plugins/batcache/advanced-cache.php \ wordpress/wp-content/plugins/memcached/object-cache.php \ wordpress/wp-content
Atualize os temas:
vendor/bin/wp theme update --all --path=wordpress
Implante o projeto novamente:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Exclua o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto, faça o seguinte:
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir versões não padrão do app
Se você não quer excluir seu projeto, pode reduzir custos excluindo versões não padrão do app.
Para excluir uma versão do app:
- No Console do Google Cloud, acesse a página Versões do App Engine.
- Marque a caixa de seleção da versão não padrão do app que você quer excluir.
- Para excluir a versão do app, clique em Excluir.
Excluir a instância do Cloud SQL
Para excluir uma instância do Cloud SQL:
- No Console do Google Cloud, acesse a página Instâncias.
- Clique no nome da a instância de SQL que você quer excluir.
- Para excluir a instância, clique em Excluir e siga as instruções.
A seguir
Saiba como executar o app de amostra Bookshelf em PHP no ambiente flexível do App Engine.
Saiba como executar o app de amostra Bookshelf em PHP no Google Kubernetes Engine.
Saiba como executar o app de amostra Bookshelf em PHP no Compute Engine.
Saiba mais sobre o WordPress.
Aprenda sobre o uso do multisite do WordPress com seus próprios domínios e Mailgun.
Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.