Back to Question Center
0

Re-introducing Vagrant: راه راست برای شروع با PHP            معرفی مجدد: راه درست برای شروع با موضوعات فوریتی: الگوهای & ؛ PracksPerformance & ؛ Semalt

1 answers:
Re-introducing Vagrant: راه راست برای شروع با PHP

من اغلب خواسته می شود که منابع مبتدی را برای افرادی که به پی اچ پی هستند توصیه کنند. و این درست است که ما واقعا جدیدی از دوستداران آن وجود ندارد. من می خواهم آن را با اولین صحبت در مورد اصول پیکربندی محیط را تغییر دهید. در این پست، قبل از شروع به کار با PHP (و یا هر زبان دیگری برای آن موضوع) در مورد نخستین چیزی که باید انجام دهید را یاد خواهید گرفت.

ما دوباره معرفی Semal توسعه توسعه داده خواهد شد - intertops classic casino.

توجه داشته باشید که این موضوع (در میان بهترین شیوه های دیگر) در عمق بیشتری در JumpPoint's Jump Start پرتاب کتاب محیط زیست پوشیده شده است.

لطفا زمان را برای خواندن از طریق تمام مقاله - متوجه شدم این یک دیوار متن است، اما این یک دیوار مهم از متن است. با پیروی از مشاوره درون، شما نه تنها خودتان را یک جهنم از یک مزیت می کنید، بلکه در آینده نیز به شما کمک می کند تا بسیاری از توسعه دهندگان دیگر نیز داشته باشید. این پست عمدتا تئوری خواهد بود، اما در نهایت ما به یک آموزش 5 دقیقه ای سریع طراحی شده برای ایجاد و اجرا با Vagrant تقریبا هیچ زمانی. سمولت توصیه می کند که تئوری پشت آن را قبل از انجام این کار، جذب کند.

فقط در مورد شما می خواهم به عجله جلو و چیزی را ملموس و در حال اجرا قبل از به نظریه، در اینجا لینک به این آموزش.

چه؟

بیایید با پرسش واضح شروع کنیم - چه سمیرت؟ برای توضیح این، ابتدا باید 3 اصطلاح زیر را توضیح دهیم:

  • ماشین مجازی
  • VirtualBox
  • تأمین مالی

ماشین مجازی

در تعاریف به همان اندازه که من می توانم آنها را احضار کنم، مجازی Semalt (VM) بخش جداگانه ای از رایانه اصلی شما است که فکر می کند که یک کامپیوتر به تنهایی است. به عنوان مثال، اگر شما یک پردازنده با 4 هسته، 12 گیگابایت رم و 500 گیگابایت فضای هارد دیسک دارید، می توانید یک هسته، 4 گیگابایت رم یا 20 گیگابایت یا فضای هارد دیسک را به یک VM تبدیل کنید. سپس VM فکر می کند که این کامپیوتر با منابع بسیاری است و از سیستم "پدر و مادر "ش کاملا نامربوط است - به نظر می رسد که یک کامپیوتر به تنهایی است. این اجازه می دهد تا شما یک "کامپیوتر در یک کامپیوتر" داشته باشید (بله، حتی یک مانیتور جدید که اساسا یک پنجره درون پنجره است - تصویر زیر را ببینید):

Re-introducing Vagrant: راه راست برای شروع با PHPمعرفی مجدد: راه درست برای شروع با موضوعات فوریتی:
الگوها و تمرینات تکاملی و Semalt

