Implantação de Ubuntu · Laravel

Como implantar Laravel em umUbuntu VPS

Por · Última atualização: · grátis para ler, sem acesso pago

Um VPS de US$ 5 a 7/mês ainda é a maneira mais barata e flexível de executar Laravel em produção - se você configurá-lo corretamente. Este guia aborda toda a pilha de produção, cada etapa manual, a alternativa de um comando e os hábitos operacionais que mantêm um servidor saudável por anos.

Neste guia
  1. Por que um VPS (e quando não)
  2. A pilha de produção, explicada
  3. A configuração manual, passo a passo
  4. A alternativa de um comando
  5. Operações pós-implantação que importam
  6. Erros comuns a evitar
  7. Perguntas frequentes

Por que um VPS (e quando não)

A hospedagem compartilhada não pode executar trabalhadores de fila, WebSockets ou Laravel Octane corretamente e plataformas PaaS gerenciadas cobrar por conveniência com preços baseados no uso. Um VPS de Hetzner, DigitalOcean, Vultr ou Linode oferece acesso root, faturamento previsível e espaço suficiente para hospedar vários Laravel aplicativos em uma máquina.

A pilha de produção, explicada

Cada servidor de produção Laravel converge nos mesmos componentes. Entenda o que cada peça faz antes você automatiza tudo isso:

ComponenteFunçãoNotas
NginxServidor web/proxy reversoAtende ativos estáticos, faz proxy de solicitações PHP
PHP-FPM ou OctanePHP tempo de execuçãoFPM é o padrão confiável; Octane (FrankenPHP) mantém o aplicativo inicializado para alto rendimento
MariaDB / PostgreSQLBanco de dadosFunciona com Laravel; escolha por aplicativo
Valkey (compatível com Redis)Cache, sessões, filasOpen-source Redis garfo; visita para Laravel
SupervisorGerente de processosMantém queue:work e Horizon vivo
CronAgendadorUma entrada: artisan schedule:run cada minuto
UFW + Fail2banFirewall/proteção de força brutaNegar padrão, banir falhas repetidas de SSH
CertbotTLS certificadosCertificados Let's Encrypt gratuitos com renovação automática
Versões estilo DeployerImplantações com tempo de inatividade zeroDiretório de lançamentos + troca de link simbólico

A configuração manual, passo a passo

Esta é a lista de verificação honesta e completa. Reserve de 2 a 4 horas na primeira vez e lembre-se de que você possuirá todos uma dessas opções também no momento da atualização.

  1. Crie um usuário sudo e bloqueie o SSH. adduser deploy, instale seu público chave e, em seguida, desative o login root e a autenticação de senha em /etc/ssh/sshd_config.
  2. Habilite o firewall. ufw allow OpenSSH http https então ufw enable. Instale Fail2ban para proteção de força bruta SSH.
  3. Instale Nginx. apt install nginx.
  4. Instale PHP. Adicione um repositório PHP mantido e instale php8.x-fpm com as extensões Laravel precisa de: mbstring, xml, curl, zip, intl, mysql (ou pgsql), redis, gd, opcache.
  5. Ajuste PHP para produção. Habilite opcache, defina sãmente memory_limit e upload_max_filesize, vire expose_php desligado.
  6. Instalar Composer globalmente.
  7. Instalar MariaDB, corra mariadb-secure-installation, crie um banco de dados e um usuário dedicado por aplicativo – nunca reutilize o root.
  8. Instalar Valkey (ou Redis) para cache, sessões e filas.
  9. Escreva o bloco do servidor Nginx. Documente os pontos raiz em current/public, try_files cai de volta para index.php, FastCGI passa para o soquete PHP-FPM do aplicativo.
  10. Envie o código. Clonar em um releases/ diretório, composer install --no-dev --optimize-autoloader, copiar .env, corra php artisan key:generate, storage:linke corrija as permissões apenas storage/ e bootstrap/cache/ são graváveis.
  11. Migrar e armazenar em cache. php artisan migrate --force então config:cache, route:cache, view:cache.
  12. Configurar Supervisor correr php artisan queue:work (ou Horizon) e reinicie-o em cada implantação.
  13. Adicione o agendador cron: * * * * * php artisan schedule:run.
  14. Emitir certificados TLS com Certbot e forçar HTTPS.

