Annons

Windows och Mac OSX har gjort framsteg som utvecklarvänliga operativsystem under de senaste åren, men varje webbutvecklare behöver verkligen arbeta i den ursprungliga miljön på webben, Linux.

Den här artikeln visar dig hur du får det bästa av båda världarna: att hålla fast vid ett stabilt och konsumentvänligt operativsystem Windows eller OSX för dina vardagliga behov och samtidigt dra nytta av att utveckla i samma ekosystem som din produktion koda.

Introduktion

Mycket av webben körs på vad utvecklare kallar en "LAMP-stack." Den här akronymen betyder Linux, Apache, MySQL, PHP samlade och fungerar som vad du vanligtvis förstår som en webbserver. (En nära besläktad stack - eller uppsättning teknologier - är "LEMP", med "E" härledd från uttalet av ett alternativ till Apache, Nginx, som sägs "motor x.")

Du kanske märker att Linux uttryckligen ingår här, men det är inte bara av detta skäl som Linux rekommenderas av utvecklare. De andra teknologierna - Apache (eller Nginx), MySQL och PHP - har alla olika verktyg och implementationer tillgängliga för de olika plattformarna, men av historiska och tekniska skäl,

instagram viewer
Linux-baserade konfigurationer dominerar serverutrymmet och tenderar att vara mer förutsägbara.

Hur man skapar en virtuell webbutvecklingsmiljö och server tux-logotyp 150x150

Förutsägbarhet och tillförlitlighet är också stora skäl till att du vill utveckla på ett operativsystem som du enbart använder för det syfte - ett dedikerat operativsystem snarare än ett som stöder många olika uppgifter som du utför dagligen som webb utvecklaren. Sagt på ett annat sätt, du vill inte köra en server på samma operativsystem som du behöver starta om när din nya grafikdrivrutiner är installerade, eller en maskin som du behöver packa upp och lägga i en ryggsäck för att träffa vägen med. Att involvera processerna och programvaran som krävs för att köra en server på din maskin med blandad användning är i ett ord rörigt.

Så hur balanserar du din förmåga att multiverka med ditt behov att utvecklas i det ursprungliga sammanhanget för dina appar?

Stiga på virtuella maskiner Vad är en virtuell maskin? Allt du behöver vetaMed virtuella maskiner kan du köra andra operativsystem på din nuvarande dator. Här är vad du bör veta om dem. Läs mer .

Virtuella maskiner och vagrant

Virtuella maskiner är program som körs i ditt primära operativsystem. De låter dig effektivt köra ett helt separat operativsystem inuti ett fönster, helt innehållande och bortsett från allt annat som händer med din fysiska maskin, men till en kostnad av vissa över huvudet.

Fördelarna är dock många:

  • Gör du ett misstag när du installerar, konfigurerar eller tar bort programvara? Inget stort, du kan helt enkelt börja igen med en ny bild.
  • Har ditt experiment katastrofalt misslyckats och fryst operativsystemet runt det? Återigen, inte ett problem eftersom bara den virtuella maskinen utförs.
  • Behöver du iterera under något annorlunda förhållanden? Varje uppsättning villkor, som olika programvaruversioner eller annan programvara (till exempel med Apache versus Nginx), kan bli en separat mjukvara eller virtuell "ruta".
virtual-machine-linux

Ett verktyg som heter Luffare hjälper dig att distribuera "baslådor" som innehåller förkonfigurerade Linux-operativsystem i en mängd olika smaker.

Den här artikeln antar att du har viss komfort med att använda en virtuell maskin utan GUI och enbart med ett kommandoradsgränssnitt (CLI).

Låt oss få en leverantör av virtuella maskiner och Vagrant innan vi konfigurerar en baslåda.

  1. Se till att du har en leverantör av virtuella maskiner för ditt operativsystem. Både Windows och Mac OSX kan använda Virtual Box. VMware körs också på båda plattformarna. (Windows 10 Pro och senare kan använda Hyper V Är en Windows 10 Pro-uppgradering värd $ 99?Windows 10 Pro erbjuder fler funktioner, men har också en prislapp på $ 99 för att uppgradera från hemutgåvan. Här är vad du behöver veta för att avgöra om professionella funktioner är värda att uppgradera. Läs mer , vilket är ett steg upp eftersom det bättre använder hårdvara.)
  2. Besök Vagrantup.com och välj ett lämpligt installationsprogram.
  3. Skapa en ny mapp i din lokala katalogträdstruktur för att rymma rutan. (Platser underordnade din användarprofil fungerar bra, platser i systemkataloger gör det vanligtvis inte.)

