O Laravel, é um robusto framework PHP, e Inertia.js, uma dinâmica biblioteca JavaScript, colaboram de forma integrada para acelerar o desenvolvimento de aplicativos. Laravel simplifica tarefas do lado do servidor, enquanto Inertia.js facilita as interações do lado do cliente. Juntos, eles suportam um fluxo de dados suave e atualizações em tempo real, ajudando você a construir aplicativos web responsivos rapidamente.
A implantação de um aplicativo Laravel-Inertia usando o serviço de hospedagem de aplicativos da Kinsta envolve algumas etapas:
- Configurar o banco de dados usando a Hospedagem de Banco de Dados da Kinsta.
- Hospedar seu aplicativo e configurar buildpacks para Node.js e PHP, integrando o banco de dados.
- Configurar o Node.js para instalar o Inertia e as dependências do PHP para o ambiente do Inertia.
Este tutorial orientará você nesse processo, passo a passo.
Entendendo os requisitos de implantação
Para acompanhar o processo, verifique se você tem os seguintes pré-requisitos:
- Conhecimento fundamental de Laravel e Vue.js
- Familiaridade com o banco de dados
- Uma conta Kinsta. Comece um teste gratuito hoje mesmo.
Neste artigo, você implantará um aplicativo de blog que serve uma lista de artigos e permite que o leitor visualize um artigo específico. O aplicativo foi estilizado com o Tailwind CSS e desenvolvido com Laravel e Vue.js.
O ambiente runtime JavaScript do Node.js lida com a renderização no lado do servidor. Ele coordena a comunicação entre os componentes do aplicativo de frontend Inertia.js e o backend do Laravel para atualizações dinâmicas do frontend no lado do servidor.
Para obter mais informações sobre como criar esse aplicativo, leia Como usar o Inertia.js em seus projetos Laravel. Você também pode fazer o download do código-fonte completo do aplicativo.
Como implantar o aplicativo na Kinsta
Comece configurando um banco de dados para o seu aplicativo na hospedagem de banco de dados da Kinsta. Você pode fazer isso seguindo estas etapas:
- Faça login ou crie uma conta para visualizar seu painel MyKinsta.
- Clique em Bancos de dados na barra lateral esquerda e, em seguida, clique em Adicionar banco de dados.
- Na seção Detalhes básicos, insira os detalhes do seu banco de dados. Isso inclui o tipo de banco de dados (MySQL) e a versão (8.0). Em seguida, clique em Continuar.
- A seção Resumo mostra os detalhes da fatura do serviço e suas informações de cobrança. Confirme e clique em Criar banco de dados.
Como configurar o ambiente do Laravel
Para configurar o ambiente Laravel na Hospedagem de Aplicativos da Kinsta, você deve seguir os seguintes passos Siga estas etapas:
- Clique em Aplicativos na barra lateral esquerda do MyKinsta e, em seguida, clique em Adicionar aplicativo.
- Escolha o repositório do seu aplicativo, ative a implantação automática no commit, insira o nome do aplicativo e selecione o local do centro de dados. Seu aplicativo e banco de dados devem estar na mesma região.
- Em seguida, insira suas variáveis de ambiente. Digite
APP_KEY
no campo Key 1. Use o gerador on-line do Laravel para criar uma chave para o Valor 1. Clique em Continuar. - Na aba Ambiente de build, selecione Usar Buildpacks para configurar a imagem do contêiner. Essa opção permite que você escolha os Buildpacks mais tarde.
- Na aba Recursos, especifique o comando start do seu aplicativo. Como este é um aplicativo Laravel, ele usa o seguinte comando:
php artisan serve --host 0.0.0.0 --port 8080
- A aba Resumo mostra a fatura com seu pod e método de pagamento. Confirme todas as informações e clique em Criar aplicativo.
A implantação do seu aplicativo será iniciada, mas ela irá falhar porque ainda é necessário adicionar os Buildpacks necessários durante a build do seu aplicativo Laravel-Inertia.
Adicione Buildpacks
- No menu do lado esquerdo do seu aplicativo, clique em Configurações.
- Em seguida, clique na aba build e em Adicionar buildpack para adicionar os buildpacks Node.js e PHP. Adicione os Buildpacks que contêm a última linguagem principal à lista de Buildpacks para garantir que o Buildpacks específico da linguagem tenha precedência sobre a configuração geral do ambiente do aplicativo.
- Clique em Adicionar Buildpacks e adicione os Buildpacks do Node.js e do PHP. Certifique-se de que o Buildpacks da linguagem principal (PHP) seja adicionado por último.
- Clique em Implantar na barra lateral e clique em Reimplantar.
Configure o ambiente do Node.js
- O aplicativo Laravel-Inertia precisa do script Vite para que a página seja atualizada sem recarregar. Portanto, no menu do lado esquerdo de sua conta Kinsta, clique em Processes (Processos).
- Na seção Processos Runtime, clique em Criar processo. Escolha Background worker como o tipo de processo e adicione os seguintes comandos:
npm install && npm start
Dê ao processo o nome que você quiser para identificá-lo na Kinsta, como “Node”. Além disso, selecione o tamanho do pod e a contagem de instâncias com base nas necessidades e no orçamento do seu aplicativo. Este tutorial usa 2 CPUs com 8 GB de RAM.
- Clique em Continuar para criar seu processo. Essa ação aciona uma reimplantação.
Configure o ambiente do banco de dados
- Na página Configurações, na aba Conexões, você deve ver Aplicativos permitidos. Clique em Adicionar conexão para adicionar o banco de dados como uma conexão.
- Selecione o banco de dados. Abaixo dele, marque Adicionar variáveis de ambiente para acessar o banco de dados. Essa ação preenche automaticamente todas as variáveis de ambiente do banco de dados.
- Edite as chaves das variáveis para corresponderem ao arquivo database.php do seu aplicativo, que está na pasta de configuração na raiz do aplicativo.
- Modifique as chaves do Laravel DB_DATABASE, DB_USERNAME e DATABASE_URL, como na captura de tela a seguir:
- Adicione outra variável de ambiente chamada APP_URL. Seu valor é a URL de implantação do aplicativo. Você pode obter essas informações em Domínios no menu lateral.
Migração do banco de dados
- No menu lateral, clique em Processos.
- Na seção Processos Runtime, clique em Criar processo.
- Nomeie o processo como “Migração”. Selecione o tipo Background worker. Cole o seguinte comando no campo Iniciar comando:
php artisan migrate:fresh --seed --force
Esse comando migra a tabela Article e adiciona dez artigos ao aplicativo. Seus processos devem se parecer com a seguinte captura de tela, com os processos Node, Migration e Web e seus detalhes.
- No menu lateral, selecione Implantações. Clique em Última implantação. Você deverá ver uma página como a seguinte, com um título e uma lista de artigos com texto e imagens de espaço reservado.
Como monitorar e manter o aplicativo após a implantação
Depois de implantar seu aplicativo, você pode ter problemas com o aumento das solicitações. A análise de aplicativos da Kinsta ajuda você a monitorar essas alterações e a manter a integridade do seu aplicativo.
A análise mostra recursos, desempenho e solicitações HTTP para que você tenha uma ideia de como o aplicativo funciona. Você pode observar rapidamente quando seu aplicativo precisa de mais recursos nos quadros de monitoramento da aba Desempenho e, em seguida, aumentar ou diminuir a escala conforme necessário.
Os registros de runtime também ajudam a sua equipe a depurar problemas rapidamente. Você pode encontrar a origem do problema nas entradas de registro, o que facilita a manutenção do aplicativo.
Como solucionar problemas comuns de implantação
Você pode encontrar alguns problemas ao implantar seu aplicativo Laravel-Inertia na Kinsta. Vamos discutir quais são esses problemas e como solucioná-los.
Primeiro, a Kinsta adiciona um caractere especial à senha gerada quando você cria um banco de dados. Isso pode causar erros de reversão quando você conecta o banco de dados ao seu aplicativo Laravel-Inertia. Para solucionar esse problema, use sua senha em vez de confiar nas senhas geradas.
Falhas de implantação com auto-commit são outro problema típico. A implantação pode falhar se você especificar o comando start incorreto. Para resolver esse problema, verifique se seus processos têm erros de digitação ou estão atribuídos incorretamente a um tipo de processo.
Resumo
Agora você sabe como implantar um aplicativo Laravel e Inertia na Kinsta. Isso envolve a definição de Buildpacks e comando start para configurar o aplicativo, criar um banco de dados e, em seguida, conectar e migrar o banco de dados para fornecer dados ao aplicativo.
A combinação do Laravel e do Inertial permite que você conecte seu aplicativo e banco de dados sem configurar manualmente uma API, economizando tempo e energia que você pode usar para criar novos recursos interessantes para o aplicativo.
A Kinsta hospeda seu aplicativo e seu banco de dados. Você também pode usar as conexões externas do seu banco de dados para se conectar a um aplicativo que está sendo executado fora da Kinsta. 37 centros de dados ajudam a oferecer serviços mais próximos aos usuários do seu aplicativo, reduzindo a latência enquanto oferecem uma infraestrutura de implantação confiável e segura.
Use o que você aprendeu neste tutorial para implantar seu aplicativo dinâmico da web – ou seu banco de dados – na Kinsta. Comece sua jornada de implantação com a Kinsta hoje mesmo.