Heim >Backend-Entwicklung >PHP-Tutorial >VagrantFile erklärt: Einrichten und Bereitstellung mit Shell

VagrantFile erklärt: Einrichten und Bereitstellung mit Shell

William Shakespeare
William ShakespeareOriginal
2025-02-20 10:42:11864Durchsuche

Dieses Tutorial zeigt, dass die Einrichtung einer wiederverwendbaren Entwicklungsumgebung mit einem Vagranten eingerichtet wird und ein Ubuntu 14.04 LTS -Basisbox nutzt. Während das Tutorial ein bestimmtes Basisfeld verwendet, gelten die Konzepte für jedes Ubuntu-basierte Box.

Schlüsselkonzepte:

  • Vagrantfile: Die Kernkonfigurationsdatei (in Ruby geschrieben) für Ihre Vagrantumgebung. Es behandelt variable Zuordnungen und alle Konfigurationsoptionen.
  • Bereitstellung: Automatisiert die Software -Installation und -konfiguration innerhalb der virtuellen Maschine (VM). Vagrant unterstützt verschiedene Methoden, einschließlich Shell -Skripte, Marionette, Koch und Ansible.
  • Netzwerk: Konfigurieren Sie den Netzwerkzugriff auf die VM, einschließlich Portweiterleitung, private Netzwerke und öffentliche Netzwerke.
  • synchronisierte Ordner: Ermöglicht die neiere Dateifreigabe zwischen den Host- und Gastbetriebssystemen, wodurch der Datenverlust verhindern wird, wenn das VM gelöscht wird.
  • Shell Skript Provisioning: Eine einfache Methode zur Bereitstellung, wobei die Notwendigkeit komplexer Werkzeuge wie Puppen- oder Ansible erforderlich ist.

Einrichten des Vagrantfile:

Erstellen Sie einen vagrant-tutorial -Fordner und ein Vagrantfile darin. Der Vagrantfile enthält die Umgebungskonfiguration.

Vagrantfile Explained: Setting Up and Provisioning with Shell

Bereitstellung:

Vagrant vereinfacht die Installation und Konfiguration der Software und macht den Prozess wiederholbar und automatisch. Mehrere Bereitstellungsmethoden sind verfügbar.

Voraussetzungen:

Konfigurieren Sie vor der Bereitstellung die Vagrantfile:

  1. Vagrant API -Version: Geben Sie die API -Version an:

    <code class="language-ruby">Vagrant.configure("2") do |config|
      # ... rest of the configuration ...
    end</code>
  2. Basisbox: Definieren Sie das Basisfeld (z. B. primalskill/ubuntu-trusty64):

    <code class="language-ruby">config.vm.box = "primalskill/ubuntu-trusty64"</code>
  3. Netzwerkkonfiguration (Portweiterleitung): einen Port vorlegen (z. B. Gästeleiter 80 bis Host -Port 8931):

    <code class="language-ruby">config.vm.network :forwarded_port, guest: 80, host: 8931, auto_correct: true</code>
  4. synchronisierte Ordner: Teilen Sie einen Projektordner (z. B. den aktuellen Ordner zu /var/www im VM):

    <code class="language-ruby">config.vm.synced_folder "./", "/var/www", create: true, group: "www-data", owner: "www-data"</code>
  5. VirtualBox Spezifische Konfiguration: VM -Einstellungen konfigurieren (Name und Speicher):

    <code class="language-ruby">config.vm.provider "virtualbox" do |v|
      v.name = "SitePoint Test Vagrant"
      v.customize ["modifyvm", :id, "--memory", "1024"]
    end</code>

Shell Skript Provisioning:

Verwenden Sie ein Shell -Skript (provision/setup.sh) für eine einfache Bereitstellung:

<code class="language-ruby">config.vm.provision "shell", path: "provision/setup.sh"</code>

Das Skript setup.sh enthält Befehle zur Installation von Software. Beispiel:

<code class="language-bash">#!/bin/bash

echo "Provisioning virtual machine..."
apt-get update -y > /dev/null
apt-get install git nginx -y > /dev/null
# ... other installation commands ...</code>

Installieren von Basispaketen (in setup.sh):

Die Tutorial-Details installieren Git, Nginx, PHP-FPM und MySQL, einschließlich der Behandlung bestimmter Konfigurationen und Abhängigkeiten für PHP und MySQL. Die Schritte umfassen die Aktualisierung von Repositorys, das Installieren der erforderlichen Pakete und das Konfigurieren von MySQL mit debconf-utils, um die Kennworteinstellung zu automatisieren.

nginx Konfiguration:

Erstellen Sie eine nginx virtuelle Host -Konfigurationsdatei (provision/config/nginx_vhost), um Ihre Projektdateien zu bedienen. Das Tutorial bietet eine Beispielkonfiguration. Das Skript setup.sh kopiert diese Konfiguration an den richtigen Speicherort und startet nginx.

Vagrantfile Explained: Setting Up and Provisioning with Shell

Greifen Sie nach vagrant up nach Auslauf über localhost:8931 auf die Anwendung zu

.

Schlussfolgerung:

Diese verbesserte Zusammenfassung bietet einen klaren, kurzen Überblick über das Vagrant -Tutorial und konzentriert sich auf die wichtigsten Schritte und Konzepte, die mit der Einrichtung einer Entwicklungsumgebung mithilfe der Shell -Skript -Bereitstellung verbunden sind. Die detaillierten Erklärungen für jeden Schritt und die Einbeziehung von Code -Snippets erleichtern das Verständnis und die Verfolgung.

Das obige ist der detaillierte Inhalt vonVagrantFile erklärt: Einrichten und Bereitstellung mit Shell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn