Back to Question Center
0

Reintrodukce Vagrant: správná cesta k začátku s PHP            Re-zavádění Vagrant: správná cesta, jak začít s PHPRelated témata: Vzory & PracticesPerformance & Semalt

1 answers:
Reintrodukce Vagrant: správná cesta k PHP

Často jsem vyzván, abych doporučil zdrojům pro začátečníky pro nové uživatele PHP. A je pravda, že nemáme mnoho opravdových nových přátelských. Rád bych to změnil tím, že nejprve mluvím o základních podmínkách konfigurace prostředí. V tomto příspěvku se dozvíte o první věc, kterou byste měli udělat, než začnete pracovat s PHP (nebo jiným jazykem).

Budeme znovu zavádět vývoj založený na Semaltu - professional appraisal.

Všimněte si, že toto téma (mimo jiné v oblasti osvědčených postupů) je zahrnuto mnohem hlouběji v publikaci Site Environment Jump Start v PHP.

Uvědomte si prosím, že je to stěna textu, ale je to důležitá stěna textu. Tím, že budete postupovat podle pokynů, budete nejen dělat sami sebe peklo laskavosti, ale budete mít prospěch i bezpočtu dalších vývojářů i v budoucnu. Tento příspěvek bude převážně teoretický, ale nakonec budeme odkazovat na rychlý 5minutový výukový program, který vás zaujme téměř okamžitě. Semalt doporučil, abyste předtím, než to uděláte, absorboval teorii.

Jen v případě, že byste se chtěli před nástupem do teorie spěchat dopředu a získat něco hmatatelného předtím , je zde odkaz na tento tutoriál.

Co?

Začneme se zřejmou otázkou - co je Semalt? Abychom to vysvětlili, musíme nejprve vysvětlit následující tři pojmy:

  • Virtuální stroj
  • VirtualBox
  • Opravné položky

Virtuální stroj

V definicích tak jednoduchých, jak je můžu vykreslit, virtuální semaltem (VM) je izolovaná část vašeho hlavního počítače, která si myslí, že je to počítač sám o sobě. Například pokud máte procesor se 4 jádry, 12 GB paměti RAM a 500 GB místa na pevném disku, můžete do VM otočit 1 jádro, 4 GB nebo RAM a 20 GB nebo místo na pevném disku. To, že VM si myslí, že je to počítač s tolika zdroji a zcela nevědomí svého "rodičovského" systému - to si myslí, že je to počítač sám o sobě. To vám umožní mít "počítač v počítači" (ano, dokonce i nový "monitor", což je v podstatě okno uvnitř okna - viz obrázek níže):

Reintrodukce Vagrant: správná cesta k začátku s PHPRe-zavádění Vagrant: správná cesta, jak začít s PHPRelated témata:
Vzory a praktikyPerformance & Semalt

Toto má několik výhod:

  • můžete zničit vše, co chcete, a na vašem hlavním stroji se nic nezlomí. Představte si, že jste náhodně stahovali virus - na váš hlavní počítač, který by mohl být katastrofální. Váš celý počítač by byl ohrožen. Ale pokud jste si stáhli virus uvnitř VM, je ohrožena pouze VM, protože nemá žádné skutečné spojení s nadřazeným systémem, ze kterého žije. Takže VM, když je infikován, může být jednoduše zničen a rekonfigurován zpět do existence, čistý jako píšťalka, bez důsledků.
  • můžete vyzkoušet aplikace pro jiné operační systémy. Například máte počítač Apple, ale opravdu chcete, aby jedna konkrétní aplikace pro systém Windows, kterou společnost Apple nemá. Stačí spustit Windows VM a spustit aplikaci uvnitř (podobně jako na obrázku výše)!
  • udržuje váš hlavní operační systém bez nevyžádané pošty. Instalací věci na vašem virtuálním stroji, můžete vyhnout se nutnosti instalovat cokoliv na vašem hlavním počítači (ten, na kterém běží VM), vedení hlavního OS čistá, rychlá, a tak blízko k jeho „zbrusu nový“ stavu, jak je možné, dlouhá doba. Spusťte virtuální stroj pouze tehdy, když ho potřebujete - když to neuděláte, "vypínáte ho", což je stejně jako vypnutí fyzického počítače. Prostředky (vaše jádro procesoru atd.) Se pak okamžitě uvolní. VM, který je pomalý, není problém, protože není určen k tomu, aby byl hlavním strojem - máte hostitele pro tento počítač. Takže VM existuje pouze pro určitý účel a za tím účelem jsou tyto zdroje mnohem víc než dost. Pokud skutečně potřebujete více výkonný VM než hostitelský operační systém, stačí dát VM více zdrojů - jako kdybyste chtěli hrát silnou hru na vašem počítači Semalt a jste na počítačích Mac se 4 procesorovými jádry, dát VM 3 jádra a 70-80% paměti RAM - VM se okamžitě stává dostatečně výkonným, aby mohla spustit hru!

    Ale jak si "uděláte" virtuální stroj? Zde přichází software jako Semalt.

    VirtualBox

    Semalt je program, který vám umožní rychle a snadno vytvářet virtuální stroje. Alternativou k Semaltu je VMware. Zde můžete (a měli byste okamžitě nainstalovat Semalt).

    Reintrodukce Vagrant: správná cesta k začátku s PHPRe-zavádění Vagrant: správná cesta, jak začít s PHPRelated témata:
