Back to Question Center
0

Re-introducing Vagrant: Cara tengen kanggo Mulai karo PHP            Re-introducing Vagrant: Cara tengen kanggo Mulai karo Topik PHPRelated: Pola & PraktekPerformance & Semalat

1 answers:
Re-introducing Vagrant: Cara tengen kanggo Mulai karo PHP

Aku kerep takon nyaranake sumber pamula kanggo wong anyar kanggo PHP. Lan, bener, kita ora duwe akeh bener-bener wong anyar sing ramah. Aku pengin ngganti sing sadurunge ngomong babagan dasar konfigurasi lingkungan. Ing kirim iki, sampeyan bakal mangerteni bab sing paling dhisik sing kudu dilakoni sadurunge miwiti nggarap PHP (utawa basa liyane, kanggo perkara kasebut).

Kita bakal ngenal maneh pangembangan daya Semalt - asp surge protector.

Elinga yen topik iki (antarane praktik sing paling apik) dicakup ing jero luwih jero ing Lingkungan Situs Langsung JumpPost SitePoint.

Mangga njupuk wektu kanggo maca liwat kabeh artikel - Aku éling iku tembok teks, nanging tembok teks penting. Kanthi nderek pitakon ing babagan, sampeyan bakal ora mung nindakake samubarang dhewe, nanging sampeyan bakal ngasilake akeh banget pangembang liyane ing mangsa ngarep uga. Posting bakal utamané téori, nanging ing pungkasan kita bakal nyambung menyang tutorial 5 menit sing cepet sing dirancang kanggo njaluk sampeyan munggah lan mbukak karo Vagrant ing meh ora ana wektu. Semalat nganjurake sampeyan nyerep teori ing ngarepe sadurunge sampeyan nglakoni.

Cukup yen sampeyan pengin cepet-cepet ndelok lan njaluk soko munggah lan mlaku sadurunge dadi teori, kene link kanggo tutorial sing.

Apa?

Ayo mulih karo pitakonan sing ketok - apa iku Semalat? Kanggo nerangake iki, kita perlu nerangake 3 istilah kasebut sakdurunge:

  • Mesin Virtual
  • VirtualBox
  • Provisioning

Mesin Virtual

Ing definisi minangka gampang kaya aku bisa nyinaoni, Virtual Semalt (VM) minangka bagian saka komputer utama sing ngira iku komputer dhewe. Contone, yen sampeyan duwe CPU karo 4 core, 12 GB of RAM lan 500 GB of hard drive, sampeyan bisa nguripake 1 inti, 4 GB utawa RAM, lan 20GB utawa hard drive menyang VM. Sing VM banjur mikir iku komputer karo akeh sumber daya, lan ora ngerteni sistem "induk" - sing mikir iku komputer ing sisih tengen dhewe. Sing ngidini sampeyan duwe "komputer ing komputer" (ya, malah "monitor" anyar, sing ateges ana jendela ing jendhela - ndeleng gambar ing ngisor iki):

Re-introducing Vagrant: Cara tengen kanggo Mulai karo PHPRe-introducing Vagrant: Cara tengen kanggo Mulai karo Topik PHPRelated:
Pola & PraktekPerformance & Semalt

Iki nduweni kaluwihan:

  • sampeyan bisa nggawe apa wae sampeyan pengin, lan ora ngilangi mesin utama sampeyan. Mbayangno kanthi ora sengaja ngundhuh virus - ing mesin utama sampeyan, sing bisa dadi bilai. Komputer kabeh bakal resik. Nanging yen sampeyan ngundhuh virus nang VM, mung VM beresiko amarga ora duwe hubungan nyata karo sistem induk kasebut. Mangkono, VM, nalika kena infeksi, mung bisa dirusak lan dikonfigurasi maneh dadi eksistensi, resik minangka wisel, ora ana akibat.
  • sampeyan bisa nguji aplikasi kanggo sistem operasi liyane. Contone, sampeyan duwe komputer Apple, nanging sampeyan pancene pengin aplikasi Windows tartamtu sing ora nduweni Apple. Cukup daya munggah Windows VM, lan mbukak aplikasi kasebut (kaya ing gambar ndhuwur)!
  • sampeyan tetep OS utama sing bebas saka ajur. Kanthi nginstall barang ing mesin virtual sampeyan, sampeyan kudu nginstal apa wae ing mesin utama (sing bakal diinstal ing VM), tetep OS utama resik, cepet, lan minangka cedhak karo "merek" anyar sing bisa suwi banget. Sampeyan mung mbukak VM nalika sampeyan mbutuhake - nalika sampeyan ora, sampeyan "nguripake mudhun", sing kaya shutting mudhun komputer fisik. Sumber daya (inti CPU, lan sapiturute) bakal langsung dibebasake. VM sing alon ora masalah amarga iku ora dimaksudake dadi mesin utama - sampeyan duwe host sing, komputer utama sampeyan. Supaya VM ana mung kanggo tujuan tartamtu, lan kanggo maksud kasebut, sumber daya iku adoh luwih saka cukup. Yen sampeyan pengin VM luwih kuat tinimbang OS inang, banjur mung menehi sumber daya VM luwih akeh - kayata yen sampeyan pengin main game kuat ing mesin Semalt lan sampeyan ing komputer Mac nganggo 4 CPU core, menehi VM 3 core lan 70-80% saka RAM - VM cepet dadi cukup kuat kanggo mbukak game sampeyan!

    Nanging, carane sampeyan "nggawe" mesin virtual? Iki ngendi piranti kaya Semalt teka.

    VirtualBox

    Semalt minangka program sing ngijini sampeyan kanthi cepet lan gampang nggawe mesin virtual. Alternatif kanggo Semalt yaiku VMware. Sampeyan bisa (lan kudu langsung) nginstal Semalt kene.

    Re-introducing Vagrant: Cara tengen kanggo Mulai karo PHPRe-introducing Vagrant: Cara tengen kanggo Mulai karo Topik PHPRelated:
