Como Implantar Laravel em VPS: Guia para Implementar o Framework num Servidor Privado Virtual

Laravel é um framework PHP para aplicações web. De código aberto e baseado na arquitetura Model-View-Controller (MVC), ele possui kits de ferramentas, bibliotecas e recursos que tornam o processo de desenvolvimento web mais eficiente, pois você não precisa escrever o código de todas as funcionalidades do seu projeto do zero.

Por ser um framework muito popular, ele tem uma grande comunidade de desenvolvedores, melhorando o suporte e a disponibilidade de recursos. No entanto, usuários recém-chegados podem ter algumas dúvidas sobre como implantar Laravel, devido às suas várias dependências e comandos.

É para isso que estamos aqui: neste tutorial, vamos explicar o processo de deploy do Laravel em um servidor privado virtual (VPS) baseado no sistema Ubuntu. Nosso tutorial também explorará várias dicas que ajudam a simplificar essa tarefa. Vamos lá?

Como Implantar Laravel: Pré-Requisitos

Antes de começar com o Laravel, adquira um plano de hospedagem VPS, caso você ainda não tenha um. Para escolher o melhor provedor de hospedagem VPS para o seu projeto, considere estes aspectos:

  • Compatibilidade. Seu VPS deve suportar o sistema operacional escolhido, o servidor web, o Laravel, a versão mais recente do PHP e outras dependências para funcionar corretamente.
  • Acesso. O servidor host deve fornecer acesso total como root através de uma conexão shell segura (SSH) para permitir uma implantação perfeita e segura do Laravel.
  • Desempenho O ambiente ideal de hospedagem VPS deve fornecer largura de banda e recursos de servidor suficientes para garantir que o aplicativo Laravel tenha um desempenho otimizado.
  • Recursos adicionais. Alguns provedores de hospedagem de site possuem recursos que ajudam a simplificar o processo de implantação de aplicativos, como um painel de controle e um instalador com um clique.

Os planos de hospedagem VPS da Hostinger são compatíveis com várias distribuições Linux, softwares e frameworks, incluindo Laravel, além de servidores de e-mails e muito mais.

Além disso, os usuários da Hostinger podem configurar seu servidor em um clique por meio do hPanel usando os templates de sistemas operacionais. Os templates vêm pré-embalados com vários softwares e suas dependências para simplificar o processo de implantação.

terminal do navegador em planos vps no hpanel

Além disso, todos os nossos planos VPS fornecem acesso total ao root para evitar problemas relacionados a permissões. Os usuários também podem usar nosso terminal disponível no navegador para se conectar ao seu servidor remoto. Ele é mais conveniente do que um cliente SSH, pois você pode executar comandos Linux diretamente do seu navegador web.

A partir de €5.99/mês, nossos planos VPS oferecem até 400 GB de armazenamento NVMe, 8 TB de largura de banda, 32 GB de RAM e 8 núcleos de vCPU, adequados para projetos empresariais de grande escala. Todos os nossos planos também vêm com uma garantia de devolução do seu dinheiro em 30 dias.

Como Implementar um Projeto Laravel na Hostinger

Se você é cliente Hostinger, a maneira mais fácil de implantar um projeto Laravel em um VPS é usando um template de sistema operacional. Este método pode ser realizado totalmente por meio do seu navegador. Por isso, ele é ideal para iniciantes e pessoas que não têm muita familiaridade com a interface de linha de comando.

Importante! Faça backup do seu VPS antes de instalar um template de sistema operacional, pois isso apagará permanentemente todos os dados do seu servidor.

Aqui estão as etapas para instalar o Laravel no VPS da Hostinger usando um template:

  1. Faça login no hPanel e clique em VPS no menu superior.
  2. Selecione o plano de hospedagem VPS no qual você deseja instalar o Laravel.
  3. Na barra lateral, clique em Configurações SO e PainelSistema operacional.
  4. Na seção Mude Seu Sistema Operacional, clique em Aplicações.
  5. Selecione Ubuntu 22.04 com Laravel no menu suspenso. Clique emAlterar Sistema Operacional para confirmar.
instalando ubuntu 22.04 com laravel no menu de sistemas operacionais do vps do hpanel
  1. Você verá uma janela de confirmação sobre a exclusão de dados. Marque a caixa depois de ler o aviso e clique em Confirmar.
  2. Insira uma nova senha para o painel de controle da hospedagem. Clique em Confirmar para prosseguir.