Agora multiplique por cada aplicativo que você hospeda e novamente por cada servidor – e mantenha PHP, Nginx e o sistema operacional corrigido para sempre. Tudo é factível; é apenas um trabalho indiferenciado.

A alternativa de um comando

Tudo na seção anterior é exatamente o que Cipi automatiza. Em um fresco Ubuntu 24.04/26.04 VPS:

wget -O - https://cipi.sh/setup.sh | festa

Em cerca de dez minutos você obtém a pilha completa — Nginx, PHP, MariaDB, Valkey, Supervisor, UFW, Fail2ban, Certbot, Deployer - além de proteção que você faria manualmente: login root desativado, SSH somente chave para o usuário administrador e uma senha root aleatória armazenada em /etc/cipi/server.json. Então cada aplicativo é um mais comando:

cipi criação de aplicativo # add --octane for Laravel Octane on FrankenPHP

Isso prevê uma usuário do sistema isolado, pool PHP-FPM, Nginx vhost e banco de dados por aplicativo, conecta GitHub ou GitLab com chaves de implantação e webhooks para implantações Git com tempo de inatividade zero e fila de fios trabalhadores e o agendador. SSL é cipi ssl install; PostgreSQL é cipi db install pgsql. Veja o começando guia para o passo a passo completo ou o centro de comparação se você está avaliando isso em relação a Forge, Ploi e amigos.

Operações pós-implantação que importam

Chegar ao "funciona" é metade do trabalho. Esses hábitos são o que separam um servidor que dura anos de um isso te surpreende:

Erros comuns a evitar

Coloque isso em prática com Cipi

Cipi é o open-source implantar CLI gratuito mencionado ao longo deste guia: um comando transforma um novo Ubuntu VPS em um servidor de produção reforçado para Laravel — Nginx, PHP-FPM ou Octane, MariaDB ou PostgreSQL, filas, agendador, SSL e implantações Git com tempo de inatividade zero incluídas.

wget -O - https://cipi.sh/setup.sh | festa

Perguntas frequentes

Quais são os requisitos mínimos de servidor para Laravel em produção?

Uma única vCPU com 2 GB de RAM executa confortavelmente um aplicativo Laravel típico com banco de dados, cache e um trabalhador de fila; adicione swap abaixo de 4 GB. Octane, Horizon e etapas pesadas de construção se beneficiam de 4 GB. Cipi instala sua pilha completa em qualquer Ubuntu 24.04/26.04 VPS novo.

Posso hospedar vários aplicativos Laravel em um VPS?

Sim, e geralmente é a configuração mais econômica. A chave é o isolamento: cada aplicativo deve ter seu próprio usuário do sistema, pool PHP-FPM e credenciais de banco de dados para que um aplicativo comprometido ou com comportamento inadequado não possa afetar os outros. Cipi provisiona exatamente esse isolamento automaticamente com cipi app create.

Devo usar PHP-FPM ou Laravel Octane?

PHP-FPM é o padrão enfadonho e confiável e adequado para a maioria dos aplicativos. Octane mantém a estrutura inicializada entre solicitações e brilha em APIs de alto tráfego e endpoints sensíveis à latência. Com Cipi você pode executar ambos no mesmo servidor e criar Octane aplicativos com cipi app create --octane.

Como mantenho PHP atualizado sobre Ubuntu?

Rastreie um repositório PHP mantido e aplique patches de segurança imediatamente, em vez de esperar por atualizações de distribuição. Cipi gerencia PHP patches de segurança com uma verificação semanal (atualização de cipi php), para que os servidores não fiquem para trás silenciosamente.

Ainda preciso de Laravel Forge se eu gerenciar meu próprio VPS?

Não. Forge é um SaaS pago que automatiza a mesma pilha que este guia descreve. Se você deseja essa automação sem assinatura ou dependência de terceiros, Cipi cobre o mesmo fluxo de trabalho gratuitamente e open source - consulte a comparação detalhada Cipi vs Forge.

Continue lendo