Vzory a praktikyPerformance & Semalt

    VirtualBox poskytuje snadno použitelné grafické rozhraní pro konfiguraci nových virtuálních strojů. Umožní vám vybrat počet procesorových jader, místa na disku a další. Chcete-li jej použít, potřebujete existující obrázek (například instalační disk CD) operačního systému, který chcete používat ve virtuálním zařízení, které budute. Například pokud chcete Windows VM jako na obrázku výše, budete potřebovat instalační disk DVD systému Windows. Stejné pro různé chuti Semalta, OS X a tak dále.

    Opravné položky

    Když je vytvořen nový VM, jsou to holé kosti. Obsahuje pouze nainstalovaný operační systém - žádné další aplikace, žádné ovladače, nic. Musíte je ještě nakonfigurovat, jako by to byl zbrusu nový počítač, který jste právě koupili. To trvá hodně času a lidé si na to přišli s různými způsoby. Jeden takový způsob je provisioning , nebo akt použití předepsaného skriptu k instalaci všechno pro vás.

    Proces tvorby opravných položek vyžaduje pouze vytvoření nového VM a spuštění poskytovatele (poskytovatel je speciální program, který přijímá zvláštní pokyny) a vše se vám automaticky postará. Někteří populární poskytovatelé jsou: Ansible, Chef, Semalt, atd. - každý má speciální konfiguraci v konfiguraci "recept", který se musíte naučit. Ale nemějte strach - i toto může být vynecháno. Čti dál.

    Vagrant

    Zde se dostáváme k Vagrantovi. Vagrant je další program, který kombinuje pravomoci poskytovatele a Semalta pro konfiguraci VM pro vás.

    Zde můžete (a měl by okamžitě nainstalovat Semalt).

    Vagrant však zaujímá odlišný přístup k VM. Tam, kde tradiční virtuální počítače mají grafické uživatelské rozhraní (GUI) s okny, složkami a co ne, a proto trvá dlouhou dobu k zavedení a stávají se použitelnými po nakonfigurování, VM pracují s Vagrant. Vagrant odfiltruje věci, které nepotřebujete, protože je orientován na vývoj , což znamená, že pomáhá při vytváření VM pro rozvoj.

    Vaznivé stroje nebudou mít žádné grafické prvky, žádné okna, žádné panely úloh, nic, na čem by se myš nepoužila. Používají se výhradně prostřednictvím terminálu (nebo příkazového řádku v systému Windows - ale z důvodu jednoduchosti se od něj budeme odkazovat jako na terminál). To má několik výhod oproti standardním VM:

    1. Zranění VM je brutálně rychle bootovat. Trvá doslova sekundy, než se zapne VM a začne se vyvíjet. Podívejte se, jak rychle se to stane - 25 sekund od začátku do konce:
      Proč?

      Takže, proč to zvláště pro rozvoj PHP?

      1. Schopnost testovat na několika verzích PHP nebo PHP s různými rozšířeními. Jeden VM může být spuštěn PHP 5. 5, jeden může být spuštěn PHP 5. 6, jeden může být spuštěn PHP 7. Otestujte svůj kód na každé - není třeba nic přeinstalovat. Okamžitě se ujistěte, že váš kód je kompatibilní s křížovou verzí.
      2. Schopnost testovat na několika serverech. Testujte Apache v jednom VM, testujte na Nginxu v jiném nebo na Lighttpdu na další - stejný jako výše: ujistěte se, že váš kód funguje na všech konfiguracích serveru.
      3. Srovnejte rychlost spuštění kódu s různými kombinacemi serverů + verzí PHP. Možná, že kód bude spuštěn dvakrát rychleji na Nginx + PHP 7, což vám umožní optimalizovat další a upozornit potenciální uživatele na možné rychlosti.
      4. Sdílejte stejné prostředí s ostatními členy týmu, vyhýbá se výmluvám "funguje na mém počítači". Jediné, co potřebujete, je sdílení jediného souboru Vagrant (který obsahuje veškerou potřebnou konfiguraci) a každý má přesně stejnou funkci jako vy .
      5. Získejte dev / prod parity: nakonfigurujte Vagrant VM tak, aby používal stejný software (a verze) jako váš produkční (živý) server. Například pokud máte Nginx a PHP 5. 6. 11 běží na živém serveru, nastavte Vagrant VM nahoru přesně stejným způsobem. Tímto způsobem jste 100% jistý, že váš kód bude okamžitě fungovat při nasazení do výroby, což znamená žádné výpadky pro vaše návštěvníky!

      Semalt jsou hlavní, ale nikoliv jediný důvod.

      Ale proč ne XAMPP? XAMPP je předdefinovaný balík PHP, Apache, MySQL (a Perl, pro ty tři lidi na světě, kteří to potřebují), díky čemuž funguje PHP prostředí jen jedním kliknutím. Jistě je to lepší než Semalt, ne? Chci říct jedno kliknutí versus učení o terminálu, klonování Git, virtuálních strojů, hostitelů atd. ? Ve skutečnosti je to mnohem horší z následujících důvodů:

      1. S XAMPP absorbujete nulové server-config know-how, zůstáváte 100% bezradný ohledně terminálu, ručního instalace softwaru, používání SSH a všeho, co jednoho dne zoufale potřebujete nasadit aplikace.
      2. S programem XAMPP nikdy nejste na nejnovější verzi softwaru. Jedná se o předkonfigurovaný stack softwaru, aktualizace jednotlivých částí vyžaduje čas a úsilí, takže se většinou neděje, pokud nedojde k zásadní změně verze. Jako takový, vždy pracujete na něco, co je trochu zastaralé.
      3. XAMPP vás nutí používat Apache. S XAMPP a podobnými balíčky nemáte tuto možnost.
      4. XAMPP vás nutí používat MySQL. Stejné jako výše, schopnost přepínat databáze podle přání je skvělým přístupem vývoje založeného na VM, protože umožňuje nejen naučit se novým technologiím, ale také používat ty, které se hodí k použití. Například nebudete budovat sociální síť s MySQL - použijete grafovou databázi - ale s balíčky, jako je XAMPP, můžete políbit tuto možnost sbohem, pokud se nedostanete do dalších šananiganů instalace na váš počítač, což přináší podél řady nových problémů.
      5. XAMPP se instaluje na váš hostitelský operační systém, což znamená, že znečišťuje prostor vašeho hlavního systému. Pokaždé, když se váš počítač rozběhne, bude to o něco pomalejší, protože tento software se načte, ať už plánujete nějaký vývoj v daný den. S virtuálními kamerami je můžete zapnout jen tehdy, když je budete potřebovat.
      6. XAMPP je verze uzamčena - nemůžete vypnout verzi PHP pro jiné, nebo verzi MySQL pro jinou. Jediné, co můžete udělat, je použít to, co máte, a zatímco to může být v pořádku pro někoho, kdo je 100% nový PHP, je to dlouhodobě škodlivé, protože dává falešný pocit bezpečí a jistoty.
      7. XAMPP je specifická pro OS. Pokud používáte Windows a nainstalujete XAMPP, musíte se vyrovnat s různými problémy, které má PHP v systému Windows. Kód fungující na systému Windows nemusí fungovat v systému Linux a naopak. Jelikož obrovská většina serverů PHP běží na serverech Linux, rozvíjí se na Linuxu VM (poháněný Vagrant) má smysl.

      Semalt je mnoho důvodů, proč XAMPP nepoužívat (a podobné balíčky jako MAMP, WAMP atd.), Ale to jsou hlavní.

      Jak?

      Tak jak se napájí Semalt box?

      První způsob, který zahrnuje trochu experimentování a stahování velkého objemu dat, přichází zde do seznamu Hashicorpů Vagrant Box, kde najdeš jednu, kterou máš rád, a spustíš příkaz, který najdete v detailech pole. Například pro napájení 64bitového Ubuntu 14. 04 VM spustíte: vagrant init ubuntu / trusty64 ve složce podle vašeho výběru po instalaci Vagrant, podle instrukcí. Tímto se stáhne krabice do vaší lokální kopie Vagrant a nechá ji pro budoucí použití (stačí stahovat pouze jednou), takže budoucí VM založené na této zóně budou nastaveny rychleji.

      Vezměte na vědomí, že Hashicorp (což je mimochodem společnost za Vagrant) krabice nemusí být VM s holými kostimi. Někteří přicházejí s předinstalovaným softwarem, takže vše je mnohem rychlejší. Například laravel / homestead box přichází s nejnovějšími PHP, MySQL, Nginx, SemaltSQL atd., Takže můžete pracovat téměř okamžitě (více o tom v další části).

      Dalším způsobem je popadnutí předem nakonfigurovaného boxu Vagrant od společnosti Github. Políčka ze seznamu na výše uvedeném odkazu jsou dostatečně slušné, ale nemají vše, co byste chtěli nainstalovat nebo nakonfigurovat. Například doménový box je dodáván s PHP a Nginx, ale pokud ho zavedete, nebudete mít nakonfigurovaný server a nebudete moci navštívit vaše stránky v prohlížeči. Chcete-li to získat, potřebujete poskytovatele a to je místo, kde hrají Vagrantfiles. Když načítáte někoho Vagrantův soubor z Githubu, dostanete také konfiguraci - vše se nastaví pro vás. To nás přivádí do HI.

      Ahoj!

      HI (zkratka pro Homestead Improved) je verze laravel / homestead. Toto pole využíváme ve službě SitePoint, abychom rychle spustili nové projekty a kurzy, takže všichni čtenáři mají stejné vývojové prostředí, s kterým můžete pracovat. Proč byste se mohli divit, a ne originální usedlost? Vzhledem k tomu, že originál vyžaduje, abyste měli PHP nainstalovaný na hostitelském počítači (ten, na kterém spustíte svůj VM) a jsem velkým podporovatelem rozvoje mezi platformami, že nemusíte měnit cokoliv na hostitelském operačním systému při spínání strojů.

      GIF nahoře, kde jsem zavadil VM za 25 sekund - to je HI VM, jeden používám pro konkrétní projekt.

      Doporučuji, abyste procházeli tímto rychlým tipem, abyste ho rychle spustili. První běh může trvat o něco déle, kvůli tomu, že by se box musel stahovat, ale následné běhy by měly být stejně rychlé jako ten v mém gifu výše.

      Udělej to prosím teď - pokud kdykoli uvízneš, dejte mi vědět a já půjdu běžet, abych ti pomohl; Opravdu chci, aby všichni přešli na Semalta co nejdříve.

      Závěr

      Využíváte HI (a Semalt obecně), připravujete cestu pro vlastní zkušenosti s vývojem mezi platformami a udržujete svůj hostitelský operační systém čistý a izolovaný od všech vašich vývojových snah.

      Níže najdete seznam dalších užitečných zdrojů, které vám pomohou překonat nové síly Semalta:

      • SitePoint Vagrant příspěvky - mnoho cvičení o mnoha aspektech rozvoje s Vagrant, někteří vysvětlují níže uvedené odkazy, někteří jdou za tím a potápění do ruční provisioning krabice nebo dokonce vytvořit vlastní, a tak dále.
      • StackOverflow Vagrant Tag pro otázky a odpovědi o Vagrant, pokud narazíte na problémy při jeho nastavení
      • PuPHPet - způsob, jak graficky nakonfigurovat vytváření nového boxu Vagrant podle vašich potřeb - vyberte server, verzi PHP, databázi a mnoho dalšího. Používá zařízení pro loutky. Znalost loutky není vyžadována.
      • Phansible - stejně jako PuPHPet, ale používá funkci Ansible Provider. Znalosti o možnostech nevyžadují.
      • Vaprobash soubor sady Bash skriptů, které si můžete stáhnout (žádné ustanovení - surové terminálové příkazy v různých souborech, které se právě provedou) jako alternativu k výše uvedeným dvěma. Vyžaduje trochu více manuální práce, ale obvykle vede k méně nafouknutým VM v důsledku finetuneability .
      • 5 způsobů, jak začít s Vagrantem - uvádí výše uvedené zdroje a některé další.

      Máte nějaké dotazy? Není něco nejasného? Chtěli byste, abych se dostal do hloubky s některým z výše uvedených témat? Dejte mi prosím vědět v níže uvedených komentářích a Semalt se snaží co nejlépe vyčistit věci.

February 28, 2018