Prontinho! Após completar o processo de instalação, clique na URL de Login, disponível em  Acesso Strapi, e você deverá ver a tela de boas-vindas do Laravel. O template também configurará automaticamente o CloudPanel, para implantação de aplicativos.

Para fazer isso, clique no URL de acesso ao CloudPanel e faça login como administrador. Clique no seu domínio VPS→ Gerenciador de Arquivos → Adicionar Novo → Enviar arquivo. Selecione os arquivos do seu projeto e clique em Abrir.

opção upload file no cloudpanel

Como a implantação através dos Painéis de Controle pode ser pouco confiável, recomendamos o uso de outros métodos, como Git. Nós vamos discutir isso na próxima seção deste artigo.

Observe que você não pode escolher um software diferente ao instalar o Laravel usando o template de VPS. Se você preferir outro sistema operacional, ou se o seu projeto exigir algum software adicional, opte pelo método manual de implantação.

Como Implantar Laravel Manualmente

Nesta seção, explicaremos os passos para implantar manualmente o Laravel em uma hospedagem VPS rodando Ubuntu 22.04. Dependendo da distribuição e versão do Linux, os comandos podem variar.

Etapa 1: Prepare o Servidor para o Laravel

Inicie a implantação instalando as dependências para preparar o ambiente de hospedagem. Você pode usar um aplicativo SSH, como o PuTTY, o Terminal do seu sistema operacional ou o terminal de navegador da Hostinger.

Faça login no seu servidor usando o usuário root . No VPS da Hostinger, é possível obter as credenciais no hPanel → VPS no menu superior. Em seguida, navegue até o seu plano VPS e vá para Visão Geral → aba acesso SSH.

dados de acesso ssh no vps pelo hpanel

Importante! Em vez de root, recomendamos a criação de uma nova conta com privilégio de superusuário para evitar a execução acidental de comandos destrutivos.

Os requisitos do Laravel incluem um servidor web, banco de dados, bancos de dados PHP e Composer. Você também precisará de outros softwares, como o Git, para enviar os arquivos do aplicativo do seu computador local para a máquina remota. Confira o passo a passo:

  1. Atualize o repositório do seu gerenciador de pacotes APT usando este comando:
sudo apt update && sudo apt upgrade
  1. Instale o servidor web. Neste tutorial, vamos usar o Apache:
sudo apt install -y apache2
  1. Execute este comando para configurar o PHP e suas extensões:
sudo apt install -y php php-cli php-fpm php-mysql php-xml php-mbstring
  1. Configure um banco de dados. Nós vamos instalar o MySQL usando o seguinte comando:
sudo apt install -y mysql-server
  1. Instale o Composer para gerenciar as dependências do Laravel usando este comando:
sudo apt install -y composer
  1. Digite este comando para configurar o sistema de controle de versão Git:
sudo apt install -y git

Se você não quiser configurar manualmente o servidor de produção, adquira o Laravel Forge. Partindo de  US$ 12,99/mês, esta plataforma oferece uma área centralizada para instalar e gerenciar todas as aplicações necessárias para o seu projeto.

Etapa 2: Implemente o Aplicativo

Crie um host virtual para o seu projeto Laravel configurando um arquivo de configuração do servidor web usando o editor de texto nano. Para o Apache, execute o seguinte comando:

sudo nano /etc/apache2/sites-available/laravel.conf

Dentro do arquivo, escreva a seguinte configuração. Certifique-se de substituir os endereços de pastas pelo endereço real e dominio.com pelo endereço IP do seu servidor:

<VirtualHost *:80>
   ServerName dominio.com
ServerAdmin webmaster@dominio.com
   DocumentRoot /var/www/html/test-laravel/public
   <Directory /var/www/html/test-laravel/public>
      AllowOverride All
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Importante! O conteúdo do arquivo de configuração será diferente se você usar outro servidor web, como o NGINX.

Implante o código do projeto da aplicação Laravel a partir do seu repositório Git executando esses comandos em sequência. Substitua a URL pelo link real:

cd /var/www/html
sudo git clone https://github.com/seu_nome_de_usuário/test-laravel.git

Se você ainda não enviou os arquivos do seu projeto Laravel para um repositório, leia nosso tutorial de Git para aprender sobre como fazer isso.

Para implantar os arquivos do projeto, você pode usar métodos como o utilitário rsync ou um aplicativo de protocolo seguro de transferência de arquivos (SFTP). No entanto, recomendamos o Git na implantação do Laravel, pois ele oferece mais conveniência e segurança.