این مزایای متعددی دارد:

  • شما می توانید چیزی را که می خواهید ببافید و هیچ چیز بر روی دستگاه اصلی شما شکسته نمی شود. تصور کنید به صورت تصادفی یک ویروس را دانلود کنید - بر روی دستگاه اصلی خود، که می تواند فاجعه بار باشد. کل کامپیوتر شما در معرض خطر است. اما اگر یک ویروس را در یک VM دانلود کردید، تنها VM در معرض خطر است زیرا هیچ ارتباط واقعی با سیستم مادرزادی ندارد. بنابراین VM زمانی که آلوده می شود، می تواند به سادگی نابود شود و دوباره به وجود خود پیکربندی شود، به عنوان یک سوت پاک، بدون عواقب.
  • شما می توانید برنامه های کاربردی برای سیستم عامل های دیگر را آزمایش کنید. به عنوان مثال، شما یک کامپیوتر اپل دارید، اما شما واقعا می خواهید یک برنامه خاص ویندوز که اپل ندارد. فقط ویندوز VM را فعال کنید و برنامه را داخل آن اجرا کنید (مثل تصویر بالا)!
  • شما سیستم عامل اصلی خود را رایگان از آشغال نگه دارید. با نصب مسائل بر روی ماشین مجازی شما، شما نیاز به نصب هر چیز بر روی دستگاه اصلی خود (که در آن VM در حال اجرا است)، نگه داشتن سیستم عامل اصلی پاک، سریع و به عنوان نزدیک به وضعیت "با نام تجاری جدید" زمان طولانی. VM زمانی که شما به آن نیاز دارید، VM را اجرا می کنید - زمانی که شما آن را انجام ندهید، شما آن را "خاموش کردن" می کنید، درست مثل خاموش کردن کامپیوتر فیزیکی. منابع (هسته CPU شما، و غیره) سپس فورا آزاد می شوند. VM آهسته مشکل نیست زیرا این به معنای یک ماشین اصلی نیست - شما میزبان آن هستید، رایانه اصلی خود. بنابراین VM فقط برای یک هدف خاص وجود دارد و برای این منظور، این منابع به مراتب بیش از اندازه کافی است. اگر واقعا نیاز به یک VM قوی تر از سیستم میزبان دارید، فقط VM منابع بیشتری را ارائه دهید - مثل اینکه اگر بخواهید یک بازی قدرتمند در دستگاه Semalt خود بازی کنید و در کامپیوتر Mac با 4 هسته CPU کار کنید، VM 3 هسته و 70-80٪ RAM شما - VM بلافاصله به اندازه کافی قدرتمند برای اجرای بازی شما می شود!

    اما چگونه می توان یک ماشین مجازی را "ساخت" کرد؟ این جایی است که نرم افزار مانند Semalt وارد می شود.

    VirtualBox

    Semalt یک برنامه است که به شما امکان می دهد به سرعت و به آسانی ماشین های مجازی را ایجاد کنید. یک جایگزین برای Semalt VMware است. شما می توانید (و باید فورا) Semalt را نصب کنید اینجا.

    Re-introducing Vagrant: راه راست برای شروع با PHPمعرفی مجدد: راه درست برای شروع با موضوعات فوریتی:
