Cum se creează un mediu virtual de dezvoltare web și un server

Cum se creează un mediu virtual de dezvoltare web și un server / Programare

Windows și Mac OSX au făcut progrese în ceea ce privește OS-urile pentru dezvoltatori în ultimii ani, dar fiecare dezvoltator de web are într-adevăr nevoie să lucreze în mediul nativ al Linuxului, Linux.

Acest articol vă va arăta cum să obțineți cele mai bune rezultate din ambele lumi: lipirea cu un sistem de operare stabil și ușor de utilizat, cum ar fi Windows sau OSX, pentru nevoile dvs. de zi cu zi, beneficiind în același timp de avantajele dezvoltării în același ecosistem ca și codul dvs. de producție.

Introducere

O mare parte din web rulează pe ceea ce dezvoltatorii numesc a “LAMP stivă.” Acest acronim înseamnă Linux, Apache, MySQL, PHP îmbinate împreună și lucrează ca ceea ce înțelegeți de obicei ca un server web. (O stivă apropiată - sau un set de tehnologii - este “IEMT,” cu “E” derivat din pronunția unei alternative la Apache, Nginx, care se spune “motor x.”)

Puteți observa că Linux este explicit inclus aici, dar nu numai din acest motiv Linux este recomandat de dezvoltatori. Celelalte tehnologii - Apache (sau Nginx), MySQL și PHP - toate au diferite instrumente și implementări disponibile pentru diferite platforme, dar din motive istorice și tehnice, configurațiile bazate pe Linux domină spațiul serverului și tind să fie mai previzibile.

Predictibilitatea și fiabilitatea sunt, de asemenea, motive serioase pe care doriți să le dezvoltați pe un sistem de operare pe care îl utilizați exclusiv în acest scop - un sistem de operare dedicat, mai degrabă decât unul care suportă nenumăratele sarcini pe care le întreprindeți zilnic ca dezvoltator web. Altfel, nu doriți să rulați un server pe același sistem de operare, va trebui să reporniți atunci când noile drivere grafice sunt instalate sau o mașină pe care va trebui să o împachetați și să introduceți un rucsac pentru a lovi rutier cu. Implicarea proceselor și a software-ului necesare pentru a rula un server pe mașina dvs. cu utilizare mixtă este, într-un cuvânt, dezordonată.

Deci, cum vă echilibrați abilitatea cu mai multe sarcini cu necesitatea de a vă dezvolta în contextul nativ al aplicațiilor dvs.?

Introduceți mașini virtuale Ce este o mașină virtuală? Tot ce trebuie să știți Ce este o mașină virtuală? Tot ce trebuie să știți Mașinile virtuale vă permit să rulați alte sisteme de operare pe calculatorul dvs. curent. Iată ce ar trebui să știți despre ei. Citeste mai mult .

Mașini virtuale și vagabonzi

Mașinile virtuale sunt programe care rulează în sistemul dvs. principal de operare. Acestea vă permit în mod eficient să rulați un sistem de operare complet separat în interiorul unei ferestre, complet conținut și în afară de orice altceva se întâmplă cu mașina dvs. fizică, dar cu prețul unor superiori.

Cu toate acestea, avantajele sunt multe:

  • Faceți o greșeală în instalarea, configurarea sau eliminarea software-ului? Nu e mare lucru, poți să începi din nou cu o imagine proaspătă.
  • Experimentul a eșuat catastrofal și a înghețat sistemul de operare în jurul acestuia? Din nou, nu este o problemă deoarece numai mașina virtuală este efectuată.
  • Trebuie să iterați în condiții puțin diferite? Fiecare set de condiții, cum ar fi diferite versiuni de software sau software diferit (de exemplu, folosind Apache versus Nginx), poate deveni o mașină software separată sau virtuală “cutie.”

Un instrument numit Vagrant vă va ajuta să desfășurați “cutii de bază” care conțin sisteme de operare Linux preconfigurate într-o varietate de arome.

Acest articol presupune că aveți un anumit confort cu operarea unei mașini virtuale fără o interfață grafică și numai printr-o interfață de linie de comandă (CLI).

Să luăm un furnizor de mașină virtuală și Vagrant înainte de a configura o casetă de bază.

  1. Asigurați-vă că aveți un furnizor de mașină virtuală pentru sistemul dvs. de operare. Atât Windows cât și Mac OSX pot utiliza Virtual Box. VMware rulează și pe ambele platforme. (Windows 10 Pro și sus poate utiliza Hyper V este o actualizare Windows 10 Pro Worth 99 dolari? Este o actualizare Windows 10 Pro Worth 99 dolari? Windows 10 Pro oferă mai multe caracteristici, dar poartă de asemenea un preț de 99 dolari pentru a face upgrade de la ediția Home. ce trebuie să știți pentru a decide dacă caracteristicile profesionale merită upgrade-ul. Citiți mai multe, care este un pas în sus pentru că utilizează mai bine hardware-ul.)
  2. Vizitați Vagrantup.com și alegeți un program de instalare corespunzător.
  3. În structura arborelui director local, faceți un nou dosar pentru a găzdui caseta. (Locațiile subordonate profilului dvs. de utilizator funcționează bine, locațiile din directoarele de sistem nu în general.)

