Jak stworzyć wirtualne środowisko programistyczne i serwer

  • Edmund Richardson
  • 0
  • 5040
  • 1542
Reklama

Windows i Mac OSX od kilku lat robią postępy jako przyjazne dla programistów systemy operacyjne, ale każdy programista naprawdę musi pracować w natywnym środowisku internetowym, Linux.

W tym artykule dowiesz się, jak wykorzystać to, co najlepsze z obu światów: trzymać się stabilnego i przyjaznego konsumentowi systemu operacyjnego, takiego jak Windows lub OSX, na codzienne potrzeby, a jednocześnie czerpać korzyści z rozwoju w tym samym ekosystemie, co kod produkcyjny..

Wprowadzenie

Znaczna część sieci działa w oparciu o to, co deweloperzy nazywają “Stos LAMP.” Skrót ten oznacza, że ​​Linux, Apache, MySQL, PHP są ze sobą powiązane i działają jak serwer sieciowy. (Blisko powiązany stos - lub zestaw technologii - to “LEMP,” z “mi” wywodzi się z wymowy alternatywy dla Apache, Nginx, co zostało powiedziane “silnik x.”)

Możesz zauważyć, że Linux jest tutaj wyraźnie uwzględniony, ale nie tylko z tego powodu Linux jest polecany przez programistów. Inne technologie - Apache (lub Nginx), MySQL i PHP - wszystkie mają różne narzędzia i implementacje dostępne dla różnych platform, ale z przyczyn historycznych i technicznych konfiguracje oparte na systemie Linux dominują w przestrzeni serwera i są bardziej przewidywalne.

Przewidywalność i niezawodność to także ważne powody, dla których chcesz opracować system operacyjny, którego używasz wyłącznie do tego celu - dedykowany system operacyjny, a nie taki, który obsługuje niezliczoną liczbę zadań, które codziennie podejmujesz jako programista. Innymi słowy, nie chcesz uruchamiać serwera w tym samym systemie operacyjnym, który musisz zrestartować po zainstalowaniu nowych sterowników karty graficznej lub komputera, który musisz spakować i włożyć do plecaka, aby trafić droga z. Jednym słowem, angażowanie procesów i oprogramowania potrzebnego do uruchomienia serwera na maszynie o mieszanym zastosowaniu jest chaotyczne.

Jak więc równoważyć zdolność do wykonywania wielu zadań z potrzebą rozwijania się w natywnym kontekście aplikacji?

Wprowadź maszyny wirtualne Co to jest maszyna wirtualna? Wszystko, co musisz wiedzieć, co to jest maszyna wirtualna? Wszystko, co musisz wiedzieć Maszyny wirtualne umożliwiają uruchamianie innych systemów operacyjnych na bieżącym komputerze. Oto, co powinieneś o nich wiedzieć. .

Maszyny wirtualne i włóczęga

Maszyny wirtualne to programy działające w podstawowym systemie operacyjnym. Pozwalają one skutecznie uruchamiać całkowicie oddzielny system operacyjny w oknie, całkowicie zamknięty i niezależnie od wszystkiego, co dzieje się z fizyczną maszyną, ale kosztem pewnych kosztów ogólnych.

Jednak zalet jest wiele:

  • Czy popełnisz błąd podczas instalowania, konfigurowania lub usuwania oprogramowania? Nic wielkiego, możesz po prostu zacząć od nowa ze świeżym wizerunkiem.
  • Czy Twój eksperyment katastroficznie się nie powiódł i zawiesił wokół niego system operacyjny? Znowu nie ma problemu, ponieważ działa tylko maszyna wirtualna.
  • Czy potrzebujesz iteracji w nieco innych warunkach? Każdy zestaw warunków, takich jak różne wersje oprogramowania lub różne oprogramowanie (na przykład używanie Apache kontra Nginx), może stać się oddzielną maszyną programową lub wirtualną “pudełko.”

Narzędzie o nazwie Vagrant pomoże Ci wdrożyć “pudełka podstawowe” które zawierają wstępnie skonfigurowane systemy operacyjne Linux w różnych wersjach.

W tym artykule założono, że masz pewien komfort obsługi maszyny wirtualnej bez interfejsu GUI i wyłącznie za pomocą interfejsu wiersza polecenia (CLI).

Zdobądźmy dostawcę maszyny wirtualnej i Vagrant, zanim skonfigurujemy skrzynkę podstawową.

  1. Upewnij się, że masz dostawcę maszyny wirtualnej dla swojego systemu operacyjnego. Zarówno Windows, jak i Mac OSX mogą korzystać z Virtual Box. VMware działa również na obu platformach. (System Windows 10 Pro i nowsze mogą korzystać z funkcji Hyper V Czy aktualizacja systemu Windows 10 Pro jest warta 99 USD? Czy aktualizacja systemu Windows 10 Pro jest warta 99 USD? Windows 10 Pro oferuje więcej funkcji, ale także kosztuje 99 USD, aby zaktualizować wersję Home. Oto co musisz wiedzieć, aby zdecydować, czy profesjonalne funkcje są warte aktualizacji. Jest to krok naprzód, ponieważ lepiej wykorzystuje sprzęt).
  2. Odwiedź Vagrantup.com i wybierz odpowiedni instalator.
  3. W lokalnej strukturze drzewa katalogów utwórz nowy folder, w którym mieści się skrzynka. (Lokalizacje podrzędne do profilu użytkownika działają dobrze, lokalizacje w katalogach systemowych na ogół nie.)

