Rumah >pembangunan bahagian belakang >tutorial php >Vagrantfile dijelaskan: Menyediakan dan peruntukan dengan shell

Vagrantfile dijelaskan: Menyediakan dan peruntukan dengan shell

William Shakespeare
William Shakespeareasal
2025-02-20 10:42:11864semak imbas

Tutorial ini menunjukkan menubuhkan persekitaran pembangunan yang boleh diguna semula dengan menggunakan vagrant, memanfaatkan kotak asas Ubuntu 14.04 LTS. Walaupun tutorial menggunakan kotak asas tertentu, konsep itu digunakan untuk mana-mana kotak berasaskan Ubuntu.

Konsep Utama:

  • Vagrantfile: Fail konfigurasi teras (ditulis dalam Ruby) untuk persekitaran vagrant anda. Ia mengendalikan tugasan yang berubah -ubah dan semua pilihan konfigurasi.
  • Peruntukan: Automasi pemasangan dan konfigurasi perisian dalam mesin maya (VM). Vagrant menyokong pelbagai kaedah, termasuk skrip shell, boneka, chef, dan ansible.
  • rangkaian: Mengkonfigurasi akses rangkaian ke VM, termasuk pemajuan port, rangkaian swasta, dan rangkaian awam.
  • Folder Synced: Membolehkan perkongsian fail lancar antara sistem operasi tuan rumah dan tetamu, menghalang kehilangan data jika VM dipadamkan.
  • Peruntukan skrip shell: Kaedah mudah untuk peruntukan, mengelakkan keperluan untuk alat kompleks seperti boneka atau ansible.

Menyediakan Vagrantfile:

Buat folder

dan vagrant-tutorial di dalamnya. Vagrantfile akan mengandungi konfigurasi persekitaran. Vagrantfile

Vagrantfile Explained: Setting Up and Provisioning with Shell

Peruntukan:

Vagrant memudahkan pemasangan dan konfigurasi perisian, menjadikan proses itu berulang dan automatik. Kaedah peruntukan berganda boleh didapati.

Prasyarat:

Sebelum peruntukan, konfigurasikan

:

Vagrantfile

  1. versi API vagrant:

    Tentukan versi API:

    <code class="language-ruby">Vagrant.configure("2") do |config|
      # ... rest of the configuration ...
    end</code>
  2. kotak asas:

    Tentukan kotak asas (mis., ): primalskill/ubuntu-trusty64

    <code class="language-ruby">config.vm.box = "primalskill/ubuntu-trusty64"</code>
  3. Konfigurasi Rangkaian (Port Forwarding):

    meneruskan port (mis., Pelabuhan tetamu 80 untuk menjadi tuan rumah port 8931):

    <code class="language-ruby">config.vm.network :forwarded_port, guest: 80, host: 8931, auto_correct: true</code>
  4. Folder Synced:

    Kongsi folder projek (mis., Folder semasa ke dalam VM): /var/www

    <code class="language-ruby">config.vm.synced_folder "./", "/var/www", create: true, group: "www-data", owner: "www-data"</code>
  5. konfigurasi spesifik VirtualBox:

    Konfigurasi tetapan VM (nama dan memori):

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

Gunakan skrip shell (

) untuk peruntukan mudah:

provision/setup.sh

skrip
<code class="language-ruby">config.vm.provision "shell", path: "provision/setup.sh"</code>
akan mengandungi arahan untuk memasang perisian. Contoh:

setup.sh

<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>
memasang pakej asas (dalam

): setup.sh

Butiran tutorial yang memasang git, nginx, php-fpm, dan mysql, termasuk pengendalian konfigurasi khusus dan kebergantungan untuk PHP dan MySQL. Langkah -langkah melibatkan mengemas kini repositori, memasang pakej yang diperlukan, dan mengkonfigurasi MySQL menggunakan debconf-utils untuk mengautomasikan tetapan kata laluan.

konfigurasi nginx:

Buat fail konfigurasi hos maya nginx (provision/config/nginx_vhost) untuk menyampaikan fail projek anda. Tutorial menyediakan konfigurasi sampel. Skrip setup.sh menyalin konfigurasi ini ke lokasi yang betul dan memulakan semula nginx.

Vagrantfile Explained: Setting Up and Provisioning with Shell

selepas berjalan

, akses aplikasi melalui vagrant up. localhost:8931

Kesimpulan:

Ringkasan yang dipertingkatkan ini memberikan gambaran ringkas mengenai tutorial vagrant, yang memberi tumpuan kepada langkah -langkah utama dan konsep yang terlibat dalam menubuhkan persekitaran pembangunan menggunakan peruntukan skrip shell. Penjelasan terperinci setiap langkah dan kemasukan coretan kod memudahkan untuk difahami dan diikuti.

Atas ialah kandungan terperinci Vagrantfile dijelaskan: Menyediakan dan peruntukan dengan shell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn