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

Vagrantfile dijelaskan: Menyediakan dan peruntukan dengan shell

Feb 20, 2025 am 10:42 AM

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:

    Vagrant.configure("2") do |config|
      # ... rest of the configuration ...
    end
    Salin selepas log masuk
  2. kotak asas:

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

    config.vm.box = "primalskill/ubuntu-trusty64"
    Salin selepas log masuk
  3. Konfigurasi Rangkaian (Port Forwarding):

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

    config.vm.network :forwarded_port, guest: 80, host: 8931, auto_correct: true
    Salin selepas log masuk
  4. Folder Synced:

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

    config.vm.synced_folder "./", "/var/www", create: true, group: "www-data", owner: "www-data"
    Salin selepas log masuk
  5. konfigurasi spesifik VirtualBox:

    Konfigurasi tetapan VM (nama dan memori):

    config.vm.provider "virtualbox" do |v|
      v.name = "SitePoint Test Vagrant"
      v.customize ["modifyvm", :id, "--memory", "1024"]
    end
    Salin selepas log masuk
Peruntukan skrip shell:

Gunakan skrip shell (

) untuk peruntukan mudah:

provision/setup.sh

skrip
config.vm.provision "shell", path: "provision/setup.sh"
Salin selepas log masuk
akan mengandungi arahan untuk memasang perisian. Contoh:

setup.sh

#!/bin/bash

echo "Provisioning virtual machine..."
apt-get update -y > /dev/null
apt-get install git nginx -y > /dev/null
# ... other installation commands ...
Salin selepas log masuk
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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bagaimanakah sesi merampas kerja dan bagaimana anda dapat mengurangkannya dalam PHP? Bagaimanakah sesi merampas kerja dan bagaimana anda dapat mengurangkannya dalam PHP? Apr 06, 2025 am 12:02 AM

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Apr 03, 2025 am 12:04 AM

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana cara debug mod CLI dalam phpstorm? Bagaimana cara debug mod CLI dalam phpstorm? Apr 01, 2025 pm 02:57 PM

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Bagaimana cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Bagaimana cara menetapkan kebenaran secara automatik UnixSocket selepas sistem dimulakan semula? Mar 31, 2025 pm 11:54 PM

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Mar 28, 2025 pm 05:11 PM

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

See all articles