Laravel är ett ramverk med öppen källkod för att bygga skalbara PHP-webbapplikationer. Det är en favorit bland många utvecklare tack vare dess lättanvända moduler för autentisering. Det har dessutom en smidig beroendehantering, lagring av sessioner och cache, routing med mera.

Laravel Forge förenklar distribueringen och konfigurationen av Laravel-applikationer. Detta görs genom automatisering av serverprovisionering, installation och underhåll av programvara samt distribuering. Den har dessutom avancerade säkerhetsfunktioner som brandväggar och SSH-autentisering (Secure Socket Shell).

I den här artikeln får du en genomgång av hur Laravel Forge fungerar, dess viktigaste funktioner och distribuerings-alternativ samt hur detta kan jämföras med Kinsta.

Hur och varför du bör använda Laravel Forge

Laravel Forge fungerar som din serverhanterare och låter dig exempelvis installera PHP, Nginx-servrar, MySQL-databaser och andra beroenden utan att installera dem manuellt. Som ett resultat kan du leverera kod mycket snabbare genom att förenkla molnserver-ändringar.

Andra användningsområden är bland annat:

  • Hantering av bakgrundsprocesser (daemon)
  • Exekvering av applikationer med hjälp av bash-skript
  • Installation av SSL-certifikat (Secure Socket Layer)
  • Schemaläggning av cron-uppdrag

Hur fungerar Laravel Forge?

Laravel Forge’s effektiva nya design prioriterar enkelhet och användarvänlighet. Den låter dig välja en hosting-leverantör, exempelvis Digital Ocean, Linode eller Rackspace, som ger dig en server på några minuter.

Varje server inkluderar dessutom en komplett stack med de senaste versionerna av PHP, Nginx, MySQL, PostgreSQL. De har även cachelagrings-bibliotek som Redis. När servern har skapats kan du koppla din applikation till dina versionshanteringsverktyg, exempelvis GitHub, GitLab eller Bitbucket.

Laravel Forge lägger till ett distribuerings-skript till din applikation som kan köras på servrarna med ett enda klick. Som ett resultat får du en ökad flexibilitet och effektivitet när du distribuerar vanilla PHP- och Laravel-applikationer. Laravel Forge kan dessutom hantera applikationer i andra tekniska stackar, exempelvis Node.js.

Under distribueringen använder Laravel Forge SSH-nycklar för att logga in på dina servrar. Det kör och installerar sedan alla de senaste programvaruberoenden som din applikation behöver. Som ett resultat blir det lättare att byta hosting-leverantör när som helst för att motverka skalbarhet eller för att öka eller minska antalet servrar beroende på efterfrågan.

Andra distribuerings-alternativ för Laravel Forge inkluderar:

  • Deployment Scripts – Dessa används för att utföra serverkommandon. Detta distributionsalternativ kan redigeras med hjälp av Forge UI.
  • Deployment from Continuous Integration (CI) tool – Användare kan välja antingen Forge CLI eller Deployment Trigger för att distribuera sina applikationer med Forge.

Så här distribuerar du med Laravel Forge

Om du vill distribuera en app med Forge skapar du ett konto hos dem. Välj sedan en av de många tillgängliga leverantörerna av server-hostar. När du har tillhandahållit din server med rätt plats och dropletplan skapar du ett domännamn. Forge skapar automatiskt alla nödvändiga beroenden och bibliotek genom att installera de senaste PHP-versionerna på din server.

Obs: Du behöver en API-nyckel för att ansluta till en molnleverantör som inte tillhandahålls i Laravel Forge.

Därefter autentiserar du dig till den versionskontroll som du väljer. Som ett resultat blir det enkelt att migrera kodbasen i arkivet till Laravel Forge. Utvecklare kan sedan samarbeta för att bidra till arkivet och få ändringarna distribuerade till servern automatiskt.

När du har länkat ditt arkiv klickar du på Distribuera nu för att Forge-programvaran ska kunna utföra distribuerings-skriptet och konfigurera applikationen.

Ett sätt att distribuera din applikation med Laravel Forge är att använda ett CI-verktyg. När Forge CLI har installerats kan du använda kommandot deploy i din CI-miljö. Du behöver Forge API-token för att autentisera dig till Forge CLI.

Exemplet nedan illustrerar hur du gör detta i några få enkla steg när du använder GitHub. I din projektkatalog skapar du en katalog your-project/.github/workflows. I den skapar du sedan en forge.yml-fil med nedanstående innehåll:

name: Deploy

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      checkout@v2
      - name: Setup SSH
        uses: webfactory/[email protected]
        with:
          ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.0
          tools: composer:v2
          coverage: none
      - name: Require Forge CLI
        run: composer global require laravel/forge-cli
      - name: Deploy Site
        run: |
          forge server:switch your-server-name
          forge deploy your-site-name.com
        env:
          FORGE_API_TOKEN: ${{ secrets.FORGE_API_TOKEN }}

Obs: Du kan se exempelkoden här. Skjut sedan ändringarna till din huvudgren och låt GitHub Actions utföra distribuerings-skriptet.

Miljövariabler som databaslösenord och hemliga nycklar kan vara utmanande att behålla i en produktionsmiljö. För att hålla dina projektfiler säkra kan du konfigurera databas- och programmiljövariablerna till varje miljö (.env)-fil i ditt projekt.

Fördelar med Laravel Forge

Användarfördelarna med Laravel Forge är exempelvis följande:

  • Användarna begränsas inte till en hosting-plattform. Detta gör det enkelt att distribuera många projekt på olika hosting-leverantörer, beroende på deras behov.
  • Du kan använda distribuerings-skriptet för att köra kraven för din applikation med de senaste biblioteken automatiskt utan att installera dem manuellt.
  • Konsekvens i konfigurationsinställningar och behörigheter och minskande distribuerings-kostnader och fel. Detta gör exempelvis att utvecklare kan fokusera mer på applikationsutveckling än att underhålla distribuerings-skript och processer.
  • Avancerad och inneboende säkerhet för din applikations server genom en brandvägg, SSH-nycklar och dataisolering för att förhindra läckor.

Laravel Forge och Kinsta

Medan Laravel Forge ansvarar för att hantera applikationsservrar är Kinsta en plattform för hosting-hantering. Vi gör att du kan ta dina krav på applikationshosting och databashosting till nästa nivå. Om du exempelvis har en WordPress-webbplats som hanteras av Forge-programvaran är det enkelt att migrera till Kinsta kostnadsfritt.

Kinsta erbjuder flera fördelar för sina användare. Detta inkluderar exempelvis bättre verktyg för optimering av adminuppgifter, DevOps-stöd för applikationshosting och Cloudflare-funktioner för WordPress-hosting.

Kinsta tillhandahåller allt detta med företagsverktyg och premiumfunktioner utan dolda eller extra kostnader för varje plan.

Sammanfattning

Implementering kan vara en utmaning för stora och små organisationer. Varje applikation har sina utmaningar, exempelvis skalbarhetsproblem, redundanta beroenden och processkomplexitet.

Laravel Forge gör hosting-programmen effektiva och problemfria genom att fungera som en mäklare mellan utvecklare och servrar. Med hjälp av olika distribuerings-alternativ kan utvecklare välja antingen distribuerings-skript eller CI-verktyget för att hantera sina webbplatser och servrar.

Precis som med Laravel Forge är det enkelt att distribuera webb-applikationer med Kinsta. Du får dock även större flexibilitet, funktioner och prisplaner. Starta din kostnadsfria provperiod idag!