As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Etapa 2: Configure seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux Amazon EC2
Agora é hora de configurar o conteúdo de origem do seu aplicativo, para que você tenha algo para implantar na instância.
Tópicos
Obter o código-fonte
Neste tutorial, você implanta a plataforma de publicação de WordPress conteúdo da sua máquina de desenvolvimento na EC2 instância de destino da Amazon. Para obter o WordPress código-fonte, você pode usar chamadas de linha de comando integradas. Ou, se tiver o Git instalado na sua máquina de desenvolvimento, poderá usá-lo como alternativa.
Para essas etapas, presumimos que você baixou uma cópia do WordPress código-fonte para o /tmp
diretório em sua máquina de desenvolvimento. (É possível escolher qualquer diretório desejado, mas lembre-se de substituir /tmp
pela localização sempre que esse diretório for especificado nas etapas.)
Escolha uma das duas opções a seguir para copiar os arquivos de WordPress origem para sua máquina de desenvolvimento. A primeira opção usa chamadas integradas de linha de comando. A segunda opção usa o Git.
Tópicos
Para obter uma cópia do WordPress código-fonte (chamadas de linha de comando integradas)
-
Chame o wget comando para baixar uma cópia do WordPress código-fonte, como um arquivo.zip, para o diretório atual:
wget https://github.com/WordPress/WordPress/archive/master.zip
-
Chame os comandos unzip, mkdir, cp e rm para:
-
Descompactar o arquivo
master
.zip no/tmp/WordPress_Temp
diretório (pasta). -
Copiar seu conteúdo descompactado na pasta de destino
/tmp/WordPress
. -
Excluir a pasta temporária
/tmp/WordPress_Temp
e o arquivomaster
.
Execute os comandos um de cada vez:
unzip master -d /tmp/WordPress_Temp
mkdir -p /tmp/WordPress
cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
rm -rf /tmp/WordPress_Temp
rm -f master
Isso deixa você com um conjunto limpo de arquivos de WordPress código-fonte na
/tmp/WordPress
pasta. -
Para obter uma cópia do WordPress código-fonte (Git)
-
Baixe e instale o Git
na sua máquina de desenvolvimento. -
Na pasta
/tmp/WordPress
, chame o comando git init. -
Chame o git clone comando para clonar o WordPress repositório público, fazendo sua própria cópia dele na pasta de
/tmp/WordPress
destino:git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
Isso deixa você com um conjunto limpo de arquivos de WordPress código-fonte na
/tmp/WordPress
pasta.
Criar scripts para executar seu aplicativo
Em seguida, crie uma pasta e scripts no diretório. CodeDeploy usa esses scripts para configurar e implantar a revisão do seu aplicativo na EC2 instância de destino da Amazon. É possível usar qualquer editor de texto para criar os scripts.
-
Crie um diretório de scripts em sua cópia do WordPress código-fonte:
mkdir -p /tmp/WordPress/scripts
-
Crie um arquivo
install_dependencies.sh
no/tmp/WordPress/scripts
. Adicione as seguintes linhas ao arquivo. Esseinstall_dependencies.sh
script instala o ApacheSQL, My e. PHP Também adiciona Meu SQL apoio PHP a.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
Crie um arquivo
start_server.sh
no/tmp/WordPress/scripts
. Adicione as seguintes linhas ao arquivo. Essestart_server.sh
script inicia o Apache e o MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
Crie um arquivo
stop_server.sh
no/tmp/WordPress/scripts
. Adicione as seguintes linhas ao arquivo. Essestop_server.sh
script interrompe o Apache e o MySQL.#!/bin/bash isExistApp="pgrep httpd" if [[ -n $isExistApp ]]; then systemctl stop httpd.service fi isExistApp=pgrep mysqld if [[ -n $isExistApp ]]; then systemctl stop mariadb.service fi isExistApp=pgrep php-fpm if [[ -n $isExistApp ]]; then systemctl stop php-fpm.service fi
-
Crie um arquivo
create_test_db.sh
no/tmp/WordPress/scripts
. Adicione as seguintes linhas ao arquivo. Essecreate_test_db.sh
script usa My SQL para criar umtest
banco de dados WordPress para uso.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
Finalmente, crie um script
change_permissions.sh
em/tmp/WordPress/scripts
. Ele é usado para alterar as permissões de pastas no Apache.Importante
Este script mostra permissões atualizadas na pasta
/tmp/WordPress
para que qualquer pessoa possa gravar nele. Isso é necessário para que ele WordPress possa gravar em seu banco de dados duranteEtapa 5: atualizar e reimplantar seu aplicativo WordPress . Depois que o WordPress aplicativo estiver configurado, execute o comando a seguir para atualizar as permissões para uma configuração mais segura:chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
Dê todas as permissões executáveis de scripts. Na linha de comando, digite:
chmod +x /tmp/WordPress/scripts/*
Adicionar um arquivo de especificação de aplicativo
Em seguida, adicione um arquivo de especificação do aplicativo (AppSpec arquivo), um arquivo YAML
-
Mapeie os arquivos de origem na revisão do seu aplicativo para seus destinos na EC2 instância de destino da Amazon.
-
Especificar permissões personalizadas para arquivos implantados.
-
Especifique scripts a serem executados na EC2 instância de destino da Amazon durante a implantação.
O AppSpec arquivo deve ser nomeadoappspec.yml
. Ele deve ser colocado no diretório raiz do código-fonte do aplicativo. Neste tutorial, o diretório raiz é /tmp/WordPress
.
Com seu editor de texto, crie um arquivo chamado appspec.yml
. Adicione as seguintes linhas ao arquivo:
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
CodeDeploy usa esse AppSpec arquivo para copiar todos os arquivos da /tmp/WordPress
pasta na máquina de desenvolvimento para a /var/www/html/WordPress
pasta na EC2 instância de destino da Amazon. Durante a implantação, CodeDeploy executa os scripts especificados como root
na /var/www/html/WordPress/scripts
pasta na EC2 instância de destino da Amazon em eventos específicos durante o ciclo de vida da implantação, como e. BeforeInstall
AfterInstall
Se algum desses scripts levar mais de 300 segundos (5 minutos) para ser executado, CodeDeploy interrompe a implantação e marca a implantação como falhada.
Para obter mais informações sobre essas configurações, consulte o CodeDeploy AppSpec referência de arquivo.
Importante
Os locais e números de espaços entre cada um dos itens desse arquivo são importantes. Se o espaçamento estiver incorreto, CodeDeploy gera um erro que pode ser difícil de depurar. Para obter mais informações, consulte AppSpec Espaçamento de arquivos.