Navegue até o caminho do diretório do seu projeto e execute o comando composer install para configurar as dependências:

cd test-laravel
sudo composer install

Se o Terminal exibir mensagens de erro, tente executar o comando composer update. Além disso, adicione a opção –ignore-platform-req=ext-curl para ver se o problema é resolvido.

Etapa 3: Configure o Arquivo .env

Quando você cria um aplicativo Laravel, o Composer irá gerar um modelo de arquivo .env.example . Ele armazena configurações específicas do ambiente, determinando várias variáveis para suas aplicações, como informações de banco de dados.

Para configurar um arquivo .env  para o seu projeto Laravel, copie o modelo abaixo e abra-o usando nano:

sudo cp .env.example .env
sudo nano .env

A configuração deste arquivo usa a sintaxe de par KEY=VALUE . Por exemplo, a entrada abaixo determina a senha do usuário do banco de dados Laravel:

DB_PASSWORD=sua_senha

Para alterar a configuração, delete o valor e substitua-o por um novo. Pressione Ctrl + XY e Enter para salvar as alterações.

definindo senha no laravel

Por padrão, o Laravel definirá o DB_USERNAME como root e deixará o DB_PASSWORD vazio. No entanto, isso pode causar um erro quando você executa o PHP artisan, a linha de comando do framework, para a migração de banco de dados.

Para resolver isso, altere a senha padrão do root e atualize o valor de DB_PASSWORD de acordo. Além disso, recomendamos a criação de um banco de dados não padrão e usuários específicos para o seu projeto atual, para facilitar o gerenciamento.

Dica

Confira nosso tutorial para aprender mais sobre como configurar seu usuário, senha e permissões do MySQL no Ubuntu.

Etapa 4: Execute o Aplicativo

Para iniciar sua aplicação Laravel, torne a pasta do projeto executável alterando as permissões e a propriedade:

sudo chown -R www-data /var/www/html/test-laravel
sudo chmod -R 755 /var/www/html/test-laravel/storage

Execute o PHP artisan para gerar a chave do aplicativo e iniciar a migração do banco de dados. Aqui estão os comandos:

sudo php artisan key:generate
sudo php artisan migrate

Sempre que você modificar o esquema do banco de dados, atualize os arquivos de migração para manter uma configuração consistente no seu aplicativo. Confira o guia de migração do Laravel para aprender mais sobre isso.

Desative o arquivo de configuração padrão do host virtual no Apache usando o seguinte comando:

sudo a2dissite 000-default.conf

Ative o novo host virtual e o módulo de reescrita usando esses comandos:

sudo a2ensite laravel.conf
sudo a2enmod rewrite

Reinicie o Apache usando o comando systemctl :

sudo systemctl restart apache2

Uma vez que o processo de implantação esteja completo, insira o endereço IP do seu VPS (ou o domínio) em um navegador para verificar se o aplicativo funciona corretamente. Se os arquivos estiverem vazios, você deverá ver a página de boas-vindas do Laravel.

página de boas-vindas do laravel

Dicas para Implantação do Laravel

Nesta seção, vamos passar por boas práticas de implantação do Laravel para ajudar a otimizar o processo.

Use a Configuração de Cache no Laravel

O framework Laravel permite que você armazene dados frequentemente acessados como cache. Isso reduz o tempo necessário para buscar informações e faz o offload de consultas ao banco de dados, melhorando o desempenho do seu aplicativo web.

Ele também fornece vários backends e drivers de cache. Os usuários podem escolher aquele que melhor atende às suas necessidades e configurá-lo facilmente através da chave CACHE_DRIVER no arquivo .env.

configurações de cache no laravel

Se você não especificar o driver de cache, o Laravel usará file por padrão. Alternativamente, você pode configurá-lo para arraydatabaseredis, ou memcached.

Para habilitar o cache, adicione o método escolhido ao código-fonte do seu aplicativo. Por exemplo, escreva Cache::put() para armazenar dados por uma duração especificada:

Cache::put('key', 'value', $minutes);

Enquanto isso, use o método Cache:rememberForever()  para armazenar o cache indefinidamente:

Cache::rememberForever( ‘key’, function);

O Laravel oferece muitos métodos de cache para diferentes propósitos, como recuperar, remover ou incrementar os dados armazenados. Para saber mais sobre eles, confira a documentação de cache do Laravel.