Konfiguracja środowiska programowania WWW

Oto, gdzie dzieje się magia automatyzacji: narzędzie o nazwie PuPHPet skraca i GUI-fies proces wyboru i konfiguracji oprogramowania powszechnie używanego w LAMP, a nawet wykracza poza to, dodając obsługę języków po stronie serwera, takich jak Ruby i Node.js Co to jest Node.JS i dlaczego powinienem się przejmować? [Web Development] Co to jest Node.JS i dlaczego powinienem się tym przejmować? [Web Development] JavaScript to tylko język programowania po stronie klienta, który działa w przeglądarce, prawda? Nigdy więcej. Node.js to sposób na uruchomienie JavaScript na serwerze; ale to także o wiele więcej. Jeśli… (technicznie JavaScript nie jest wyłącznie po stronie serwera, ale ta odmiana jest), i alternatywy dla innych składników stosu LAMP.

PuPHPet tworzy podstawowe pliki konfiguracyjne dla Vagrant. Kreator ma do skonfigurowania ponad dwadzieścia różnych wymiarów, więc omówię tylko niektóre z najistotniejszych.

  • Cel wdrożenia - Tutaj możesz wybrać, czy chcesz utworzyć obraz odpowiedni dla VirtualBox, VMWare i tym podobnych, lub taki, który jest odpowiedni dla infrastruktury przetwarzania w chmurze, takiej jak AWS lub Digital Ocean, między innymi.
  • System> Pakiety - Możesz dołączyć dowolne oprogramowanie, które chcesz zainstalować, tak jak podczas normalnej instalacji. W szczególności powinieneś dołączyć pakiety, których używasz do programowania, które są zawarte w bazie dystrybucji systemu operacyjnego.
    • Aby uwzględnić zależności programistyczne dla Ubuntu, określ niezbędne do budowania
    • Aby uwzględnić to samo dla CentOS 7, określ "Narzędzia programistyczne"
  • Serwery WWW - Wybierz Apache lub Nginx, aby utworzyć kręgosłup stosu L (A | E) MP.
  • Języki - PHP, Ruby, Node.js, Python.
  • Bazy danych - Być może jedną z najbardziej atrakcyjnych cech tego podejścia jest możliwość konstruowania maszyn wirtualnych w celu korzystania z różnych dostępnych baz danych. Chociaż MySQL jest domyślny, możesz chcieć grać z czymś nowszym, takim jak MariaDB Open Source Software and Forking: The Good, The Great i The Brzydki Open Source Software and Forking: The Good, The Great and The Brzydki Czasami użytkownik końcowy czerpie znaczne korzyści z widelców. Czasami widelec odbywa się pod osłoną gniewu, nienawiści i wrogości. Spójrzmy na kilka przykładów. .
  • Pozostałe opcje są nieco egzotyczne, a jeśli nie wiesz, jakie są, zawsze można je zainstalować później. W końcu masz do dyspozycji pełnoprawny system operacyjny.

Pod koniec tej konfiguracji PuPHPet utworzy archiwum. Rozpakuj to do utworzonego katalogu przed skonfigurowaniem parametrów nowego serwera.

Teraz wykonaj następujące czynności:

włóczęga się

I obserwuj wyniki:

Ponieważ nie masz pola podstawowego w katalogu lokalnym, włóczęga pobierze obraz z Atlasu, repozytorium wstępnie skonfigurowanych skrzynek wędrownych.

(Technicznie każdy z nich można dodać do komputera lokalnego, wydając polecenie: vagrant box dodaj USER / BOX)

Podsumowanie

W tym momencie maszyna wirtualna jest uruchamiana i jesteś w zasadzie online. Pozostaje tylko jedno: wydać polecenie vagrant ssh aby przejść do właściwej sesji SSH z (bezgłową) maszyną wirtualną działającą jako serwer LAMP. gratulacje!

Ucz się więcej

Odtąd w Vagrant jest więcej do powiedzenia i zrobienia oraz, jak wiadomo, nieograniczona ilość do osiągnięcia na własnym placu zabaw. Sprawdź oficjalny przewodnik dla początkujących, aby dowiedzieć się, gdzie skończyłem.

Czy kiedykolwiek używałeś maszyny wirtualnej do własnego środowiska programistycznego? Czy użyłeś tej konfiguracji, czy podjąłeś inne podejście? Podziel się swoimi pomysłami w sekcji komentarzy poniżej!




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.