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 que utilize o mesmo sistema operacional da sua instância ECS. Para mais informações, consulte Criar um Simple Application Server.
NotaSe o seu Simple Application Server tiver um sistema operacional diferente da instância ECS, redefina o sistema. Para mais informações, consulte Redefinir sistema.
O Simple Application Server oferece uma seleção mais limitada de imagens de sistema do que as imagens públicas disponíveis para ECS. Durante a migração, escolha uma versão similar do sistema operacional. Por exemplo, se sua instância ECS usa 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 Definir ou redefinir uma senha de servidor.
-
Ative as portas necessárias no firewall. Para mais informações, consulte Configurações de firewall.
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 seu 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 integridade total dos dados após a migração. As tabelas a seguir listam os servidores e ferramentas utilizados nesta migração.
-
Detalhes do servidor
Instância ECS
Simple Application Server
-
Imagem: Imagem pública CentOS 7.8.
-
Ambiente de execução e aplicação: Um site WordPress implantado em um ambiente LNMP.
As versões das aplicações são:
-
Nginx: 1.16.1
-
MySQL: 5.7.28
-
PHP: 7.0.33
-
WordPress: 5.1.10
NotaEste tópico não descreve como criar um ambiente LNMP ou implantar um site WordPress em uma instância ECS. Para mais informações, consulte Criar manualmente um site WordPress (CentOS 7).
-
Imagem: CentOS 7.6.
-
-
Ferramentas de migração
Ferramenta
Descrição
aaPanel Free Edition
Utilize o aaPanel, um painel de gerenciamento de servidores, para configurar um ambiente LNMP no Simple Application Server correspondente ao ambiente da instância ECS de origem.
Comando scp
Este comando copia arquivos remotamente com base no protocolo SSH. A aplicação web (exceto dados do banco de dados) na instância ECS será copiada para o Simple Application Server usando o comando scp.
Alibaba Cloud Data Transmission Service (DTS)
Use 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 no Simple Application Server. Para mais informações, consulte O que é o Data Transmission Service (DTS)?.
Observações
-
Crie snapshots para fazer backup dos dados.
Para mais informações, consulte os seguintes tópicos:
Instância ECS: Criar manualmente um único snapshot.
Simple Application Server: Criar um snapshot.
AvisoCrie snapshots tanto para a instância ECS quanto para o Simple Application Server. Se uma falha na migração causar problemas nos dados, use os snapshots para restaurar os discos em nuvem.
-
Garanta que as versões do ambiente de execução em ambos os servidores sejam 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 não coincidirem, o site pode não funcionar corretamente após a migração. Portanto, identifique a versão exata do ambiente de execução na sua instância ECS. Por exemplo, em um ambiente LNMP, identifique as versões do Nginx, MySQL e PHP e implante as mesmas versões no Simple Application Server.
-
Verifique sua conectividade de rede.
Garanta que tanto a instância ECS quanto o Simple Application Server tenham acesso à rede pública. Ao migrar dados entre regiões internacionais, observe que uma rede instável pode tornar a migração mais lenta.
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 virtual private clouds (VPCs) diferentes. Consequentemente, o hardware subjacente muda durante a migração, o que pode invalidar licenças de aplicações vinculadas ao hardware. Verifique 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. Caso tenha 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 de servidor no Simple Application Server correspondente ao ambiente na instância ECS.
Para uma migração real, configure manualmente o ambiente de execução no Simple Application Server para corresponder ao ambiente na instância ECS.
-
Conecte-se ao seu Simple Application Server no console.
Para mais informações, consulte Conectar-se a um servidor Linux.
-
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 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 uma instalação bem-sucedida. Salve o aaPanel Internet Address, aaPanel Internal Address, username e 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 seu computador local, acesse o aaPanel Internet Address pelo navegador e faça login no aaPanel com o username e password.
Após fazer login no aaPanel, também é necessário fazer login na sua conta do aaPanel. Se você não tiver uma conta do aaPanel, registre uma primeiro. Siga as instruções na tela para concluir o processo.
-
No aaPanel, configure um ambiente de execução correspondente 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 softwares, localize as seguintes aplicações 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 algum tempo.
-
-
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 parâmetros não listados, use os valores padrão.
Parâmetro
Descrição
Exemplo
Domain name
-
Se você vinculou um nome de domínio ao Simple Application Server e concluiu 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 testes. Após concluir a migração, vincule e resolva um nome de domínio para o servidor e atualize esta configuração.
Este exemplo usa o endereço IP público do servidor para testes.
Description
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.
Após adicionar o site, o resultado é mostrado na figura a seguir.