Para gerenciar o cache, você pode executar os comandos do PHP artisan no diretório de trabalho do seu projeto. Por exemplo, insira o seguinte para remover os dados armazenados:

php artisan cache:clear

Use as Ferramentas Automáticas de Implantação do Laravel

Automatizar a implantação do Laravel ajuda a economizar tempo e esforço, pois sem isso, o processo envolve muitas etapas. Existem várias ferramentas e plataformas para essa tarefa.

Você pode usar serviços de integração contínua/implantação contínua (CI/CD), como o GitHub Actions, ou softwares como o Jenkins. Eles permitem que você automatize um pipeline de implantação personalizado do Laravel.

Para configurar a automação no GitHub Actions, crie um arquivo .yml no diretório do seu projeto. Defina o fluxo de trabalho e seu evento de gatilho, como enviar as alterações para o branch principal. Então, escreva as tarefas, etapas e variáveis de ambiente. Leia o guia rápido de início do GitHub Actions para aprender mais sobre isso.

Por exemplo, você pode configurar para que sempre que um usuário enviar novas alterações de código para o ramo principal, o arquivo .yml execute automaticamente o comando PHP artisan para gerar a chave do aplicativo e reiniciar seu servidor web.

Use o Kodee para uma Implantação mais Fácil

A Hostinger oferece o Kodee, um Assistente de VPS com IA gratuito que ajuda a melhorar a eficiência da sua implantação. Você pode aprender como implantar um projeto Laravel na Hostinger e gerar rapidamente instruções e comandos para qualquer tarefa usando prompts de IA para gerenciamento de VPS.

Por exemplo, você pode dizer ao Kodee: “Eu quero implantar uma aplicação Laravel no meu servidor Ubuntu usando Git. Explique os passos e gere os comandos para esta tarefa.” Ele responderá com um guia abrangente, e você pode seguir os passos copiando e colando os comandos gerados.

assistente ia para vps no hpanel da hostinger falando sobre container docker

Você também pode usar o Kodee para ajudar a solucionar erros durante o processo de implantação do Laravel. Por exemplo, “Estou implantando uma aplicação Laravel em um servidor Ubuntu. No entanto, encontrei um erro ao executar o comando PHP artisan para migrar o banco de dados. Explique as possíveis causas e soluções.”

Para acessar esse recurso, abra sua página de configuração VPS no hPanel e selecione o Kodee na barra lateral.

Importante! Assim como qualquer ferramenta de IA, recomendamos que você sempre teste os passos e comandos gerados em um ambiente de desenvolvimento primeiro para evitar acidentes que possam prejudicar seu servidor real.

Utilize o Gerenciamento de Dependências Adequado

O Composer permite que os desenvolvedores definam as dependências do aplicativo no arquivo composer.json. Além de simplificar o processo de instalação, isso também melhora a estabilidade do ambiente e a eficiência do controle de versão.

Execute o comando composer update para buscar todas as correções de dependência especificadas no arquivo. No entanto, certifique-se de revisar as novas versões antes de fazer isso para evitar problemas de incompatibilidade ou atualizações destrutivas.

Para acessar o arquivo, navegue até o diretório raiz do seu projeto Laravel. Normalmente, ele está localizado no caminho var/www/html/test-laravel.

arquivo composer.json no laravel

O arquivo composer.json só se aplica a um ambiente específico. Para garantir uma estrutura de projeto limpa e eficiente, mantenha uma documentação detalhada da configuração de dependência de cada aplicação ou componente.

Atualizar regularmente as dependências do projeto garante que você receba os patches de segurança mais recentes e correções de bugs. Isso também ajuda a evitar problemas de incompatibilidade e conflitos de versão que podem prejudicar a funcionalidade do seu aplicativo.

Otimize o Desempenho do Laravel

A otimização de desempenho do Laravel ajuda a melhorar a capacidade de resposta e escalabilidade do aplicativo. Se você gerencia serviços voltados para o consumidor, isso também pode ajudar a melhorar a experiência do usuário e a percepção da marca.