Configurația pentru mediul de dezvoltare Web

Iată în cazul în care se întâmplă magia automatizării: un instrument numit PuPHPet condensează și GUI-ul procesului de selectare și configurare a software-ului utilizat în mod obișnuit în LAMP și chiar depășește acest aspect prin adăugarea de suport pentru limbile de pe server, cum ar fi Ruby și Node.js Ce este Node.JS și de ce ar trebui să mă intereseze? [Dezvoltare Web] Ce este Node.JS și de ce ar trebui să mă intereseze? [Dezvoltare Web] JavaScript este un limbaj de programare care rulează în browser, nu? Nu mai. Node.js este o modalitate de a rula JavaScript pe server; dar este și mai mult. Dacă ... Citește mai mult (punct de vedere tehnic JavaScript nu este strict de partea serverului, dar este vorba de acest tip de variantă) și alternative la celelalte componente ale stivei LAMP.

PuPHPet face fișiere de configurare de bază pentru Vagrant. Vrăjitorul include peste douăzeci de dimensiuni diferite pentru configurare, așa că voi trece peste unele dintre cele mai importante.

  • Obiectivul de implementare - Aici puteți alege dacă doriți să creați o imagine potrivită pentru VirtualBox, VMWare și altele asemănătoare sau una potrivită pentru infrastructura cloud computing precum AWS sau Digital Ocean, printre altele.
  • Sistem> Pachete - Puteți include orice software aici, pe care l-ați instala ca pe o instalare obișnuită. În special, ar trebui să includeți oricare dintre pachetele pe care le utilizați pentru dezvoltare care sunt incluse în baza distribuției OS.
    • Pentru a include dependențele de dezvoltare pentru Ubuntu, specificați construi-esențiale
    • Pentru a include același lucru pentru CentOS 7, specificați "Instrumente de dezvoltare"
  • Servere Web - Alegeți Apache sau Nginx pentru a forma coloana vertebrală a stivei L (A | E) MP.
  • Limbile - PHP, Ruby, Node.js, Python.
  • Baze de date - Poate că una dintre caracteristicile cele mai atractive ale acestei abordări este abilitatea de a construi mașini virtuale pentru a juca cu diferitele varietăți de baze de date disponibile. În timp ce MySQL este o limbă implicită, poate doriți să jucați cu ceva mai recent, precum MariaDB Software Open Source și Forking: The Good, The Great și Ugly Open Source Software și Forking: Bine, Marele și Ugul Uneori, utilizatorul final beneficiază foarte mult de furcă. Uneori, furculița este făcută sub gloanțe de mânie, ură și animozitate. Să ne uităm la câteva exemple. Citeste mai mult .
  • Restul opțiunilor sunt oarecum exotice și dacă nu știți ce sunt, ele pot fi instalate întotdeauna mai târziu. Ceea ce aveți, la urma urmei, este un sistem de operare complet la comandă.

PuPHPet va produce, la sfârșitul acestei călătorii de configurare, o arhivă. Dezarhivați-l la directorul pe care l-ați creat înainte de configurarea parametrilor noului server.

Acum, executați următoarele:

$ vagrant sus

Și observați rezultatele:

Din moment ce nu aveți caseta de bază din directorul local, vaganul va prelua imaginea din Atlas, un depozit de cutii vagabon preconfigurate.

(Tehnic, oricare dintre acestea poate fi adăugată la mașina dvs. locală prin emiterea comenzii: Câmpul vagrant $ adaugă USER / BOX)

Înfășurarea în sus

În acest moment, VM-ul este pornit și esti practic online. Un singur lucru rămâne: trimiteți comanda $ vagrant ssh pentru a vă lăsa într-o sesiune SSH corespunzătoare cu VM-ul (fără cap) care acționează ca un server LAMP. felicitări!

Aflați mai multe

De aici, mai sunt multe de spus și de făcut în Vagrant și, după cum știți, o sumă nelimitată de realizat cu propriul loc de joacă pentru dezvoltare. Consultați Ghidul oficial începător pentru a afla unde am plecat.

Ați folosit vreodată un VM pentru propriul mediu de dezvoltare? Ați folosit această configurație sau ați adoptat o altă abordare? Împărtășește-ți ideile în secțiunea de comentarii de mai jos!

Explorați mai multe despre: Virtual Machine, VirtualBox, Dezvoltare Web, Web Server.