So erstellen Sie eine virtuelle Webentwicklungsumgebung und einen Server
Windows und Mac OSX haben sich in den letzten Jahren als entwicklerfreundliche Betriebssysteme weiterentwickelt, aber jeder Webentwickler muss unbedingt in der nativen Umgebung des Webs, Linux, arbeiten.
In diesem Artikel erfahren Sie, wie Sie das Beste aus beiden Welten nutzen können: Halten Sie ein stabiles und verbraucherfreundliches Betriebssystem wie Windows oder OSX für Ihre alltäglichen Anforderungen und profitieren Sie gleichzeitig von den Vorteilen, die sich aus demselben Ökosystem ergeben wie Ihr Produktionscode.
Einführung
Ein Großteil des Webs läuft unter dem, was Entwickler als a bezeichnen “Lampenstapel.” Dieses Akronym bedeutet, dass Linux, Apache, MySQL, PHP gebündelt sind und als das funktionieren, was Sie normalerweise als Webserver verstehen. (Ein eng verwandter Stapel - oder eine Reihe von Technologien - ist “LEMP,” mit dem “E” abgeleitet von der Aussprache einer Alternative zu Apache, Nginx, die gesagt wird “Motor x.”)
Möglicherweise stellen Sie fest, dass Linux hier explizit enthalten ist, aber nicht nur aus diesem Grund wird Linux von Entwicklern empfohlen. Bei den anderen Technologien - Apache (oder Nginx), MySQL und PHP - stehen für die verschiedenen Plattformen unterschiedliche Tools und Implementierungen zur Verfügung. Aus historischen und technischen Gründen dominieren jedoch Linux-basierte Konfigurationen den Server-Speicherplatz und sind eher vorhersehbar.
Vorhersehbarkeit und Zuverlässigkeit sind auch wichtige Gründe, die Sie für ein Betriebssystem entwickeln möchten, das Sie ausschließlich für diesen Zweck verwenden - ein dediziertes Betriebssystem, das nicht die unzähligen Aufgaben unterstützt, die Sie als Webentwickler täglich erledigen. Anders ausgedrückt: Sie möchten keinen Server unter demselben Betriebssystem ausführen, das Sie zum Neustart benötigen, wenn Ihre neuen Grafiktreiber installiert werden, oder eine Maschine, die Sie einpacken und in einen Rucksack stecken müssen, um den Server zu starten Straße mit. Das Einbeziehen der Prozesse und der Software, die zum Ausführen eines Servers auf Ihrem Computer mit gemischter Nutzung erforderlich sind, ist mit einem Wort unübersichtlich.
Wie können Sie also die Fähigkeit zur Multi-Task-Abwägung mit der Notwendigkeit vereinbaren, sich im nativen Kontext Ihrer Apps zu entwickeln?
Virtuelle Maschinen eingeben Was ist eine virtuelle Maschine? Alles, was Sie wissen müssen, was eine virtuelle Maschine ist Alles, was Sie wissen müssen Mit virtuellen Maschinen können Sie andere Betriebssysteme auf Ihrem aktuellen Computer ausführen. Hier ist, was Sie darüber wissen sollten. Weiterlesen .
Virtuelle Maschinen und Vagrant
Virtuelle Maschinen sind Programme, die in Ihrem primären Betriebssystem ausgeführt werden. Sie ermöglichen effektiv das Ausführen eines vollständig separaten Betriebssystems innerhalb eines Fensters, vollständig eingeschlossen und unabhängig von den anderen Vorgängen Ihrer physischen Maschine, jedoch auf Kosten eines zusätzlichen Aufwands.
Die Vorteile sind jedoch zahlreich:
- Fehler bei der Installation, Konfiguration oder Deinstallation von Software? Keine große Sache, Sie können einfach wieder mit einem frischen Image beginnen.
- Hat Ihr Experiment katastrophal versagt und das Betriebssystem in seiner Umgebung eingefroren? Auch dies ist kein Problem, da nur die virtuelle Maschine ausgeführt wird.
- Müssen Sie unter etwas anderen Bedingungen iterieren? Jeder Satz von Bedingungen, wie z. B. verschiedene Softwareversionen oder unterschiedliche Software (z. B. Apache im Vergleich zu Nginx), kann zu einer separaten oder virtuellen Software-Maschine werden “Box.”
Ein Tool namens Vagrant hilft Ihnen bei der Bereitstellung “Basisboxen” die vorkonfigurierte Linux-Betriebssysteme in verschiedenen Ausführungen enthalten.
In diesem Artikel wird davon ausgegangen, dass Sie mit dem Betrieb einer virtuellen Maschine ohne GUI und ausschließlich über eine Befehlszeilenschnittstelle (CLI) vertraut sind..
Holen wir uns einen Anbieter für virtuelle Maschinen und Vagrant, bevor wir eine Basisbox konfigurieren.
- Stellen Sie sicher, dass Sie einen Anbieter für virtuelle Maschinen für Ihr Betriebssystem haben. Sowohl Windows als auch Mac OSX können Virtual Box verwenden. VMware läuft auch auf beiden Plattformen. (Windows 10 Pro und höher können Hyper V verwenden. Ist ein Windows 10 Pro-Upgrade 99 US-Dollar wert? Ist ein Windows 10 Pro-Upgrade 99 US-Dollar wert?) Windows 10 Pro bietet mehr Funktionen, ist jedoch mit einem Preis von 99 US-Dollar für ein Upgrade der Home Edition ausgestattet was Sie wissen müssen, um zu entscheiden, ob professionelle Funktionen ein Upgrade wert sind. Lesen Sie mehr, was eine Verbesserung darstellt, da Hardware besser verwendet wird.)
- Besuchen Sie Vagrantup.com und wählen Sie ein geeignetes Installationsprogramm.
- Erstellen Sie in Ihrer lokalen Verzeichnisstruktur einen neuen Ordner für die Box. (Orte, die Ihrem Benutzerprofil untergeordnet sind, funktionieren gut, Standorte in Systemverzeichnissen normalerweise nicht.)
Die Konfiguration der Webentwicklungsumgebung
Hier geschieht die Magie der Automatik: Ein Tool namens PuPHPet kondensiert und GUI-fies den Prozess der Auswahl und Konfiguration von in LAMP gebräuchlicher Software und bietet darüber hinaus Unterstützung für serverseitige Sprachen wie Ruby und Node.js What is Node.JS und warum sollte ich mich kümmern? [Webentwicklung] Was ist Node.JS und warum sollte ich mich darum kümmern? [Webentwicklung] JavaScript ist nur eine clientseitige Programmiersprache, die im Browser ausgeführt wird, oder? Nicht länger. Node.js ist eine Möglichkeit, JavaScript auf dem Server auszuführen. aber es ist so viel mehr. Wenn… Lesen Sie mehr (technisch gesehen ist JavaScript nicht rein serverseitig, sondern diese Variante) und Alternativen zu den anderen Komponenten des LAMP-Stapels.
PuPHPet erstellt Basiskonfigurationsdateien für Vagrant. Der Assistent umfasst mehr als zwanzig verschiedene Dimensionen, die konfiguriert werden müssen. Daher werde ich nur einige der herausragendsten betrachten.
- Bereitstellungsziel - Hier können Sie auswählen, ob Sie ein Image erstellen möchten, das für VirtualBox, VMWare und dergleichen geeignet ist, oder eines, das für Cloud-Computing-Infrastruktur wie AWS oder Digital Ocean geeignet ist.
- System> Pakete - Sie können hier jede Software hinzufügen, die Sie wie bei einer normalen Installation installieren würden. Insbesondere sollten Sie angeben, welche Pakete Sie für die Entwicklung verwenden und die in der Basis der Betriebssystemverteilung enthalten sind.
- Um Entwicklungsabhängigkeiten für Ubuntu einzubeziehen, geben Sie Folgendes an
Build-Essentials
- Um dasselbe für CentOS 7 einzuschließen, geben Sie Folgendes an
"Entwicklungswerkzeuge"
- Um Entwicklungsabhängigkeiten für Ubuntu einzubeziehen, geben Sie Folgendes an
- Webserver - Wählen Sie Apache oder Nginx, um das Rückgrat Ihres L (A | E) MP-Stacks zu bilden.
- Sprachen - PHP, Ruby, Node.js, Python.
- Datenbanken - Eine der attraktivsten Eigenschaften dieses Ansatzes ist möglicherweise die Möglichkeit, virtuelle Maschinen zum Spielen mit den verschiedenen verfügbaren Datenbanken zu erstellen. Während MySQL eine Standardeinstellung ist, möchten Sie möglicherweise mit etwas neuerer Software wie MariaDB Open Source-Software und Forking spielen: Das Gute, das Große und das Hässliche Open Source-Software und Forking: Das Gute, das Große und das Hässliche Manchmal der Endbenutzer profitiert stark von Gabeln. Manchmal wird die Gabel unter einem Mantel aus Ärger, Hass und Feindseligkeit hergestellt. Sehen wir uns einige Beispiele an. Weiterlesen .
- Die restlichen Optionen sind etwas exotisch, und wenn Sie nicht wissen, was sie sind, können sie später immer installiert werden. Schließlich steht Ihnen ein vollwertiges Betriebssystem zur Verfügung.
Am Ende dieser Konfigurationsreise wird PuPHPet ein Archiv erstellen. Entpacken Sie das in das Verzeichnis, das Sie vor der Konfiguration der Parameter Ihres neuen Servers erstellt haben.
Führen Sie nun folgendes aus:
$ vagrant up
Und beobachten Sie die Ergebnisse:
Da Sie die Basisbox nicht in Ihrem lokalen Verzeichnis haben, ruft Vagrant das Image aus dem Atlas ab, einem Repository mit vorkonfigurierten Vagrantboxen.
(Technisch gesehen können Sie jeden Ihrer lokalen Computer mit dem folgenden Befehl hinzufügen: $ vagrant box add USER / BOX
)
Einpacken
Zu diesem Zeitpunkt ist Ihre VM gebootet und Sie sind grundsätzlich online. Es bleibt nur noch eines: Den Befehl ausgeben $ vagrant ssh
um sich in eine richtige SSH-Sitzung zu begeben, wobei Ihre (kopflose) VM als LAMP-Server fungiert. Glückwunsch!
Lern mehr
Von hier aus gibt es in Vagrant mehr zu sagen und zu tun, und, wie Sie wissen, eine unbegrenzte Menge, die Sie mit Ihrem eigenen Entwicklungsspielplatz erreichen können. Schauen Sie sich die offizielle Kurzanleitung an, um dort fortzufahren, wo ich aufgehört habe.
Haben Sie jemals eine VM für Ihre eigene Entwicklungsumgebung verwendet? Haben Sie dieses Setup verwendet oder haben Sie einen anderen Ansatz gewählt? Teilen Sie Ihre Ideen in den Kommentaren unten mit!
Erfahren Sie mehr über: Virtuelle Maschine, VirtualBox, Webentwicklung, Webserver.