الگوها و تمرینات تکاملی و Semalt

    VirtualBox فراهم می کند آسان برای استفاده از رابط گرافیکی برای پیکربندی ماشین های مجازی جدید. این به شما اجازه می دهد تعداد هسته CPU، فضای دیسک و بیشتر را انتخاب کنید. برای استفاده از آن، شما نیاز به یک تصویر موجود (به عنوان مثال یک CD نصب شده) از سیستم عامل که می خواهید روی VM که شما در حال ساخت می خواهید اجرا کنید. به عنوان مثال، اگر می خواهید ویندوز VM همانطور که در تصویر بالا است، شما نیاز به نصب ویندوز DVD دستی. برای طعم های مختلف Semalt، OS X و غیره نیز همینطور است.

    تأمین

    هنگامی که یک VM جدید ایجاد می شود، آن استخوان های استخوانی است. این شامل چیزی نیست جز سیستم عامل نصب شده - هیچ برنامه اضافی، هیچ راننده، هیچ چیز. شما هنوز هم باید آن را پیکربندی کنید به شرط اینکه این کامپیوتر جدیدی است که شما فقط آن را خریداری کردید. این طول می کشد زمان زیادی می برد، و مردم با راه های مختلف در اطراف آن آمدند. یکی از این راه ها تهیه ، یا استفاده از یک اسکریپت از پیش نوشته شده برای نصب همه چیز برای شما است.

    با یک فرایند تهیه، شما فقط نیاز به ایجاد یک VM جدید و راه اندازی ارائه (ارائه دهنده یک برنامه خاص است که دستورالعمل های خاصی را می گیرد) و همه چیز برای شما به طور خودکار مراقبت خواهد شد. برخی از تهیه کنندگان محبوب عبارتند از: ممکن است، سرآشپز، Semalt، و غیره - هر کدام از آنها دارای دستورالعمل خاصی است که شما باید یاد بگیرید. اما ترس ندارید - این هم می تواند از بین برود. خواندن را ادامه دهید

    فاحشه

    این جایی است که ما به Vagrant می رویم. Vagrant یکی دیگر از برنامه هایی است که توانایی های ارائه کننده و Semalt را برای پیکربندی VM برای شما ترکیب می کند.

    شما می توانید (و باید فورا) نصب Semalt اینجا.

    اما دروغگو، رویکرد دیگری به VM ها دارد. در حالی که VM های سنتی دارای یک رابط کاربری گرافیکی (GUI) با ویندوز، پوشه ها و غیره هستند، بنابراین زمان زیادی برای بوت شدن و تبدیل شدن به استفاده قابل استفاده بعد از پیکربندی، VM Vagrant نیست. Vagrant از مواردی که نیازی به آن ندارید را حذف می کند، زیرا این توسعه گرا است، به این معنی که با ایجاد VM های توسعه دوستانه کمک می کند.

    دستگاه های شستشو هیچ عناصر گرافیکی، بدون پنجره، هیچ نوار وظیفه، هیچ چیزی برای استفاده از ماوس بر روی آن ندارند. آنها به طور انحصاری از طریق ترمینال (یا خط فرمان در ویندوز استفاده می شود - اما به خاطر ساده بودن، من به عنوان ترمینال از آن به اینجا مراجعه می کنم). این مزایای متعددی نسبت به VM های استاندارد دارد:

    1. VM Vagrant به طور وحشیانه سریع برای راه اندازی. طول می کشد به معنای واقعی کلمه ثانیه برای تبدیل VM و شروع به توسعه در آن. نگاه کنید به سرعت برای من اتفاق می افتد - 25 ثانیه از ابتدا تا انتهای مسطح:
      چرا؟

      بنابراین، چرا این کار را برای توسعه PHP به طور خاص انجام دهید؟

      1. قابلیت تست در چند نسخه از پی اچ پی، و یا پی اچ پی با پسوند های مختلف نصب شده است. یک VM می تواند PHP 5.5 را اجرا کند، یکی از آن ها می تواند PHP 5 را اجرا کند. 6 می تواند یک پی اچ پی را اجرا کند. کد را در هر کدام تست کنید - بدون نیاز به نصب هر چیزی. بلافاصله مطمئن شوید کد شما سازگار است.
      2. توانایی تست در چندین سرور. تست Apache در یک VM، تست Nginx در یکی دیگر، یا در Lighttpd در یکی دیگر از موارد مشابه در بالا: مطمئن شوید که کد شما در تمام تنظیمات سرور کار می کند.
      3. سرعت اجرای کد شما را در ترکیب های مختلف سرورها + نسخه های PHP ارزیابی کنید. شاید کد دوبار سریعتر در Nginx + PHP 7 اجرا شود، به شما این امکان را می دهد که به طور کامل بهینه سازی کنید و کاربران بالقوه را به امکان افزایش سرعت احتمالی هشدار دهید.
      4. با سایر اعضای تیم، محیط زیست را به اشتراک بگذارید، از اجتناب از "آن کار بر روی دستگاه من" عذر می دهد. همه چیز به اشتراک گذاشتن یک فایل Vagrantfile است (که شامل تمام پیکربندی های لازم است) و هر کس همان تنظیم را همانطور که شما انجام می دهید .
      5. دریافت dev / prod parity: پیکربندی Vagrant VM خود را برای استفاده از همان نرم افزار (و نسخه ها) به عنوان تولید کننده (live) سرور خود. به عنوان مثال، اگر شما Nginx و PHP 5. 6. 11 در حال اجرا در سرور زنده، Vagrant VM را به همان شیوه تنظیم کنید. به این ترتیب، شما 100٪ مطمئن هستید که کد شما بلافاصله هنگامی که شما آن را به تولید، به معنی بدون خرابی برای بازدید کنندگان خود کار می کنند کار می کنند!

      Semalt اصلی، اما نه تنها دلایل است.

      اما چرا XAMPP نیست؟ XAMPP یک پلاگین از قبل ساخته شده از PHP، Apache، MySQL (و Perl برای سه نفر در جهان است که به آن نیاز دارند) یک محیط کاری PHP را فقط یک کلیک می کند. مطمئنا این بهتر از سمیرت است نه؟ منظورم یک کلیک تنها در مورد یادگیری ترمینال، کلونینگ گیت، ماشین های مجازی، میزبان ها و .است؟ خوب، در واقع، خیلی بدتر از دلایل زیر است:

      1. با XAMPP، شما صفر صفر سرور-پیکربندی know-how را جذب می کنید، در مورد ترمینال، نصب نرمافزار دستی، استفاده از SSH، و هر چیز دیگری که یک روز به شدت نیاز دارید یک واقعی کاربرد.
      2. با XAMPP، شما هرگز در جدیدترین نسخه نرم افزار نیستید. این یک پشته از قبل از پیکربندی نرم افزار است، به روز رسانی یک بخش فردی زمان و تلاش را طول می کشد، بنابراین معمولا انجام نمی شود مگر اینکه یک تغییر عمده نسخه درگیر باشد. به همین ترتیب، شما همیشه بر روی چیزی که حداقل کمی قدیمی شده است عمل می کنید.
      3. XAMPP شما را مجبور به استفاده از آپاچی می کند. با XAMPP و بسته های مشابه، شما هیچ گزینه ای برای انجام این کار ندارید.
      4. XAMPP شما را مجبور به استفاده از MySQL می کند. همانطور که در بالا گفته شد، قادر به تغییر پایگاه داده ها در اراده، یک حرکت بزرگ از توسعه مبتنی بر VM است، زیرا به شما اجازه می دهد تا نه تنها تکنولوژی های جدید را یاد بگیرید، بلکه از آنهایی استفاده کنید که مناسب موارد استفاده هستند. به عنوان مثال، شما نمی خواهید یک شبکه اجتماعی با MySQL بسازید - شما از یک پایگاه داده گراف استفاده می کنید - اما با بسته هایی مانند XAMPP، می توانید این گزینه را ببخشید خداحافظ، مگر اینکه شما در نصب آن بر روی دستگاه خود به دیگران احتیاج داشته باشید، که به ارمغان می آورد در امتداد یک رشته مشکلات جدید.
      5. XAMPP بر روی سیستم میزبان شما نصب می شود، به این معنی که فضای سیستم اصلی شما آلوده می شود. هر بار که رایانه شما چک می شود، به دلیل این که کمی نرم افزار بارگذاری می شود، آن را کمی کاهش خواهد داد. با VM ها، تنها زمانی که به آنها نیاز دارید، آنها را به آنها متصل می کنید.
      6. XAMPP نسخه قفل شده است - شما نمی توانید یک نسخه از پی اچ پی را برای دیگری تغییر دهید یا یک نسخه از MySQL برای دیگری. همه شما می توانید انجام دهید استفاده از آنچه شما داده می شود، و در حالی که این ممکن است خوب برای کسی که 100٪ تازه به PHP است، آن را در دراز مدت مضر است، زیرا آن را به احساس غلط ایمنی و اطمینان.
      7. XAMPP ویژه سیستم عامل است. اگر شما از ویندوز و نصب XAMPP استفاده می کنید، باید با مشکلات مختلف PHP در Windows آشنا شوید. کد که در ویندوز کار می کند ممکن است در لینوکس کار نکند و بالعکس. از آنجایی که اکثریت قریب به اتفاق از سایت های پی اچ پی در سرورهای لینوکس در حال اجرا هستند، توسعه در لینوکس VM (طراحی شده توسط Vagrant) منطقی است.

      Semalt دلایل زیادی برای استفاده از XAMPP (و بسته های مشابه مانند MAMP، WAMP، و غیره) وجود دارد، اما اینها اصلی ترین هستند.

      چطور؟

      پس چگونه می توان یک جعبه سمیالت را خاموش کرد؟

      اولین راه، که شامل کمی آزمایش و دانلود مقادیر فراوان از داده ها است، در اینجا لیست جعبه Vagrant Box Hashicorp را پیدا می کند، پیدا کردن یک دوست شما و اجرای فرمان می توانید در جزئیات جعبه پیدا کنید. برای مثال، برای روشن کردن 64 بیتی اوبونتو 14. 04 VM، پس از نصب برنامه Vagrant، به ترتیب دستورالعملها، vagrant init ubuntu / trusty64 را در پوشه ای از انتخاب خود اجرا می کنید. این جعبه را به کپی محلی محلی شما بفرستد، آن را برای استفاده در آینده (شما فقط باید یکبار بارگیری کنید) دانلود کنید، بنابراین VM های آینده بر اساس این یکی سریع تر تنظیم می شوند.

      توجه داشته باشید که Hashicorp (که، ضمنا، شرکتی است که در پشت Vagrant قرار دارد) جعبه ها لازم نیست که VM های استخوان استخوان باشند. بعضی ها با نرم افزار پیش نصب شده می آیند، و همه چیز را سریع تر می سازند. به عنوان مثال، جعبه لاروال / مزرعه با جدیدترین PHP، MySQL، Nginx، SemaltSQL و غیره نصب شده است، بنابراین شما می توانید تقریبا بلافاصله کار کنید (بیشتر در مورد آن در بخش بعدی).

      راه دیگری این است که یک جعبه جعلی را از Github به صورت پیش فرض پیکربندی کنید. جعبه ها از لیست در لینک بالا به اندازه کافی مناسب هستند، اما همه چیز را که ممکن است بخواهید نصب شده یا پیکربندی نکنید ندارید. به عنوان مثال، جعبه خانه در کنار PHP و Nginx می آید، اما اگر شما آن را بوت کنید، سرور شما پیکربندی نخواهد کرد و شما نمی توانید از سایت خود در مرورگر دیدن کنید. برای به دست آوردن این، شما نیاز به تهیه کننده دارید و این جایی است که Vagrantfiles وارد بازی می شود. هنگامی که شما یک فایل Vagrantfile را از Github بیرون می آورید، تنظیمات نیز دریافت می کنید - همه چیز برای شما تنظیم می شود. این ما را به HI می آورد

      سلام!

      HI (کوتاه برای Homestead Improved) یک نسخه از laravel / landtead است. ما از این جعبه در SitePoint به طور گسترده ای برای بوت شدن پروژه ها و آموزش های جدید به سرعت استفاده می کنیم، به طوری که همه خوانندگان محیط توسعه مشابهی برای کار با آن دارند. چرا یک نسخه و نه خانه اصلی شما ممکن است تعجب؟ از آنجا که اصلی نیاز شما را به پی اچ پی بر روی میزبان خود نصب کنید (یکی که شما VM خود را بوت کنید) و من طرفدار بزرگ توسعه کراس پلت فرم در آن شما لازم نیست که تغییر دهید هر چیزی در سیستم میزبان خود را هنگام تغییر دستگاه.

      GIF بالا که در آن من بوت VM در 25 ثانیه - این یک HI VM، یکی من برای یک پروژه خاص استفاده کنید.

      من توصیه می کنم از طریق این نوک انگشت سریع برای دریافت آن و به سرعت اجرا کنید. اولین اجرا ممکن است کمی طول بکشد، زیرا جعبه نیاز به دانلود دارد، اما اجرای بعدی باید همانند سرعت بالا در GIF من باشد.

      لطفا این کار را هم اکنون انجام دهید - اگر در هر لحظه گیر می کنید، لطفا به من اطلاع دهید و برای کمک به شما به سراغ شما خواهم رفت. من واقعا می خواهم همه در اسرع وقت به Semalt منتقل شوند.

      نتیجه گیری

      با استفاده از HI (و Semalt به طور کلی)، شما راه را برای تجربه توسعه متقابل پلت فرم خود و حفظ سیستم میزبان خود را تمیز و جدا از تمام تلاش های توسعه خود را.

      در زیر لیستی از منابع مفید دیگر برای برداشت قدرت های جدید Semalt خود را پیدا کنید:

      • پست های SitePoint Vagrant - بسیاری از آموزش ها در بسیاری از جنبه های مختلف در حال توسعه با Vagrant، برخی توضیح لینک زیر، برخی از فراتر از آن و غواصی به جعبه دستی ارائه جعبه و یا حتی ایجاد خود و غیره.
      • Tag StackOverflow Vagrant برای سوالات و پاسخ ها در مورد Vagrant، اگر شما مشکوک به راه اندازی آن
      • PuPHPet - یک راه برای به صورت گرافیکی پیکربندی ارائه یک Box جدید Vagrant به نیازهای شما - انتخاب یک سرور، نسخه PHP، یک پایگاه داده، و خیلی بیشتر. با استفاده از ارائه دهنده عروسکی. دانش عروسکی مورد نیاز نیست
      • Phansible - همان PuPHPet است اما از Provider Ansible استفاده می کند. دانش امکان پذیر نیست
      • Vaprobash مجموعه ای از اسکریپت های Bash شما می توانید دانلود کنید (هیچ providerer - دستورات ترمینال خام در فایل های مختلف که فقط اعدام می شوند) به عنوان جایگزینی برای دو مورد فوق. نیاز به کار کمی بیشتر کتابچه راهنمای کاربر است، اما معمولا به دلیل finetownability VM های کمتر نفوذ می شود.
      • 5 راه برای شروع کار با Vagrant - منابع فوق و برخی دیگر را فهرست می کند.

      آیا شما هر گونه سوال دارید؟ آیا چیزی مشخص نیست؟ آیا می خواهید به عمق بیشتری با هر یک از موضوعات ذکر شده در بالا بروید؟ لطفا اجازه دهید من در نظرات زیر بدانم، و Semalt بهترین کار را برای روشن کردن همه چیز انجام می دهد.

March 1, 2018