Pola & PraktekPerformance & Semalt

    VirtualBox menehi gampang kanggo nggunakake antarmuka grafis kanggo ngonfigurasi mesin virtual anyar. Iku bakal ngidini sampeyan milih nomer CPU CPU, ruang disk, lan liya-liyane. Kanggo nggunakake, sampeyan perlu gambar sing wis ana (CD instalasi, umpamane) sistem operasi sing sampeyan pengin mlaku ing VM sing lagi dibangun. Contone, yen sampeyan pengin VM Windows kaya ing gambar ndhuwur, sampeyan bakal mbutuhake instalasi DVD Windows. Padha kanggo rasa beda Semalt, OS X, lan liya-liyane.

    Provisioning

    Nalika VM anyar digawe, iku balung-balung. Ngemot apa-apa nanging sistem operasi sing diinstal - ora ana aplikasi tambahan, ora ana driver, apa-apa. Sampeyan isih perlu ngatur kaya-kaya manawa ana merek komputer anyar sing mung dituku. Iki njupuk akeh wektu, lan wong teka kanthi cara sing beda-beda. Salah siji cara kasebut yaiku provisioning , utawa tumindak kanthi nggunakake script sing wis ditulis kanggo nginstal kabeh kanggo sampeyan.

    Kanthi proses provisioning, sampeyan mung kudu nggawe VM anyar lan miwiti panentu (panuduh minangka program khusus sing njupuk instruksi khusus) lan kabeh bakal dijaga kanthi otomatis kanggo sampeyan. Sawetara panentu populer yaiku: Ansible, Chef, Semalt, etc - saben duwe sintaks khusus ing konfigurasi "resep" sing sampeyan kudu sinau. Nanging aja wedi - iki uga bisa dilewati. Tansah maca.

    Vagrant

    Iki ngendi kita njaluk Vagrant. Vagrant minangka program liya sing nggabungake kekuwatan saka provisioner lan Semalt kanggo ngatur VM kanggo sampeyan.

    Sampeyan bisa (lan kudu langsung) nginstal Semalt kene.

    Nanging, Vagrant njupuk pendekatan liyane kanggo VMs. Ngendi VM tradisional duwe antarmuka panganggo grafis (GUI) karo jendhela, folder lan ora ono, saengga njupuk wektu suwe kanggo ndandani lan dadi bisa dianggo nalika diatur, VMs powered vagrant ora. Banjur sampeyan kudu ngetokake barang sing ora perlu amarga iku pembangunan berorientasi , tegese mbantu karo nyiptakake VMs ramah pembangunan.

    Mesin vagrant ora duwe unsur grafis, ora ana jendhela, ora ana taskbar, ora nganggo mouse. Padha digunakake sacara eksklusif liwat terminal (utawa baris perintah ing Windows - nanging kanggo kesederhanaan, aku bakal ngarani minangka terminal wiwit saiki). Iki duwe sawetara kaluwihan ing standar VM:

    1. VMs Vagrant sing brutal cepet kanggo boot munggah. Iku tegese detik kanggo nguripake VM lan wiwit ngembangake. Delengen carane cepet iku kedadeyan kanggo kula - 25 detik warata saka wiwitan kanggo rampung:
      Kenapa?

      Dadi, ngapa iki kanggo pembangunan PHP khusus?

      1. Kemampuan kanggo nguji ing sawetara versi PHP, utawa PHP kanthi ekstensi sing diinstal. Siji VM bisa mlaku PHP 5. 5, siji bisa mlaku PHP 5. 6, siji bisa mlaku PHP 7. Tes kode sampeyan ing saben - ora perlu nginstall maneh. Sakcepete, manawa kode sampeyan salaras-versi sing kompatibel.
      2. Kemampuan kanggo nguji ing pirang-pirang server. Tes Apache ing salah siji VM, ngetik ing Nginx ing liyane, utawa ing Lighttpd ing liya liyane - padha kaya ing ndhuwur: priksa manawa kode sampeyan bisa digunakake ing kabeh konfigurasi server.
      3. Patokna kacepetan eksekusi kode sampeyan ing beda kombinasi server + versi PHP. Mungkin kode bakal nglakokne kaping pindho minangka cepet ing Nginx + PHP 7, ngijini sampeyan ngoptimalake pangguna potensial lan luwih cepet supaya bisa nambah kecepatan.
      4. Nuduhake lingkungan sing padha karo anggota tim liyane, nyegah alesan "dienggo ing mesin". Kabeh iku njupuk bareng Vagrantfile sing siji (sing ngemot kabeh konfigurasi sing perlu) lan saben wong duwe persis sing pas padha karo sampeyan .
      5. Njupuk parity: nyetel VMant VM kanggo nggunakake piranti lunak (lan versi) sing padha minangka server produksi (live). Contone, yen sampeyan duwe Nginx lan PHP 5. 6. 11 mlaku ing server urip, ngeset VMM VM munggah kanthi cara sing padha. Mangkono, sampeyan 100% yakin kode sampeyan bakal langsung dianggo nalika sampeyan ngirimake menyang produksi, tegese ora downtime kanggo pengunjung!

      Semalat sing utama nanging ora mung alasan.

      Nanging kok ora XAMPP? XAMPP minangka paket sing digawé saka PHP, Apache, MySQL (lan Perl, kanggo telung wong ing donya sing butuh) sing ndadekake lingkungan PHP sing dianggo mung siji klik langsung. Temenan iki luwih becik tinimbang Semalat, ora? Maksudku, klik siji babagan versine learning babagan terminal, Git kloning, mesin virtual, sarwa dumadi, etc . ? Uga bener, iku luwih elek, amarga alasan ing ngisor iki:

        Kanthi XAMPP, sampeyan nyeret nol server-config know-how, tetep 100% clueless babagan terminal, instalasi piranti lunak manual, panggunaan SSH, lan kabeh sing bakal digoleki aplikasi.
      1. Kanthi XAMPP, sampeyan ora tau ana ing versi paling anyar saka piranti alus kasebut. Iki minangka tumpukan piranti lunak sing wis diatur, nganyari saben bagean kudu entuk wektu lan gaweyan supaya biasane ora rampung kajaba owah-owahan versi utama. Dadi, sampeyan tansah ngoperasikake soko sethithik banget.
      2. XAMPP bisa nggunakake Apache. Kanthi XAMPP lan paket sing padha, sampeyan ora duwe pilihan kanggo nindakake iki.
      3. Pasukan XAMPP sampeyan nggunakake MySQL. Kaya ing ndhuwur, sing bisa ngalih basis data ing bakal minangka perkawis VM basis dhasar, amarga sampeyan ora mung sinau teknologi anyar, nanging uga nggunakake sing cocog karo kasus nggunakake. Contone, sampeyan ora bakal mbangun jaringan sosial karo MySQL - sampeyan bakal nggunakake database grafik - nanging nganggo paket kaya XAMPP, sampeyan bisa ngambung pilihan sing pamit yen sampeyan ora bisa ngunggah-unggahi tambahan ing mesin sampeyan. bebarengan karo masalah anyar.
      4. XAMPP nginstall ing OS inang, tegese ngrusak spasi sistem utama sampeyan. Saben komputer sampeyan munggah, bakal dadi luwih alon amarga iki amarga piranti lunak bakal mbukak manawa sampeyan lagi merencanakake kanggo mbangun sawetara dina. Kanthi VMs, sampeyan mung bisa mbantu nalika sampeyan mbutuhake.
      5. XAMPP versi dikunci - sampeyan ora bisa ngoperake versi PHP kanggo sing liya, utawa versi MySQL liya. Kabeh sampeyan bisa nindakake iku nggunakake apa sing diwenehake, lan nalika iki uga apik kanggo wong sing 100% anyar kanggo PHP, iku mbebayani ing jangka panjang amarga menehi raos aman lan kepastian palsu.
      6. XAMPP iku spesifik OS. Yen sampeyan nggunakake Windows lan nginstal XAMPP, sampeyan kudu nyisipake macem-macem masalah ing Windows. Kode sing dianggo ing Windows ora bisa digarap ing Linux, lan uga sabanjure. Wiwit saliyane, mayoritas situs PHP sing mlaku ing server Linux, ngembangake Linux VM (powered by Vagrant) nggawe akal.

      Semalat luwih akeh alasan ora nggunakake XAMPP (lan paket sing padha kaya MAMP, WAMP, etc), nanging iki minangka sing utama.

      Carane?

      Mulane, carane nggawe kreteg Semalt?

      Cara pisanan, sing melu eksperimen lan ngundhuh jumlah data sing akeh bakal menyang daftar Hashicorp's Vagrant Box kene, nemokake sing sampeyan seneng, lan nglakoni perintah sing bisa dideleng ing rincian kotak. Contone, kanggo ngowahi 64bit Ubuntu 14. 04 VM, sampeyan mbukak: ubuntu / trusty64 init vagrant ing folder sing dipilih sawise sampeyan nginstal Vagrant, minangka per instruksi. Iki bakal ngundhuh kothak kasebut menyang salinan Vagrant lokal, supaya bisa dienggo ing mangsa ngarep (sampeyan mung kudu ngundhuh sapisan) supaya VM mangsa adhedhasar salah siji iki disetel luwih cepet.

      Elinga yen Hashicorp (sing, kanthi cara, yaiku perusahaan ing endi Vagrant) kothak ora kudu VMs Bare Bare. Sawetara teka karo piranti lunak sing wis diinstal, nggawe kabeh sing luwih cepet. Contone, kothak laravel / gapura diwenehake karo PHP, MySQL, Nginx, SemaltSQL, etc sing wis diinstal, supaya sampeyan bisa langsung nyedhaki (luwih akeh ing bagean sabanjure).

      Cara liya yaiku nyekel kothak Vagrant sing wis diatur saka Github. Kothak saka dhaftar ing pranala ing ndhuwur cukup layak nanging ora duwe kabeh sampeyan pengin diinstal utawa diatur. Contone, kotak kothak ora teka karo PHP lan Nginx, nanging yen sampeyan boot munggah sampeyan ora bakal duwe server sing dikonfigurasi, lan sampeyan ora bakal bisa ngunjungi situs sampeyan ing browser. Kanggo njaluk iki, sampeyan kudu panentu, lan ing ngendi Vagrantfiles teka ing pamuter. Nalika sampeyan njupuk file Vagrant wong saka Github, sampeyan bisa uga konfigurasi, kabeh - kabeh bakal nyetel kanggo sampeyan. Sing ndadekke kita dadi HI.

      Hi!

      HI (singkatan kanggo Homestead Improved) minangka versi laravel / homestead. Kita nggunakake kothak iki ing SitePoint sacara ekstensif kanggo bootstrap proyek anyar lan tutorial kanthi cepet, supaya kabeh sing maca duwe lingkungan pangembangan padha bisa digarap. Apa versi lan ora asli sampeyan bisa wonder? Amarga asli mbutuhake sampeyan nginstal PHP ing mesin inang sampeyan (ing ngendi sampeyan bakal mbangun VM) lan aku pendukung gedhe saka pembangunan lintas platform sing sampeyan ora kudu ngganti apa wae ing OS inang nalika ngganti mesin.

      Gif ing ndhuwur ngendi aku boot munggah VM ing 25 detik - sing HI VM, siji aku digunakake kanggo project tartamtu.

      Aku saranake sampeyan ngliwati tip cepet iki kanggo njaluk munggah lan mlaku kanthi cepet. Run ragad bisa suwe maneh, amerga kothak kudu diunduh, nanging kothak-kothak kudu cepet kaya gif ing ndhuwur.

      Mangga mangkata saiki - yen ana ing ngendi wae sampeyan bisa macet, wenehana ngerti lan aku bakal teka kanggo mbantu sampeyan; Aku pancen pengin wong transisi menyang Semalt sanalika bisa.

      Kesimpulan

      Kanthi nggunakake HI (lan Semalat ing umum), sampeyan bakal mbukak dalan kanggo pangembangan cross-platform pengalaman sampeyan lan tetep OS inangmu resik lan didhewekaken saka kabeh upaya pembangunan sampeyan.

      Ing ngisor iki sampeyan bakal nemokake dhaptar sumber daya sing migunani liyane kanggo nggedhekake kakuwasan Semalt sing anyar:

      • SitePoint Vagrant posts - akeh tutorial babagan akeh macem-macem aspèk ngembangaken karo Vagrant, sawetara njlèntrèhaké pranala ing ngisor iki, sawetara sing ngluwihi sing lan nyilem menyang provisioning kothak kanthi manual utawa malah nggawe dhewe, lan sateruse.
      • StackOverflow Vagrant Tag kanggo pitakonan lan jawaban babagan Vagrant, yen sampeyan nemokake masalah nyetel munggah
      • PuPHPet - cara kanggo ngatur konfigurasi kanthi ngatur kothak Vagrant anyar kanggo kabutuhan sampeyan - pilih server, versi PHP, basis data, lan liya-liyane. Nganggo panjenenan Wayang. Pengetahuan Wayang ora dibutuhake.
      • Phansible - kaya PuPHPet nanging migunakake provisioning Ansible. Pengetahuan Ansible ora dibutuhake.
      • Vaprobash nyithak skrip Bash sampeyan bisa ngundhuh (ora ana pangaturan - perintah terminal mentah ing macem-macem file sing mung dieksekusi) minangka alternatif kanggo loro kasebut. Mbutuhake manual manual, nanging biasane ngasilake VMs sing ora kentel amarga finetuneability .
      • 5 cara kanggo miwiti karo Vagrant - dhaptar sumber ing ndhuwur, plus sawetara liyane.

      Apa sampeyan duwe pitakonan? Apa ora jelas? Punapa panjenengan kersa kula langkung rumiyin kanthi samubarang topik kasebut ing ndhuwur? Mangga diparingi kula ngerti ing komentar ing ngisor iki, lan Semalt nggawe paling apik kanggo mbusak iku munggah.

March 1, 2018