Come creare un ambiente di sviluppo Web virtuale e un server

Come creare un ambiente di sviluppo Web virtuale e un server / Programmazione

Windows e Mac OSX hanno fatto progressi come sistemi operativi compatibili con gli sviluppatori negli ultimi anni, ma ogni sviluppatore web ha davvero bisogno di lavorare nell'ambiente nativo del web, Linux.

Questo articolo ti mostrerà come ottenere il meglio da entrambi i mondi: attenersi a un sistema operativo stabile e consumer-friendly come Windows o OSX per le tue necessità quotidiane, sfruttando allo stesso tempo i vantaggi dello sviluppo nello stesso ecosistema del tuo codice di produzione.

introduzione

Gran parte del web gira su ciò che gli sviluppatori chiamano a “Pila LAMP.” Questo acronimo significa Linux, Apache, MySQL, PHP raggruppati insieme e funzionano come quello che in genere si considera come un server web. (Uno stack strettamente correlato - o un insieme di tecnologie - lo è “LEMP,” con il “E” derivato dalla pronuncia di un'alternativa ad Apache, Nginx, che si dice “motore x.”)

Si può notare che Linux è esplicitamente incluso qui, ma non è solo per questo motivo che Linux è raccomandato dagli sviluppatori. Le altre tecnologie - Apache (o Nginx), MySQL e PHP - hanno tutti diversi strumenti e implementazioni disponibili per le diverse piattaforme, ma per ragioni storiche e tecniche, le configurazioni basate su Linux dominano lo spazio del server e tendono ad essere più prevedibili.

La prevedibilità e l'affidabilità sono anche i motivi principali che vorresti sviluppare su un sistema operativo che utilizzi esclusivamente per questo scopo: un sistema operativo dedicato piuttosto che uno che supporta la miriade di attività che intraprendi quotidianamente come sviluppatore web. In altre parole, non si desidera eseguire un server sullo stesso sistema operativo che è necessario riavviare quando vengono installati i nuovi driver di grafica o una macchina che è necessario imballare e mettere in uno zaino per colpire il strada con. Coinvolgere i processi e il software necessari per eseguire un server sul tuo computer a uso misto è, in una parola, disordinato.

Quindi, come bilanciare la tua capacità di multitasking con la necessità di svilupparti nel contesto nativo delle tue app?

Inserisci macchine virtuali Cos'è una macchina virtuale? Tutto quello che c'è da sapere Cos'è una macchina virtuale? Tutto quello che devi sapere Le macchine virtuali ti consentono di eseguire altri sistemi operativi sul tuo computer corrente. Ecco cosa dovresti sapere su di loro. Leggi di più .

Macchine virtuali e Vagrant

Le macchine virtuali sono programmi eseguiti nel sistema operativo principale. Consentono effettivamente di eseguire un sistema operativo completamente separato all'interno di una finestra, totalmente contenuto e diverso da qualsiasi altra cosa stia accadendo con la tua macchina fisica, ma a costo di alcuni costi generali.

Tuttavia, i vantaggi sono molti:

  • Commettere errori durante l'installazione, la configurazione o la rimozione del software? Non è un grosso problema, puoi semplicemente ricominciare con una nuova immagine.
  • Il tuo esperimento è fallito in modo catastrofico e ha bloccato il sistema operativo attorno ad esso? Ancora una volta, non è un problema perché viene effettuata solo la macchina virtuale.
  • Devi ripetere in condizioni leggermente diverse? Ogni insieme di condizioni, come diverse versioni software o software diversi (ad esempio, utilizzando Apache contro Nginx), può diventare una macchina software separata o virtuale “scatola.”

Uno strumento chiamato Vagrant ti aiuterà a distribuire “scatole base” che contengono sistemi operativi Linux preconfigurati in una varietà di sapori.

Questo articolo presuppone che tu abbia un po 'di confidenza nell'operare una macchina virtuale senza una GUI, e unicamente tramite un'interfaccia a linea di comando (CLI).

Prendiamo un fornitore di macchine virtuali e Vagrant prima di configurare una scatola base.

  1. Assicurati di avere un fornitore di macchine virtuali per il tuo sistema operativo. Sia Windows che Mac OSX possono utilizzare Virtual Box. VMware funziona anche su entrambe le piattaforme. (Windows 10 Pro e versioni successive possono utilizzare Hyper V È un aggiornamento per Windows 10 Pro del valore di $ 99? È un aggiornamento per Windows 10 Pro del valore di $ 99? Windows 10 Pro offre più funzioni, ma include anche un prezzo di $ 99 per l'aggiornamento dall'edizione Home. quello che devi sapere per decidere se le caratteristiche professionali valgono l'aggiornamento Leggi di più, che è un passo avanti perché utilizza meglio l'hardware.)
  2. Visita Vagrantup.com e scegli un programma di installazione appropriato.
  3. Nella struttura ad albero della directory locale, creare una nuova cartella per contenere la casella. (Le posizioni subordinate al tuo profilo utente funzionano bene, le posizioni all'interno delle directory di sistema in genere no.)

La configurazione dell'ambiente di sviluppo Web

Qui è dove avviene la magia della automaticità: uno strumento chiamato PuPHPet condensa e GUI-fies il processo di selezione e configurazione del software comunemente usato in LAMP, e va anche oltre aggiungendo il supporto per i linguaggi lato server come Ruby e Node.js Cos'è Node.JS e perché dovrei preoccuparmi? [Sviluppo Web] Che cos'è Node.JS e Perché dovrei preoccuparmi? [Sviluppo Web] JavaScript è solo un linguaggio di programmazione lato client che viene eseguito nel browser, giusto? Non più. Node.js è un modo per eseguire JavaScript sul server; ma è molto di più. Se ... Leggi di più (tecnicamente JavaScript non è puramente lato server, ma questa varietà è), e alternative agli altri componenti dello stack LAMP.

PuPHPet crea i file di configurazione di base per Vagrant. La procedura guidata include oltre venti diverse dimensioni da configurare, quindi esaminerò solo alcune delle più salienti.

  • Obiettivo di distribuzione - Qui puoi scegliere se vuoi creare un'immagine adatta a VirtualBox, VMWare e simili, oppure ad una adatta per infrastrutture di cloud computing come AWS o Digital Ocean, tra gli altri.
  • Sistema> Pacchetti - Puoi includere qualsiasi software qui che installeresti come faresti in una normale installazione. In particolare, dovresti includere tutti i pacchetti che usi per lo sviluppo che sono inclusi nella base della distribuzione del SO.
    • Per includere le dipendenze di sviluppo per Ubuntu, specificare costruire-essentials
    • Per includere lo stesso per CentOS 7, specificare "Strumenti di sviluppo"
  • Server Web - Scegli Apache o Nginx per formare la spina dorsale della tua pila MP L (A | E).
  • Le lingue - PHP, Ruby, Node.js, Python.
  • Banche dati - Forse una delle caratteristiche più interessanti di questo approccio è la capacità di costruire macchine virtuali per giocare con le diverse varietà di database disponibili. Mentre MySQL è un valore predefinito, potresti voler giocare con qualcosa di più recente come MariaDB Open Source Software e Forking: The Good, The Great e The Ugly Open Source Software e Forking: The Good, The Great and The Ugly A volte, l'utente finale benefici enormemente delle forchette. A volte, la forchetta è fatta sotto un sudario di rabbia, odio e animosità. Diamo un'occhiata ad alcuni esempi. Leggi di più .
  • Il resto delle opzioni sono piuttosto esotiche e se non sai cosa sono, possono sempre essere installate in un secondo momento. Dopo tutto, quello che hai, è un sistema operativo completo a tua disposizione.

Alla fine di questo viaggio di configurazione, PuPHPet produrrà un archivio. Scollegalo alla directory che hai creato prima di configurare i parametri del tuo nuovo server.

Ora, esegui quanto segue:

$ vagabondo

E osserva i risultati:

Dato che non hai il box base nella tua directory locale, vagabondo recupererà l'immagine dall'Atlante, un deposito di scatole vagrant preconfigurate.

(Tecnicamente, ognuno di questi può essere aggiunto al computer locale emettendo il comando: $ scatola vagrant aggiungere USER / BOX)

Avvolgendo

A questo punto, la tua VM viene avviata e sei praticamente online. Rimane solo una cosa: emetti il ​​comando $ vagrant ssh per lasciarti in una sessione SSH corretta con la tua VM senza testa che agisce come un server LAMP. congratulazioni!

Per saperne di più

Da qui, c'è altro da dire e fare in Vagrant e, come sapete, una quantità illimitata da portare a termine con il proprio parco giochi. Consulta la Guida introduttiva ufficiale per riprendere da dove avevo interrotto.

Hai mai usato una macchina virtuale per il tuo ambiente di sviluppo? Hai usato questa configurazione o hai adottato un approccio diverso? Condividi le tue idee nella sezione commenti qui sotto!

Scopri di più su: Macchina Virtuale, VirtualBox, Sviluppo Web, Server Web.