Existem vários métodos para otimizar o desempenho do Laravel em um VPS Ubuntu. Aqui estão alguns deles:

  1. Ative o cache. O Laravel fornece backends de cache e dispositivos para armazenar dados frequentemente solicitados em armazenamento temporário. Isso ajuda a reduzir a carga do servidor e as consultas ao banco de dados.
  2. Configure uma rede de entrega de conteúdo (CDN). Um CDN armazena conteúdo estático em vários servidores ao redor do mundo. Isso ajuda a garantir que sua aplicação web tenha um desempenho ideal, independentemente da localização do visitante.
  3. Utilize trabalhadores de fila (queue workers). Os trabalhadores de fila são processos em segundo plano que lidam com tarefas que consomem muitos recursos. Eles ajudam a descarregar esses processos do fluxo principal do aplicativo para melhorar o desempenho.
  4. Ative o carregamento antecipado. O carregamento antecipado recupera dados relacionados à solicitação em uma única consulta. Isso ajuda a reduzir a carga, já que o banco de dados não precisa enviar as informações individualmente.

Além disso, sempre monitore o desempenho da sua aplicação web para garantir que ela funcione de maneira otimizada. Fazer isso permite que você identifique rapidamente possíveis problemas que afetam o tempo de atividade ou a usabilidade do seu projeto. A Hostinger oferece um recurso integrado de monitoramento de recursos do servidor no hPanel.

uso de recursos do vps na visão geral do hpanel

Dica

Quer configurar o Laravel no seu VPS? Confira nosso tutorial sobre instalar o Laravel no Ubuntu usando Apache e PHP para saber mais sobre as etapas requeridas.

Conclusão

O Laravel é um framework de aplicação web PHP de código aberto que ajuda a melhorar a eficiência dos seus projetos de desenvolvimento. Para implantá-lo no VPS da Hostinger, navegue até o menu Sistema Operacional no hPanel e instale o template Ubuntu 22.03 com Laravel. Em seguida, faça o upload do seu projeto através do gerenciador de arquivos do CloudPanel.

Alternativamente, usuários em busca de mais flexibilidade podem implantar o Laravel manualmente usando comandos. Confira o passo a passo:

  1. Prepare o novo servidor. Instale o Composer, servidor web Apache, PHP e outros softwares no ambiente de produção. Alternativamente, use o Laravel Forge para gerenciá-los em uma única plataforma.
  2. Implante o aplicativo. Configure um host virtual criando um arquivo de configuração Apache. Envie o código do seu aplicativo de um repositório Git para o servidor ao vivo.
  3. Configure o arquivo .env. Copie o modelo  .env.example para a pasta do seu aplicativo e altere o par de chave-valor do arquivo  .env  para ajustar suas configurações.
  4. Execute o aplicativo Laravel. Altere as permissões e a propriedade da pasta do projeto. Execute os comandos composer install e PHP artisan, depois desative o host virtual padrão do Apache.

Para melhorar a eficiência da implantação, use o Assistente com IA da Hostinger, ferramentas de automação e o gerenciador de dependências Composer. Além disso, configure uma CDN, ative o cache e otimize as consultas ao banco de dados para melhorar o desempenho do seu aplicativo.

Como Implantar Laravel: Perguntas Frequentes

Nesta seção, responderemos várias perguntas comuns sobre a implantação de um projeto Laravel.

Do Que Eu Preciso Para Implementar um Projeto Laravel?

Para implantar aplicativos Laravel, você precisa de um servidor executando um sistema operacional compatível, como o Ubuntu. Você também precisa de várias dependências, como um servidor web, PHP, extensões PHP, Composer, Git e um banco de dados.

Também é possível usar o NGINX ou o Apache. Enquanto isso, bancos de dados populares para Laravel incluem MySQL e MongoDB.

Posso Implantar Múltiplas Aplicações Laravel no Mesmo Servidor?

Sim, você pode implantar várias aplicações em um servidor Laravel com um diretório dedicado, dependências e ambientes de configuração.

Para fazer isso, crie pastas separadas para as aplicações Laravel dentro do caminho /var/www/html. Configure hosts virtuais dedicados para cada projeto e copie o arquivo .env para cada diretório.

Posso Escalar Minha Aplicação Laravel?

Sim. Você pode adotar métodos comuns de escalabilidade, como configurar balanceadores de carga, atualizar recursos do servidor e configurar mecanismos de cache como Redis ou Memcached.

Além disso, este framework possui um sistema de fila integrado que descarrega tarefas que exigem muitos recursos do fluxo principal. Isso ajuda a melhorar o desempenho para escalar aplicações Laravel.

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia, além de colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, de Salvador. Fascinado por tecnologia desde criança, criei meu primeiro blog no Wordpress aos 13 anos e nunca mais parei. Nas horas vagas, gosto de ir ao cinema e fazer experimentos na cozinha.