
Michael Cain
0
3820
39
Windows og Mac OSX har gjort fremskridt som udviklervenlige OS'er i de sidste par år, men enhver webudvikler har virkelig brug for at arbejde i det oprindelige miljø på nettet, Linux.
Denne artikel viser dig, hvordan du får det bedste fra begge verdener: ved at holde fast i et stabilt og forbrugervenligt operativsystem som Windows eller OSX til dine daglige behov, mens du høster fordelene ved at udvikle dig i det samme økosystem som din produktionskode.
Introduktion
Meget af internettet kører på det, som udviklere kalder en “LAMP-stak.” Dette akronym betyder Linux, Apache, MySQL, PHP bundtet sammen og fungerer som det, du typisk forstår som en webserver. (En tæt beslægtet stak - eller et sæt teknologier - er) “LEMP,” med “E” stammer fra udtalen af et alternativ til Apache, Nginx, som siges “motor x.”)
Du bemærker muligvis, at Linux eksplicit inkluderes her, men det er ikke kun af denne grund, at Linux anbefales af udviklere. De andre teknologier - Apache (eller Nginx), MySQL og PHP - har alle forskellige værktøjer og implementeringer til rådighed for de forskellige platforme, men af historiske og tekniske grunde dominerer Linux-baserede konfigurationer serverpladsen og er tilbøjelige til at være mere forudsigelige.
Forudsigelighed og pålidelighed er også store grunde til, at du ønsker at udvikle på et operativsystem, som du udelukkende bruger til dette formål - et dedikeret operativsystem snarere end et, der understøtter utal af opgaver, du udfører dagligt som webudvikler. Sagt på en anden måde, du ønsker ikke at køre en server på det samme operativsystem, som du bliver nødt til at genstarte, når dine nye grafikdrivere er installeret, eller en maskine, som du bliver nødt til at pakke op og lægge i en rygsæk for at ramme vej med. At involvere de processer og software, der er nødvendig for at køre en server på din maskine med blandet brug, er med et ord rodet.
Så hvordan balanserer du din evne til at multi-opgave med dit behov for at udvikle sig i den oprindelige kontekst af dine apps?
Indtast virtuelle maskiner Hvad er en virtuel maskine? Alt hvad du behøver at vide, hvad er en virtuel maskine? Alt hvad du behøver at vide Virtuelle maskiner giver dig mulighed for at køre andre operativsystemer på din nuværende computer. Her er hvad du skal vide om dem. .
Virtuelle maskiner og vagrant
Virtuelle maskiner er programmer, der kører i dit primære operativsystem. De giver dig effektivt mulighed for at køre et helt separat operativsystem inde i et vindue, helt indeholdt og bortset fra hvad der ellers foregår med din fysiske maskine, men på bekostning af noget overhead.
Fordelene er imidlertid mange:
- Foretag en fejl ved installation, konfiguration eller fjernelse af software? Ingen big deal, du kan blot starte igen med et frisk billede.
- Er dit eksperiment katastrofalt mislykket og frosset operativsystemet omkring det? Igen, ikke et problem, fordi kun den virtuelle maskine udføres.
- Skal du iterere under lidt forskellige forhold? Hvert sæt betingelser, som forskellige softwareversioner eller forskellige software (f.eks. Ved hjælp af Apache versus Nginx), kan blive en separat softwaremaskine eller virtuel “boks.”
Et værktøj kaldet Vagrant hjælper dig med at implementere “bundkasser” der indeholder forudkonfigurerede Linux-operativsystemer i forskellige smag.
Denne artikel antager, at du har en vis komfort ved at betjene en virtuel maskine uden en GUI og udelukkende med en kommandolinjegrænseflade (CLI).
Lad os få en virtuel maskineudbyder og Vagrant, før vi konfigurerer en basisboks.
- Sørg for, at du har en virtuel maskineudbyder til dit operativsystem. Både Windows og Mac OSX kan bruge Virtual Box. VMware kører også på begge platforme. (Windows 10 Pro og nyere kan bruge Hyper V. Er en Windows 10 Pro-opgradering værd $ 99? Er en Windows 10 Pro-opgradering værd $ 99? Windows 10 Pro tilbyder flere funktioner, men bærer også en pris $ 99 til opgradering fra Home-udgaven. Her hvad du har brug for at vide for at beslutte, om professionelle funktioner er værd at opgradere., hvilket er et trin op, fordi det bedre bruger hardware.)
- Besøg Vagrantup.com og vælg et passende installationsprogram.
- I din lokale mappetræstruktur oprettes en ny mappe, der skal rumme boksen. (Lokationer, der er underlagt din brugerprofil, fungerer godt, placeringer i systemkataloger fungerer normalt ikke.)
Konfiguration af webudviklingsmiljø
Her er hvor automatikkenes magi sker: et værktøj kaldet PuPHPet kondenserer og GUI-fies processen med at vælge og konfigurere software, der ofte bruges i LAMP, og endda går ud over det ved at tilføje support til serversiden sprog som Ruby og Node.js Hvad er Node.JS og hvorfor skal jeg pleje? [Webudvikling] Hvad er Node.JS, og hvorfor skal jeg pleje? [Webudvikling] JavaScript er et bare et programmeringssprog på klientsiden, der kører i browseren, ikke? Ikke mere. Node.js er en måde at køre JavaScript på serveren på; men det er så meget mere også. Hvis ... (teknisk set er JavaScript ikke kun serversiden, men denne sort er), og alternativer til de andre komponenter i LAMP-stakken.
PuPHPet opretter basiskonfigurationsfiler til Vagrant. Guiden indeholder over tyve forskellige dimensioner, der skal konfigureres, så jeg vil kun gå over nogle af de mest fremtrædende.
- Implementeringsmål - Her kan du vælge, om du vil oprette et billede, der er egnet til VirtualBox, VMWare og lignende, eller et, der er egnet til cloud computing-infrastruktur som AWS eller Digital Ocean, blandt andre.
- System> Pakker - Du kan inkludere al software her, som du vil installere, som du ville gøre ved en normal installation. Især skal du medtage de pakker, du bruger til udvikling, der er inkluderet i basen af OS-distributionen.
- Angiv for at inkludere udviklingsafhængigheder for Ubuntu
bygge-essentials
- Angiv for at inkludere det samme for CentOS 7
"Udviklingsværktøjer"
- Angiv for at inkludere udviklingsafhængigheder for Ubuntu
- Webservere - Vælg Apache eller Nginx for at danne rygraden i din L (A | E) MP-stak.
- Sprog - PHP, Ruby, Node.js, Python.
- Databaser - En af de mest attraktive træk ved denne tilgang er måske evnen til at konstruere virtuelle maskiner til at lege med de forskellige tilgængelige databaser. Mens MySQL er en standard, kan det være en god ide at lege med noget nyere som MariaDB Open Source-software og Forking: The Good, The Great and The Ugly Open Source-software og Forking: The Good, The Great og The Ugly Nogle gange er slutbrugeren drager stor fordel af gafler. Undertiden udføres gaffelen under et hyl af vrede, had og fjendskab. Lad os se på nogle eksempler. .
- Resten af indstillingerne er noget eksotiske, og hvis du ikke ved, hvad de er, kan de altid installeres senere. Hvad du har, når alt kommer til alt, er et fuldt ud operativsystem på din kommando.
PuPHPet producerer i slutningen af denne konfigurationsrejse et arkiv. Pak det ud i det bibliotek, du oprettede, før du konfigurerer parametrene på din nye server.
Udfør nu følgende:
$ vagrant op
Og observer resultaterne:
Da du ikke har baseboksen i dit lokale bibliotek, vil vagrant hente billedet fra Atlas, et arkiv med forudkonfigurerede vagrantbokse.
(Teknisk set kan en af disse føjes til din lokale maskine ved at udstede kommandoen: $ vagrantboks tilføj USER / BOX
)
Afslutter
På dette tidspunkt startes din VM, og du er dybest set online. Der er kun én ting tilbage: udsend kommandoen $ vagrant ssh
at slippe dig selv ind i en ordentlig SSH-session med din (hovedløse) VM, der fungerer som en LAMP-server. tillykke!
Lær mere
Herfra er der mere at sige og gøre i Vagrant, og som du ved, et ubegrænset beløb at opnå med din egen udviklingslegeplads. Se den officielle guide til at komme i gang for at hente, hvor jeg slap.
Har du nogensinde brugt en VM til dit eget udviklingsmiljø? Brugte du denne opsætning, eller brugte du en anden tilgang? Del dine ideer i kommentarfeltet nedenfor!