Webbutvecklingens miljökonfiguration

Här händer magin med automatik: ett verktyg som heter PuPHPet kondenserar och GUI-fies processen för att välja och konfigurera programvara som vanligtvis används i LAMP, och till och med går utöver det genom att lägga till stöd för serversidan språk som Ruby och Node.js Vad är Node. JS och varför ska jag bry mig? [Webbutveckling]JavaScript är bara ett programmeringsspråk på klientsidan som körs i webbläsaren, eller hur? Inte längre. Node.js är ett sätt att köra JavaScript på servern; men det är så mycket mer också. Om... Läs mer (tekniskt JavaScript är inte bara serversidan, men den här sorten är) och alternativ till de andra komponenterna i LAMP-stacken.

PuPHPet skapar baskonfigurationsfiler för Vagrant. Guiden innehåller över tjugo olika dimensioner att konfigurera, så jag ska bara gå igenom några av de mest framstående.

Hur man skapar en virtuell webbutvecklingsmiljö och server PuPHPet 670x279
  • Distribueringsmål - Här kan du välja om du vill skapa en bild som är lämplig för VirtualBox, VMWare och the som, eller en som är lämplig för molnberäkningsinfrastruktur som AWS eller Digital Ocean, bland andra.
  • System> Paket - Du kan inkludera all programvara som du skulle installera på samma sätt som vid en normal installation. Du bör särskilt inkludera de paket du använder för utveckling som ingår i basen för OS-distributionen.
    • Om du vill inkludera utvecklingsberoenden för Ubuntu anger du bygga-väsentliga
    • Om du vill inkludera samma sak för CentOS 7, ange "Utvecklings verktyg"
  • Webbservrar - Välj Apache eller Nginx för att bilda ryggraden i din L (A | E) MP-stack.
  • språk - PHP, Ruby, Node.js, Python.
  • databaser - Kanske en av de mest attraktiva funktionerna i detta tillvägagångssätt är förmågan att konstruera virtuella maskiner för att spela med olika tillgängliga databaser. Medan MySQL är en standard, kanske du vill spela med något nyare mariadb Open Source-programvara och Forking: The Good, The Great and The UglyIbland har slutanvändaren stor nytta av gafflar. Ibland görs gaffeln under ett hölje av ilska, hat och fiendskap. Låt oss titta på några exempel. Läs mer .
  • Resten av alternativen är något exotiska, och om du inte vet vad de är kan de alltid installeras senare. Vad du har är ju ett fullfjädrat operativsystem på ditt kommando.

PuPHPet kommer i slutet av denna konfigurationsresa att producera ett arkiv. Packa upp det till katalogen du skapade innan du konfigurerar parametrarna för din nya server.

Kör nu följande:

$ vagrant upp

Och observera resultaten:

Hur man skapar en virtuell webbutvecklingsmiljö och server vm 670x245

Eftersom du inte har basrutan i din lokala katalog, hämtar vagrant bilden från Atlas, ett arkiv med förkonfigurerade vagrantboxar.

(Tekniskt kan något av dessa läggas till din lokala maskin genom att utfärda kommandot: $ vagrant box lägg till USER / BOX)

Avslutar

Just nu startas din VM och du är i grunden online. Endast en sak återstår: utfärda kommandot $ vagrant ssh att släppa dig själv i en ordentlig SSH-session med din (huvudlösa) VM som en LAMP-server. grattis!

Läs mer

Härifrån finns det mer att säga om och göra i Vagrant och som du vet ett obegränsat belopp att uppnå med din egen utvecklingslekplats. Kolla in tjänstemannen Uppstartnings Guide att plocka upp där jag slutade.

Har du någonsin använt en VM för din egen utvecklingsmiljö? Använde du den här installationen eller tog du en annan inställning? Dela dina idéer i kommentarerna nedan!

Rodrigo har teknisk skrivning, webbutveckling och användarupplevelse. När han inte tänker över, tänker på ett tangentbord eller skjuter på pixlar, tycker han om den stora naturen och cyberpunk-kulturen.