Este tópico descreve como migrar aplicações web de uma instância ECS para um Simple Application Server.
Pré-requisitos
-
Crie um Simple Application Server com o mesmo sistema operacional da sua instância ECS. Para mais informações, consulte Create a Simple Application Server.
NotaSe o Simple Application Server tiver um sistema operacional diferente da instância ECS, redefina o sistema. Para mais informações, consulte Reset system.
O Simple Application Server oferece uma seleção mais limitada de imagens de sistema em comparação às imagens públicas disponíveis para ECS. Durante a migração, escolha uma versão de sistema operacional equivalente. Por exemplo, se a instância ECS usar uma imagem pública CentOS 7.X, utilize uma imagem de sistema CentOS 7.3 ou CentOS 7.6 para o Simple Application Server.
Defina uma senha para o Simple Application Server. Para mais informações, consulte Set or reset a server password.
-
Ative as portas necessárias no firewall. Para mais informações, consulte Firewall settings.
Neste exemplo, ative a porta 3306 (porta padrão do MySQL), a porta 8888 (porta padrão do aaPanel) e a porta 888 (porta padrão da ferramenta de gerenciamento de banco de dados phpMyAdmin).
AvisoO uso de portas padrão pode expor o servidor a ataques. Recomendamos desativar essas portas após o uso ou alterá-las para números de porta personalizados.
Contexto
Neste cenário, você migra um site WordPress de uma instância ECS com ambiente LNMP para um Simple Application Server. O objetivo é garantir que o site permaneça operacional com total integridade dos dados após a migração. As tabelas a seguir listam os servidores e as ferramentas utilizadas nesta migração.
-
Detalhes dos servidores
Instância ECS
Simple Application Server
Imagem: imagem pública CentOS 7.8.
Ambiente de execução e aplicação: site WordPress implantado em ambiente LNMP.
As versões das aplicações são as seguintes:
Nginx: 1.16.1
MySQL: 5.7.28
PHP: 7.0.33
WordPress: 5.1.10
NotaEste tópico não descreve como construir um ambiente LNMP ou implantar um site WordPress em uma instância ECS. Para mais informações, consulte Manually build a WordPress website (CentOS 7).
Imagem: CentOS 7.6.
-
Ferramentas de migração
Ferramenta
Descrição
aaPanel Free Edition
Utilize o aaPanel, um painel de gerenciamento de servidor, para configurar um ambiente LNMP no Simple Application Server que corresponda ao ambiente da instância ECS de origem.
scp command
Esse comando realiza cópia remota de arquivos com base no protocolo SSH. A aplicação web da instância ECS (excluindo os dados do banco de dados) será copiada para o Simple Application Server por meio do comando scp.
Alibaba Cloud Data Transmission Service (DTS)
Utilize o Alibaba Cloud Data Transmission Service (DTS) para migrar o banco de dados do site WordPress da instância ECS para o banco de dados do Simple Application Server. Para mais informações, consulte What is Data Transmission Service (DTS)?.
Observações
-
Crie snapshots para fazer backup dos dados.
Para mais informações, consulte os tópicos a seguir:
Instância ECS: Manually create a single snapshot.
Simple Application Server: Create a snapshot.
AvisoCrie snapshots tanto da instância ECS quanto do Simple Application Server. Caso uma falha na migração cause problemas nos dados, utilize os snapshots para restaurar os discos cloud.
-
Verifique se as versões do ambiente de execução nos dois servidores são idênticas.
Alguns sites têm requisitos rigorosos quanto à versão do ambiente de execução. Se as versões nos servidores de origem e destino forem diferentes, o site pode não funcionar corretamente após a migração. Portanto, identifique a versão exata do ambiente de execução na instância ECS. Por exemplo, em um ambiente LNMP, verifique as versões do Nginx, MySQL e PHP e implante as mesmas versões no Simple Application Server.
-
Verifique a conectividade de rede.
Tanto a instância ECS quanto o Simple Application Server precisam ter acesso à rede pública. Ao migrar dados entre regiões internacionais, considere que uma rede instável pode reduzir a velocidade da migração.
Impactos pós-migração
|
Item |
Descrição |
|
Aplicações licenciadas no servidor |
A instância ECS e o Simple Application Server estão em VPCs diferentes. Por isso, o hardware subjacente muda durante a migração, o que pode invalidar licenças de aplicações vinculadas ao hardware. Você é responsável por verificar suas licenças após a migração. |
|
Endereço IP público |
O Simple Application Server possui um endereço IP público diferente da instância ECS de origem. Se você tiver um nome de domínio associado à instância ECS, atualize os registros DNS para apontar o nome de domínio para o novo endereço IP público. |
Etapa 1: Instalar e configurar o aaPanel
Este tutorial mostra como usar o aaPanel para configurar um ambiente de execução no Simple Application Server que corresponda ao ambiente da instância ECS.
Em uma migração real, configure manualmente o ambiente de execução no Simple Application Server para que corresponda ao da instância ECS.
-
Conecte-se ao Simple Application Server no console.
Para mais informações, consulte Connect to a Linux server.
-
Execute o seguinte comando para alternar para o usuário
root:sudo su root -
Instale o aaPanel.
Acesse o site do aaPanel para obter um pacote de instalação para o seu sistema operacional. Neste exemplo, o Simple Application Server executa CentOS 7.6. Execute o seguinte comando para instalar a edição gratuita do aaPanel.
yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanelA saída a seguir indica que a instalação foi concluída com sucesso. Salve o aaPanel Internet Address, o aaPanel Internal Address, o username e a password.
================================================================== Congratulations! Installed successfully! ================================================================== aaPanel Internet Address: https://8.218.XX.XX:7800/d55e4627 aaPanel Internal Address: https://172.19.XX.XX:7800/d55e4627 username: k6tzrhwj password: d2ae**** Warning: If you cannot access the panel, release the following port (7800|888|80|443|20|21) in the security group ================================================================== Time consumed: 1 Minute! -
No computador local, acesse o aaPanel Internet Address em um navegador e faça login no aaPanel com o username e a password.
Após fazer login no aaPanel, faça login também na sua conta do aaPanel. Caso não tenha uma conta do aaPanel, crie uma primeiro. Siga as instruções exibidas na tela para concluir o processo.
-
No aaPanel, configure um ambiente de execução que corresponda ao da instância ECS.
No painel de navegação à esquerda, clique em App Store.
Na seção App Sort, clique em Deployment.
-
Na lista de software, localize as aplicações a seguir e clique em Install na coluna Operation de cada uma.
-
Nginx
Clique em Install, selecione a versão
nginx 1.16e clique em Submit. -
MySQL
Clique em Install, selecione a versão
mysql 5.7e clique em Submit. -
PHP-7.0
Clique em Install, mantenha as configurações padrão e clique em Submit.
-
phpMyAdmin
Clique em Install, selecione a versão
phpmyadmin 4.9e clique em Submit.
A instalação pode levar alguns minutos.
-
-
No aaPanel, adicione as informações do site.
No painel de navegação à esquerda, clique em Website.
Na aba PHP Project, clique em Add Site.
-
Na caixa de diálogo Add Site, na aba Create Site, configure os parâmetros e clique em Submit.
A tabela a seguir descreve os principais parâmetros. Para os parâmetros não listados, mantenha os valores padrão.
Parâmetro
Descrição
Exemplo
Nome de domínio
Se você tiver vinculado um nome de domínio ao Simple Application Server e concluído a resolução DNS, insira o nome de domínio.
Caso ainda não tenha vinculado um nome de domínio, insira o endereço IP público do servidor para fins de teste. Após concluir a migração, vincule e resolva um nome de domínio para o servidor e atualize essa configuração.
Neste exemplo, o endereço IP público do servidor é utilizado para fins de teste.
Descrição
Uma descrição do site. Este parâmetro é opcional.
Neste exemplo, defina como
server-B.Website Path
O diretório raiz do site. O diretório raiz padrão no aaPanel é /www/wwwroot.
Neste exemplo, defina como /www/wwwroot/wordpress.
-
No aaPanel, configure o banco de dados MySQL.
No painel de navegação à esquerda, clique em Databases.
-
Na página Database Manager, altere a senha do root.
Clique em Root password.
-
Insira uma senha personalizada no campo Root password e clique em Submit.
Neste exemplo, a senha é definida como
Test@123.ImportanteGuarde a senha em local seguro. Uma senha vazada pode expor o servidor a riscos de segurança.
Na página Database Manager, clique em phpMyAdmin.
Na página phpMyAdmin, insira o nome de usuário e a senha do usuário
rootdo MySQL e clique em Run.-
Na barra de menu superior, clique em SQL. Insira os comandos a seguir e clique em Run.
Para migrar os dados do banco de dados, você precisa de um usuário MySQL com permissões de conexão remota. Crie esse usuário no banco de dados MySQL do Simple Application Server.
-- Switch to the mysql database. use mysql; -- In this example, the username for remote connections is testUser and the password is Test@123. create user 'testUser'@'%' IDENTIFIED BY 'Test@123'; -- Grant remote connection privileges to testUser. grant all privileges on *.* to 'testUser'@'%' with grant option; -- Apply the privilege changes. flush privileges; -
Na barra de menu superior, clique em SQL. Insira os comandos a seguir e clique em Run.
Para permitir que o site WordPress se conecte ao banco de dados após a migração, crie um banco de dados e um usuário no Simple Application Server com as mesmas credenciais da instância ECS.
Neste exemplo, o banco de dados MySQL do site WordPress na instância ECS tem o nome
wordpress, o nome de usuário éusere a senha éPASSword123..-- Create the wordpress database. create database wordpress; -- Create a new user named user with the password PASSword123. create user 'user'@'localhost' identified by 'PASSword123.'; -- Grant all privileges on the wordpress database to the user. grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123.'; -- Apply the privilege changes. flush privileges;aaPanel
-
Confirme as informações do Simple Application Server.
Para copiar remotamente os arquivos do site com o comando scp, você precisará do endereço IP público do servidor e do caminho de destino. Antes de prosseguir, confirme as seguintes informações do Simple Application Server:
-
Endereço IP público.
Para localizar o endereço IP público, consulte View server information on the server card.
-
Diretório raiz do site.
Neste exemplo, o diretório raiz do site no Simple Application Server é /www/wwwroot/wordpress.
-
-
Conecte-se à instância ECS.
Para mais informações, consulte Connection methods.
-
Execute o seguinte comando para usar o scp e migrar a aplicação web da instância ECS para o Simple Application Server.
scp -r /usr/share/nginx/html/wordpress/* root@<public IP address of the simple application server>:/www/wwwroot/wordpressOs parâmetros do comando scp são descritos a seguir:
-r: Copia recursivamente o diretório inteiro. Para copiar um único arquivo, remova a opção-r./usr/share/nginx/html/wordpress/*: Todos os arquivos (/*) no diretório source do site na instância ECS.root@<public IP address of the simple application server>: O nome de usuário e o endereço IP público do Simple Application Server de destino./www/wwwroot/wordpress: O caminho de destino no Simple Application Server.
-
Quando o sistema solicitar root@<public IP address of the simple application server>'s password:, insira a senha do Simple Application Server.
NotaPor motivos de segurança, nenhuma saída é exibida ao digitar a senha. Basta inserir a senha correta e pressionar Enter.
O comando scp criptografa os dados durante a transmissão, o que pode reduzir a velocidade da transferência. Aguarde a conclusão da cópia.
Faça login no console do DTS.
No painel de navegação à esquerda, clique em Data Migration e, no canto superior esquerdo, clique em Create Task.
-
Configure a tarefa de migração de dados.
A seção a seguir descreve os parâmetros principais. Mantenha as configurações padrão para os demais parâmetros.
Task Name: Insira um nome para a tarefa. Por exemplo,
test-swas-01.-
Source Database (informações sobre a instância ECS):
Parâmetro
Exemplo de configuração
Database Type
Selecione MySQL.
Access Method
Selecione Self-managed Database on ECS.
Instance Region
A região da instância ECS. Por exemplo, China (Hangzhou).
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, selecione No.
ECS Instance ID
Selecione o ID da sua instância ECS.
Port Number
O valor padrão é
3306.Database Account
Insira uma conta de banco de dados com permissões de conexão remota. Por exemplo,
testUser.Database Password
Test@123
ImportanteA senha neste exemplo é apenas para fins de demonstração. Para evitar riscos de segurança, utilize uma senha forte e mantenha-a confidencial.
-
Destination Database (informações sobre o Simple Application Server):
Parâmetro
Exemplo de configuração
Database Type
Selecione MySQL.
Access Method
Selecione Public IP Address.
Instance Region
A região do Simple Application Server. Por exemplo, China (Hangzhou).
Domain Name or IP
O endereço IP público do Simple Application Server.
Port Number
O valor padrão é
3306.Database Account
Insira uma conta de banco de dados com permissões de conexão remota. Por exemplo,
testUser.Database Password
Test@123
ImportanteA senha neste exemplo é apenas para fins de demonstração. Para evitar riscos de segurança, utilize uma senha forte e mantenha-a confidencial.
Após configurar os parâmetros, clique em Test Connectivity and Proceed para verificar se o DTS consegue se conectar aos bancos de dados MySQL em ambos os servidores.
Na caixa de diálogo CIDR Blocks of DTS Servers, clique em Test Connectivity and Proceed.
-
No assistente Configure Objects and Advanced Settings, configure os parâmetros obrigatórios e clique em Next: Advanced Settings.
A lista a seguir descreve os parâmetros principais. Para mais informações, consulte Data Migration Guide.
Task Stages: Selecione Schema Migration, Full Data Migration ou Incremental Data Migration de acordo com os requisitos do seu negócio.
Source Objects: Na seção Source Objects, selecione Select All e clique no ícone
.
Após concluir a configuração, defina Conflict resolution for existing tables como Ignore and continue e Case sensitivity for target object names como DTS default policy. Na seção Selected objects, confirme que os bancos de dados sys e wordpress estão selecionados.
-
No assistente Advanced Configuration, mantenha as configurações padrão e clique em Next: Save Task Settings and Precheck.
Aguarde a conclusão da pré-verificação. Se ela falhar, clique em View Details ao lado de Failed, resolva o problema com base na mensagem de erro e execute a pré-verificação novamente.
Após a aprovação na pré-verificação, clique em Next: Purchase Instance. A pré-verificação bem-sucedida significa que todas as seis verificações foram aprovadas: conectividade do banco de dados de origem, conectividade do banco de dados de destino, permissões do banco de dados de origem, permissões do banco de dados de destino, verificação do mecanismo de armazenamento e verificação da versão do banco de dados de origem.
-
Na página Purchase, selecione Data Transmission Service (Pay-as-you-go) Service Terms e clique em Buy and Start.
A migração de dados é gratuita neste exemplo. Contudo, na prática, as cobranças são baseadas no uso e nos preços exibidos na página. Para mais informações sobre o faturamento do DTS, consulte billing overview.
Após iniciar a tarefa de migração, aguarde sua conclusão. O status da tarefa pode ser acompanhado na lista de tarefas de migração. Quando o progresso de Schema Migration e Full Data Migration atingir 100% e o status da tarefa mudar para Completed, a migração de dados estará concluída.
No seu computador local, use um navegador para fazer login no aaPanel do Simple Application Server.
-
Verifique os arquivos do site WordPress.
No painel de navegação à esquerda do aaPanel, clique em Site.
-
Na página PHP Project, clique no caminho do site na coluna Document Root.
Neste exemplo, o caminho raiz do documento é
/www/wwwroot/wordpress.Verifique se os arquivos principais do WordPress, como
wp-config.php,wp-settings.phpewp-login.php, estão presentes no diretório /www/wwwroot/wordpress. A presença desses arquivos confirma que os arquivos do site foram migrados com sucesso. -
Verifique se há problemas na aplicação web do site.
Confirme que a aplicação web no Simple Application Server é idêntica à da instância ECS, de acordo com os requisitos do seu negócio. Por exemplo, um link simbólico para o arquivo wp-config.php na instância ECS se torna um arquivo regular após a migração, podendo apresentar permissões incorretas. Nesse caso, ajuste as permissões do arquivo wp-config.php no Simple Application Server.
Para gerenciar arquivos no aaPanel, siga estas etapas:
Passe o cursor sobre o arquivo e clique em Permission.
-
Na caixa de diálogo Set permission, configure as permissões do arquivo e clique em OK.
Configure as permissões de acordo com os requisitos do seu negócio. Neste exemplo, permissões totais são concedidas ao arquivo wp-config.php. Defina o proprietário como root, defina a permissão como
777marcando as caixas de seleção de leitura, escrita e execução para o proprietário, grupo e público, e selecione Apply to subdirectory.
-
Verifique as informações do banco de dados do site WordPress.
No painel de navegação à esquerda do aaPanel, clique em Databases.
-
Clique em Get DB from server.
As informações do banco de dados WordPress do Simple Application Server serão exibidas. Se o aaPanel não conseguir recuperar a senha do banco de dados, clique em reset para definir uma nova.
-
Na coluna Operation, clique em Tools para visualizar os dados das tabelas no banco de dados WordPress.
Confirme que os dados das tabelas no Simple Application Server são idênticos aos da instância ECS.
O banco de dados tem o nome wordpress com tamanho de 2.11 MB e contém as seguintes tabelas: wp_commentmeta, wp_comments, wp_links, wp_options, wp_postmeta, wp_posts, wp_term_relationships e wp_term_taxonomy. Todas as tabelas utilizam o mecanismo InnoDB com o conjunto de caracteres utf8mb4.
-
No seu computador local, acesse
http://<public IP address of the simple application server>em um navegador para testar o site WordPress.Se o site WordPress carregar corretamente e exibir os mesmos dados de antes da migração, a migração foi bem-sucedida. A exibição da publicação padrão Hello world! confirma o êxito da migração de dados.
-
Se o site WordPress não carregar e exibir o erro "Warning: require_once(/www/wwwroot/wordpress/wp-config.php): failed to open stream: Permission denied in /www/wwwroot/wordpress/wp-load.php on line 37", será necessário definir as permissões adequadas para o arquivo especificado. Para obter instruções, consulte Verificar problemas na aplicação web do site.
Warning: require_once(/www/wwwroot/wordpress/wp-config.php): failed to open stream: Permission denied in /www/wwwroot/wordpress/wp-load.php on line 37 Fatal error: require_once(): Failed opening required '/www/wwwroot/wordpress/wp-config.php' (include_path='.:/www/server/php/70/lib/php') in /www/wwwroot/wordpress/wp-load.php on line 37
<!--@li {"id
Passo 3: Copiar arquivos do site usando scp
Passo 4: Migrar dados do banco de dados usando DTS
Passo 5: Verificar a migração de dados
Operações relacionadas
Após a migração, a instância é substituída e seu endereço IP público é alterado. Caso você tenha vinculado um nome de domínio à instância de origem anteriormente, será necessário vinculá-lo novamente à nova instância e atualizar os registros DNS. Para mais informações, consulte Register and resolve a domain name.