-
-
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 de 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.ImportanteArmazene sua senha com segurança. Uma senha vazada pode expor seu 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 seguintes comandos e clique em Run.
Para migrar dados do banco de dados, é necessário 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 seguintes comandos 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 credenciais idênticas às da instância ECS.
Neste exemplo, o banco de dados MySQL do site WordPress na instância ECS chama-se
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;
-
No aaPanel, configure o firewall.
No painel de navegação à esquerda, clique em Security.
-
Na seção Firewall, adicione uma regra para permitir tráfego na porta padrão do MySQL, 3306.
A figura a seguir mostra a configuração necessária.

Clique em Open.
Etapa 2: Configurar a instância ECS
Antes de usar o DTS para migrar dados do banco de dados, conclua as seguintes configurações na sua instância ECS.
-
Configure o grupo de segurança.
Para migrar dados, abra a porta necessária no grupo de segurança da sua instância ECS. Neste exemplo, tanto a instância ECS quanto o Simple Application Server possuem um banco de dados MySQL instalado. Portanto, abra a porta 3306, porta padrão do MySQL, no grupo de segurança da instância ECS. Para mais informações, consulte Adicionar uma regra de grupo de segurança.
-
Configure o MySQL.
Para a migração de dados, crie um usuário MySQL com permissões de conexão remota na instância ECS.
-
Conecte-se à instância ECS.
Para mais informações, consulte Visão geral dos métodos de conexão.
-
Execute o seguinte comando para fazer login no banco de dados MySQL.
mysql -uroot -p -
No prompt Enter password:, insira a senha do usuário
rootdo MySQL.Insira a senha do seu banco de dados MySQL.
NotaPor motivos de segurança dos dados, nenhuma saída é retornada ao inserir uma senha. Basta digitar a senha correta e pressionar a tecla Enter.
-
Execute o seguinte comando para usar o banco de dados
wordpress.O banco de dados
wordpressé o banco de dados do site WordPress.use wordpress; -
Execute o seguinte comando para criar um usuário de banco de dados para conexão remota.
Neste exemplo, o nome de usuário é
testUsere a senha éTest@123.ImportanteA senha usada neste exemplo serve apenas para fins de demonstração. Para evitar riscos de segurança, defina uma senha forte e mantenha-a confidencial.
create user 'testUser'@'%' IDENTIFIED BY 'Test@123'; -
Execute os seguintes comandos em sequência para conceder as permissões de conexão remota ao usuário
testUser.-
Conceda as permissões de conexão remota.
grant all privileges on *.* to 'testUser'@'%' with grant option; -
Faça a configuração entrar em vigor imediatamente.
flush privileges;
-
-
Execute o seguinte comando para sair do MySQL:
\q;
-
Etapa 3: Copiar arquivos do site usando scp
-
Confirme as informações do Simple Application Server.
Para copiar remotamente arquivos do site usando o comando scp, você precisa do endereço IP público do servidor e do caminho de destino. Primeiro, confirme as seguintes informações do Simple Application Server:
-
Endereço IP público.
Para encontrar o endereço IP público, consulte Visualizar informações do servidor no cartão do servidor.
-
Diretório raiz do site.
Neste exemplo, o diretório raiz do site do Simple Application Server é /www/wwwroot/wordpress.
-
-
Conecte-se à instância ECS.
Para mais informações, consulte Métodos de conexão.
-
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 no comando scp são descritos da seguinte forma:
-r: Copia recursivamente todo o diretório. Para copiar um único arquivo, remova a opção-r./usr/share/nginx/html/wordpress/*: Todos os arquivos (/*) no diretório de origem 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 solicitado com root@<public IP address of the simple application server>'s password:, insira a senha do Simple Application Server.
NotaPor motivos de segurança dos dados, nenhuma saída é retornada ao inserir uma senha. Basta digitar a senha correta e pressionar a tecla Enter.
O comando scp criptografa dados durante a transmissão, o que pode tornar a transferência mais lenta. Aguarde a conclusão da cópia.
Etapa 4: Migrar dados do banco de dados usando o DTS
Faça login no console do DTS.
No painel de navegação à esquerda, clique em Data Migration e, em seguida, clique em Create Task no canto superior esquerdo.
-
Configure a tarefa de migração de dados.
A seção a seguir descreve os principais parâmetros. Use as configurações padrão para outros 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 que tenha permissões de conexão remota. Por exemplo,
testUser.Database Password
Test@123
ImportanteA senha neste exemplo serve apenas para demonstração. Para evitar riscos de segurança, use 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 que tenha permissões de conexão remota. Por exemplo,
testUser.Database Password
Test@123
ImportanteA senha neste exemplo serve apenas para demonstração. Para evitar riscos de segurança, use 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 necessários e clique em Next: Advanced Settings.
A lista a seguir descreve os principais parâmetros. Para mais informações, consulte Guia de Migração de Dados.
Task Stages: Selecione Schema Migration, Full Data Migration ou Incremental Data Migration com base nos seus requisitos de negócios.
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 a pré-verificação 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. Uma 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 para este exemplo. No entanto, na prática, as cobranças são baseadas no seu uso e nos preços exibidos na página. Para mais informações sobre o faturamento do DTS, consulte visão geral de faturamento.
Após iniciar a tarefa de migração, aguarde sua conclusão. É possível visualizar o status da tarefa 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.
Etapa 5: Verificar a migração de dados
Do 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 do diretório 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 deles confirma que os arquivos do site foram migrados com sucesso.
-
Verifique se há problemas com a aplicação do site.
Verifique se a aplicação do site no Simple Application Server é idêntica à da instância ECS, com base nos seus requisitos de negócios. Por exemplo, um link simbólico para o arquivo wp-config.php na instância ECS torna-se um arquivo comum após a migração, o que pode resultar em permissões de arquivo incorretas. Nesse caso, ajuste as permissões do arquivo wp-config.php no Simple Application Server.
Para gerenciar arquivos no aaPanel, execute as seguintes etapas:
Passe o mouse 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 com base nos seus requisitos de negócios. Este exemplo concede permissões totais ao arquivo wp-config.php. Defina o proprietário como root, defina a permissão como
777marcando as caixas de seleção de leitura, gravação e execução para 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.
Isso exibe as informações do banco de dados WordPress do Simple Application Server. 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 da tabela no banco de dados WordPress.
Verifique se os dados da tabela no Simple Application Server são idênticos aos dados na instância ECS.

-
Do 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 postagem padrão Hello world! confirma uma migração de dados bem-sucedida.
-
Se o site WordPress falhar ao carregar e exibir um 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", defina as permissões apropriadas para o arquivo especificado. Para obter instruções, consulte Verificar problemas com a aplicação 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
Operações relacionadas
Após a migração, a instância é substituída e seu endereço IP público muda. Se você vinculou anteriormente um nome de domínio à instância de origem, revincule o nome de domínio à nova instância e atualize os registros DNS. Para mais informações, consulte Registrar e resolver um nome de domínio.