گام به گام راهنمای برای استقرار و مدیریت یک برنامه PHP در کارگر بارانداز LAMP، LAPP، و LAOP پشته
به اجرا و مدیریت 9 قالب برنامه پی اچ پی (LAMP، LAPP، و LAOP پشته) در این پروژه در 13 ابرهای مختلف و سیستم عامل های مجازی سازی (از جمله ماکروسافت، اوپناستک، AWS، Rackspace را، مایکروسافت لاجورد، موتور محاسبه گوگل، DigitalOcean، آی بی ام SoftLayer، و غیره)، مطمئن شوید که شما هم:
سفارشی کردن و اجرای هر یک از منتشر قالب کارگر بارانداز PHP برنامه (از جمله لامپ، LAPP، و LAOP پشته) و بسیاری از قالب های دیگر (از جمله چند لایه جاوا پشته نرم افزار، Mongo ها بدل مجموعه ای خوشه ای، دروپال، وردپرس، MEAN.JS، و غیره )
زمینه
Containerizing برنامه های سازمانی است که هنوز هم یک چالش عمدتا به دلیل موجود چارچوب ترکیب نرم افزار انجام وابستگی پیچیده، یکپارچگی خارجی و یا خودکار پوسته پوسته شدن گردش پس از ارائه آدرس نیست. علاوه بر این، طراحی زودگذر ظروف بدان معنی است که توسعه دهندگان به حال به چرخش تا ظروف جدید و دوباره ایجاد وابستگی پیچیده و یکپارچگی خارجی با هر به روز رسانی نسخه.
DCHQ، موجود در نسخه های میزبانی و بر فرض، به تمام این چالش ها و ساده کانتینری از برنامه های شرکت از طریق یک برنامه چارچوب ترکیب پیشرفته است که گسترش کارگر بارانداز نوشتن با محیط cross-تصویر اتصالات متغیر های درب اسکریپت bash پلاگین است که می تواند در زمان درخواست و یا پس از ارائه، و خوشه بندی نرم افزار برای در دسترس بودن بالا در سراسر میزبان های مختلف و یا مناطق با پشتیبانی از پوسته پوسته شدن خودکار استناد شده است.
هنگامی که یک برنامه کاربردی فراهم شده است، یک کاربر می تواند پردازنده، حافظه، نظارت بر و I / O از ظروف در حال اجرا، دریافت اطلاعیه ها و هشدارها، و دسترسی به پشتیبان گیری نرم افزار، مقیاس خودکار در / از گردش، و پلاگین در گردش اعدام به به روز رسانی در حال اجرا ظروف. علاوه بر این، خودکار "برنامه اجرای" اجازه می دهد تا کاربران به ادغام گردش ادغام مداوم خود را به برنامه استقرار ظروف را برای خود شبانه می سازد و یا هر زمان که تغییرات در گیتهاب هم ادغام شدند.
در وبلاگ قبلی، ما در پایان به پایان اتوماسیون کارگیری برنامه های کاربردی جاوا مختلف (مانند برنامه های پیتزا فروشگاه و فروشگاه فیلم) بر روی پشته نرم افزار بر اساس کارگر بارانداز-چند لایه در سراسر 13 ابرهای مختلف و سیستم عامل های مجازی سازی را نشان داد. : برای لیست کامل از این وبلاگ ها، شما می توانید به این صفحه مراجعه http://dchq.co/docker-java-applications.html
با این حال بسیاری از کاربران هنوز هم در برخی از جنبه های اساسی از مدل سازی نرم افزار اشتباه گرفته می شدند. این پرسش ها عبارتند از:
برای پرداختن به این سوال، ما یک نمونه از ایجاد "نام کتاب راهنمای" نرم افزار پی اچ پی در این پروژه github که می تواند در این پشته برنامه مستقر:
در این پروژه، ما یک راهنمای گام به گام برای پیکربندی، استقرار و مدیریت این برنامه پی اچ پی با استفاده از پشته نرم افزار های مختلف و در ابر های مختلف / زیرساخت های مجازی فراهم می کند.
ما را پوشش خواهد داد:
پیکربندی فایل config.php پی اچ پی نرم افزار
شما می توانید این نمونه "نام دایرکتوری" نرم افزار پی اچ پی از GitHub کلون.
این مهم ترین گام در "Dockerizing" نرم افزار پی اچ پی است. به منظور اعمال متغیر های محیط زیست شما می توانید عبور که در حال اجرا ظروف، شما نیاز به مطمئن شوید که نرم افزار خود را در راه است که اجازه خواهد داد که شما را به تغییر خواص معین در زمان درخواست پیکربندی - مانند:
برای رسیدن به این، برای بار اول شما نیاز به پیکربندی فایل config.php .
شما متوجه خواهید شد که ویژگی های خاص داده های سورس اشاره به متغیرهای محیطی زیر خواهد شد که در زمان درخواست به تصویب رسید:
مقدار دهی اولیه پایگاه داده برای پی اچ پی برنامه
ما به طور معمول توصیه مقدار دهی اولیه شمای پایگاه داده به عنوان بخشی از به کارگیری نرم افزار پی اچ پی است. به این ترتیب، شما لازم نیست که در مورد حفظ فایل های جداگانه SQL که نیاز به بر روی پایگاه داده اجرا می شود به طور جداگانه نگران باشید.
با این حال اگر شما در حال حاضر آن دسته از فایل SQL و شما هنوز هم ترجیح می دهند اجرای آنها را بر روی پایگاه داده به طور جداگانه - پس از آن DCHQ تواند به شما کمک این فرایند از طریق چارچوب پلاگین در آن به طور خودکار. شما می توانید اشاره به این بخش برای اطلاعات بیشتر.
به منظور شامل اسکریپت SQL برای ایجاد جداول پایگاه داده در نرم افزار پی اچ پی، شما نیاز به پیکربندی Persistence.php فایل به جمعیت پایگاه داده با استفاده از دستورات SQL مختلف (بسته به پایگاه داده استفاده می شود). تابع populateDatabase () با MySQL، PostgreSQL و اوراکل کار می کند.
ساختمان کارگر بارانداز تصویر با استفاده از پی اچ پی: 5.6-آپاچی
هنگامی که نرم افزار پی اچ پی پیکربندی شده است، شما به سادگی نیاز به ایجاد یک تصویر کارگر بارانداز با کد پی اچ پی خود را.
هنگامی که در به DCHQ وارد (یا DCHQ.io میزبان و یا در فرض نسخه)، کاربر می تواند به حرکت ساخت تصویر و سپس با کلیک بر روی + دکمه برای ایجاد یک جدید Dockerfile (GIT / گیتهاب / BitBucket) تصویر ساخت.
ارائه ارزش های مورد نیاز به شرح زیر:
هنگامی که زمینه های مورد نیاز انجام شد، یک کاربر می تواند با کلیک بر روی ذخیره .
کاربر پس از آن می توانید با کلیک بر روی دکمه بازی برای ساخت تصویر کارگر بارانداز بر روی تقاضا.
در اینجا Dockerfile واقعی مورد استفاده برای ایجاد این تصویر کارگر بارانداز از این مخزن گیتهاب است:
ساختمان-YAML بر اساس قالب برنامه ای که می توانید دوباره مورد استفاده بر روی هر میزبان لینوکس در حال اجرا در هر نقطه
هنگامی که در به DCHQ وارد (یا DCHQ.io میزبان و یا در فرض نسخه)، کاربر می تواند به حرکت برنامه و ماشین آلات و پس از آن با کلیک بر روی + دکمه برای ایجاد یک جدید کارگر بارانداز نوشتن الگو.
ما ایجاد کرده اند 9 قالب نرم افزار با استفاده از تصاویر رسمی از کارگر بارانداز توپی برای همان "نام دایرکتوری" نرم افزار پی اچ پی - اما برای سرور برنامه های مختلف و پایگاه داده.
قالب شامل نمونه هایی از پشته برنامه (برای نرم افزار پی اچ پی همان):
اتصالات متغیر محیطی در سراسر تصاویر
علاوه بر این، کاربر می تواند عبور تصویر اتصالات متغیر محیطی با ساخت یک مرجع به متغیر محیطی تصویر دیگری ایجاد کنید. در این مورد، ما را ساخته اند چند اتصالات - از جمله DB_HOST = {{خروجی زیر | container_private_ip}} - که در آن IP ظرف پایگاه داده به صورت پویا در زمان درخواست حل و استفاده می شود برای اطمینان حاصل شود که آپاچی-PHP سرور می تواند یک اتصال با ایجاد پایگاه داده است.
در اینجا لیستی از مقادیر متغیر محیطی پشتیبانی است:
LAMP پشته (لینوکس آپاچی، خروجی زیر-PHP)LAPP پشته (لینوکس آپاچی PostgreSQL و-PHP)LAOP پشته (لینوکس آپاچی اوراکل-PHP)LAMP پشته (3 لایه از Nginx-PHP-MySQL را)LAPP پشته (3 لایه از Nginx-PHP-PostgreSQL و)LAOP پشته (3 لایه از Nginx-PHP-اوراکل-XE)LAMP پشته (3 لایه ApacheHTTP-PHP-MySQL را)LAPP پشته (3 لایه ApacheHTTP-PHP-PostgreSQL و)LAOP پشته (3 لایه ApacheHTTP-PHP-اوراکل-XE)استناد به یک پلاگین برای مقداردهی اولیه پایگاه داده به طور جداگانه در یک کارگر بارانداز LAMP پشته
ما توصیه می کنیم مقدار دهی اولیه شمای پایگاه داده به عنوان بخشی از به کارگیری نرم افزار پی اچ پی است. با این حال اگر شما هنوز هم ترجیح می دهند اجرای فایل های SQL در پایگاه داده به طور جداگانه - پس از آن DCHQ تواند به شما کمک این فرایند از طریق چارچوب پلاگین در آن به طور خودکار.
در این مثال، MySQL در این LAMP پشته فراخوانی یک اسکریپت bash پلاگین برای اجرای فایل populate.sql. اسکریپت bash پلاگین در با مرور به ایجاد شد پلاگین و به نظر می رسد چیزی شبیه به این:
در این اسکریپت bash پلاگین، $ MYSQL_USER ، $ MYSQL_ROOT_PASSWORD و MYSQL_DATABASE $ متغیر های محیط زیست است که در زمان درخواست منتقل می شود.
$ file_url استدلال overrideable که شما می توانید تعریف هنگام ایجاد پلاگین یا زمانی که درخواست نرم افزار است. این خواهد بود که URL برای فایل populate.sql.
تأمین و خودرو پوسته پوسته شدن زیرساخت های اساسی در هر ابر
هنگامی که یک برنامه ذخیره شده است، کاربر می تواند یک ارائه دهنده ابر ثبت نام به طور خودکار به تأمین و خودکار پوسته پوسته شدن از خوشه در 12 ابر نقاط پایانی مختلف از جمله ماکروسافت، اوپناستک، CloudStack، خدمات وب سایت آمازون، Rackspace را، مایکروسافت لاجورد، DigitalOcean، آی بی ام SoftLayer، موتور محاسبه گوگل، و بسیاری دیگر.
اول، یک کاربر می تواند یک ارائه دهنده ابر برای Rackspace را (به عنوان مثال) با مرور به ثبت نام ابر دهنده و سپس کلیک کردن بر روی + دکمه را انتخاب کنید Rackspace را . نیاز به Rackspace را کلید API ارائه می شود - که می تواند از بخش تنظیمات حساب از کنترل پنل Rackspace ابر بازیابی.
کاربر پس از آن می توانید یک خوشه با یک سیاست مقیاس خودکار به طور خودکار چرخش تا سرور جدید ابر ایجاد کنید. این را می توان با مرور به انجام خوشه صفحه و سپس کلیک بر روی + را فشار دهید. شما می توانید یک سیاست مبتنی بر قرار دادن ظرفیت انتخاب کنید و سپس بافت به عنوان لایه شبکه به منظور تسهیل امن، با کلمه عبور محافظت ارتباطات میان ظرف در سراسر میزبان های مختلف در یک خوشه. سیاست خودکار مقیاس به عنوان مثال، ممکن است به حداکثر تعداد VM (یا ابر سرور) به 10 تنظیم شده است.
یک کاربر می تواند در حال حاضر ارائه تعدادی از ابر سرور در خوشه به تازگی ایجاد شده یا از طریق گردش کار مبتنی بر UI یا با تعریف یک الگو مبتنی بر YAML ماشین نوشتن ساده است که می توان از کتابخانه سلف سرویس درخواست شده است.
گردش کار مبتنی بر UI- - کاربر می تواند سرور Rackspace ابر با مرور به درخواست ماشین آلات و پس از آن با کلیک بر روی + دکمه را انتخاب کنید Rackspace را . هنگامی که ارائه دهنده ابر انتخاب شده است، کاربر می تواند منطقه، اندازه و تصویر مورد نیاز را انتخاب کنید. بنادر به طور پیش فرض بر روی سرور Rackspace ابر باز به جای برخی از الزامات پورت (به عنوان مثال 32،000-59،000 برای کارگر بارانداز، 6783 برای بافت، و 5672 برای از RabbitMQ). خوشه ای است پس از آن انتخاب شده و تعداد از ابر سرور می تواند مشخص شود.
بر اساس YAML ماشین نوشتن الگو - کاربر می تواند برای اولین بار یک قالب ماشین برای نوشتن Rackspace را با مرور به ایجاد ماشین آلات و سپس انتخاب ماشین نوشتن .
در اینجا قالب برای درخواست یک سرور 4GB ابر است.
مربوط به پارامترها برای قالب ماشین نوشتن در زیر خلاصه:
هنگامی که قالب ماشین نوشتن ذخیره شده است، کاربر می تواند این دستگاه از سلف سرویس درخواست کتابخانه . کاربر می تواند با کلیک بر روی سفارشی کردن و پس از آن را انتخاب کنید ارائه دهنده ابر و خوشه به استفاده از برای تأمین این سرویس دهنده Rackspace ابر.
استقرار چند لایه PHP نرم افزار بر روی Rackspace را خوشه
هنگامی که سرور ابر مشروط شده است، یک کاربر می تواند یک چند لایه، برنامه های کاربردی بر اساس کارگر بارانداز-PHP بر روی سرور جدید ابر استقرار. این را می توان با مرور به کتابخانه سلف سرویس و سپس کلیک کردن بر روی سفارشی به درخواست یک برنامه چند لایه انجام می شود.
کاربر می تواند یک برچسب محیط زیست (مانند DEV یا QE) و خوشه Rackspace را قبل از کلیک کردن بر روی Run ایجاد را انتخاب کنید.
دسترسی به در مرورگر در ترمینال در حال اجرا ظروف
آیکون خط فرمان باید در کنار نام ظروف 'در صفحه نرم افزار زنده در دسترس باشد. این اجازه می دهد تا کاربران برای ورود به ظرف با استفاده از یک پروتکل ارتباطی امن از طریق صف پیام عامل. یک لیست سفید از دستورات را می توان با مستأجر محیط مدیریت تعریف شده اطمینان حاصل شود که کاربران به هیچ تغییرات مضر در ظروف در حال اجرا را ندارد.
برای به کارگیری پی اچ پی برای مثال، ما استفاده از خط فرمان مطمئن شوید که کد پی اچ پی است که در واقع تحت / مسیر var / www / HTML / دایرکتوری.
نظارت بر پردازنده، حافظه و من O استفاده / از ظروف در حال اجرا
هنگامی که برنامه و در حال اجرا، توسعه دهندگان ما نظارت بر CPU، حافظه، و I / O از ظروف در حال اجرا برای دریافت هشدار زمانی که این معیارهای تجاوز یک آستانه از پیش تعریف شده. این امر به ویژه زمانی مفید است که توسعه دهندگان ما در حال انجام تست عملکرد و بار.
کاربر می تواند تجزیه و تحلیل نظارت تاریخی انجام و ارتباط مسائل به روز رسانی ظرف و یا ساخت استقرار. این را می توان با کلیک کردن بر روی انجام عملیات منو از برنامه های در حال اجرا و سپس بر روی مانیتورینگ . یک محدوده تاریخ سفارشی را می توان به مشاهده پردازنده، حافظه و I / O در طول تاریخ انتخاب شده است.
فعال کردن ادغام مداوم با استفاده از خودکار برنامه را اجرا کنید
برای توسعه دهندگان که مایل به دنبال مدل "تغییر ناپذیر" ظروف با بازسازی تصاویر کارگر بارانداز حاوی کد برنامه و چرخش تا ظروف جدید با هر به روز رسانی نرم افزار، DCHQ فراهم می کند ساخت تصویر خودکار و خودکار ویژگی های برنامه اجرا است که اجازه می دهد توسعه دهندگان به طور خودکار تصاویر کارگر بارانداز از Dockerfiles ایجاد و یا پروژه های خصوصی گیتهاب حاوی Dockerfiles، و سپس چرخش تا پشته LAMP کامل با استفاده از آخرین تصاویر با برنامه ریزی استقرار نرم افزار و سفارشی اجاره نرم افزار.
همانطور که در تصویر ساخت کارگر بارانداز توضیح بخش ، کاربر می تواند برنامه ریزی دو موازی می سازد برای تصویر پی اچ پی (که بر اساس PHP: 5.6-آپاچی ).
پس از آن کاربر می تواند حرکت به تصویر ایجاد و سپس با کلیک بر روی + دکمه برای ایجاد یک "ماشین آلات برنامه اجرای" سیاست جدید. پس از آن کاربر می تواند تکمیل زمینه مورد نیاز - مانند:
پوسته پوسته شدن پی اچ پی نرم افزار
اگر برنامه در حال اجرا می شود با منابع محدود، کاربر می تواند به مقیاس از نرم افزار برای دیدار بار افزایش می یابد. علاوه بر این، کاربر می تواند مقیاس کردن در ساعات کسب و کار و مقیاس در طول تعطیلات آخر هفته برای مثال برنامه.
به مقیاس از مجموعه ای از ظروف PHP از 1 به 2، کاربر می تواند با کلیک بر روی عملیات منو از برنامه های در حال اجرا و سپس انتخاب مقیاس کردن . کاربر پس از آن می تواند به اندازه جدید برای خوشه مشخص و سپس بر روی اجرا کن .
پس از آن ما با استفاده از BASH پلاگین در به روز رسانی فایل httpd.conf سرویس دهنده وب Apache را به طوری که آن را از سرور نرم افزار جدید اضافه شده آگاه است. اسکریپت bash پلاگین نیز می تواند برنامه ریزی به جای موارد استفاده مانند تمیز کردن سیاهههای مربوط و یا به روز رسانی تنظیمات در فرکانس تعریف شده است.
برای اجرای یک پلاگین در یک ظرف در حال اجرا، کاربر می تواند با کلیک بر روی عملیات منو از برنامه در حال اجرا و پس از آن را انتخاب کنید پلاگین . پس از آن کاربر می تواند انتخاب متعادل کننده بار (سرویس دهنده وب Apache) ظرف، جستجو برای پلاگین که نیاز به اعدام شد، فعال کردن راه اندازی مجدد ظرف با استفاده از دکمه ضامن. استدلال پیش فرض برای این پلاگین در صورت پویا حل و فصل همه ظرف IP از ظروف PHP در حال اجرا و اضافه کردن آنها به عنوان بخشی از فایل httpd.conf.
یک برنامه زمان خط در دسترس است برای پیگیری هر تغییر ایجاد شده در نرم افزار برای حسابرسی و تشخیص. این را می توان از منوی قابل ارتقا در پایین صفحه از یک برنامه در حال اجرا قابل دسترسی است.
هشدارها و اطلاعیه برای زمانی که ظروف یا میزبان پایین و یا زمانی که CPU و حافظه استفاده از هر دو میزبان و یا ظروف بیش از یک حد آستانه تعریف شده در دسترس هستند.
نتیجه گیری
Containerizing شرکت برنامه های PHP است که هنوز هم یک چالش عمدتا به دلیل موجود چارچوب ترکیب نرم افزار انجام وابستگی پیچیده، یکپارچگی خارجی و یا خودکار پوسته پوسته شدن گردش پس از ارائه آدرس نیست.
DCHQ، موجود در نسخه های میزبانی و بر فرض، به تمام این چالش ها و ساده کانتینری از برنامه های شرکت پی اچ پی از طریق یک برنامه چارچوب ترکیب پیش که تسهیل محیط cross-تصویر اتصالات متغیر های درب اسکریپت bash پلاگین است که می توان در استناد درخواست زمان و یا پس از ارائه، و خوشه بندی نرم افزار برای در دسترس بودن بالا در سراسر میزبان های مختلف و یا مناطق با پشتیبانی از پوسته پوسته شدن خودکار.
برای دسترسی به قالب های چند لایه نرم افزار پی اچ پی خارج از جعبه همراه با نرم افزار قابلیت مدیریت چرخه عمر مانند نظارت، به روز رسانی ظرف، مقیاس در / و تحویل مداوم.
|
Tuesday, 19 April 2016
A Step By Step Guide For Deploying & Managing A PHP Application On Docker LAMP, LAPP, And LAOP Stacks
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment