خطوة خطوة الدليل لنشر وإدارة وPHP التطبيق على عامل الميناء مصباح، لاب، وLAOP الأكوام
لتشغيل وإدارة 9 القوالب PHP التطبيق (LAMP، لاب، وLAOP الأكوام) في هذا المشروع في 13 الغيوم المختلفة، ومنصات الافتراضية (بما في ذلك vSphere، أوبن ستاك، AWS، راك سبيس، مايكروسوفت أزور أجهزة Google Compute Engine، DigitalOcean، آي بي إم SOFTLAYER، وما إلى ذلك)، تأكد من أنك إما:
تخصيص وتشغيل أي من القوالب المنشورة عامل الميناء PHP تطبيق (بما في ذلك LAMP، لاب، وLAOP الأكوام) والعديد من النماذج الأخرى (بما في ذلك متعددة المستويات جافا مداخن التطبيق، مونجو مجموعة النسخ المتماثلة العنقودية، دروبال، وورد، MEAN.JS، الخ )
خلفية
Containerizing تطبيقات المؤسسات لا يزال يشكل تحديا لأن معظمهم الأطر تكوين التطبيقات الموجودة لا تعالج تبعيات المعقدة، التكامل الخارجية أو السيارات القشور سير العمل في مرحلة ما بعد الحكم. وعلاوة على ذلك، وتصميم سريع الزوال الحاويات يعني أن المطورين زيارتها للدوران حاويات جديدة وإعادة إنشاء تبعيات معقدة والتكامل الخارجية مع كل إصدار التحديث.
DCHQ، وهي متاحة في استضافتها والإصدارات على فرضية، يعالج كل هذه التحديات ويبسط الحاويات من تطبيقات المؤسسات من خلال تكوين إطار تطبيق المتقدمة التي تمتد عامل الميناء يؤلف مع البيئة عبر صورة الارتباطات المتغيرة، للمد باش سكريبت المكونات الإضافية التي يمكن أن تكون الاحتجاج في وقت الطلب أو بعد الحكم، وتجميع طلب توافر عالية عبر المضيفين أو مناطق متعددة مع تخفيض الدعم لصناعة السيارات.
مرة واحدة يتم توفير تطبيق، يمكن للمستخدم مراقبة وحدة المعالجة المركزية، الذاكرة، وI / O للحاويات على التوالي، الحصول على تنبيهات وتحذيرات، والحصول على النسخ الاحتياطي تطبيق على نطاق والتلقائي داخل / خارج سير العمل، والمكونات في سير العمل تنفيذ ل تحديث تشغيل الحاويات. وعلاوة على ذلك، الآلي "التطبيق تشغيل" يسمح للمستخدمين لدمج سير العمل التكامل المستمر لجدولة نشر الحاويات الخاصة بهم ليلا يبني أو كلما يتم دمج التغييرات في جيثب.
في بلوق السابقة، أثبتنا أتمتة نشر نهاية إلى نهاية مختلف تطبيقات جافا (مثل بيتزا محل ومخزن الفيلم التطبيقات) على أكوام التطبيقات المستندة إلى عامل الميناء، متعدد المستويات عبر 13 الغيوم المختلفة ومنصات الافتراضية. للحصول على قائمة كاملة من هذه بلوق، يمكنك زيارة هذه الصفحة: http://dchq.co/docker-java-applications.html
ولكن العديد من المستخدمين لا يزالون الخلط في بعض الجوانب الأساسية لنمذجة الطلب. وتشمل هذه الأسئلة:
لمعالجة هذه المسائل، أنشأنا عينة "أسماء دليل" تطبيق PHP في هذا المشروع جيثب التي يمكن نشرها على هذه المداخن التطبيق:
في هذا المشروع، وسوف نقدم دليل خطوة بخطوة لتكوين ونشر وإدارة هذا التطبيق PHP باستخدام أكوام التطبيقات المختلفة وعلى سحابة مختلفة / البنية التحتية الافتراضية.
وسوف تشمل ما يلي:
تكوين ملف config.php وPHP التطبيق
يمكنك استنساخ هذا النموذج "أسماء دليل" تطبيق PHP من جيثب.
هذه هي الخطوة الأكثر أهمية في "Dockerizing" تطبيق الخاص بي. من أجل الاستفادة من متغيرات البيئة التي يمكن أن تمر عند تشغيل الحاويات، وسوف تحتاج للتأكد من أن يتم تكوين التطبيق الخاص بك في وسيلة من شأنها أن تسمح لك بتغيير خصائص معينة في وقت الطلب - مثل:
ولتحقيق ذلك، سوف تحتاج أولا لتكوين ملف config.php .
ستلاحظ أن خصائص محددة المصدر بيانات يتم الرجوع إلى متغيرات البيئة التالية التي سيتم تمريرها على وقت الطلب:
تهيئة قاعدة بيانات للPHP التطبيق
وعادة نوصي تهيئة المخطط قاعدة البيانات كجزء من نشر PHP التطبيق نفسه. بهذه الطريقة، لم يكن لديك ما يدعو للقلق بشأن الحفاظ على الملفات SQL منفصلة التي تحتاج ليتم تنفيذها على قاعدة البيانات بشكل منفصل.
ولكن إذا كان لديك بالفعل تلك الملفات SQL وكنت لا تزال تفضل تنفيذها على قاعدة البيانات بشكل منفصل - ثم DCHQ يمكن أن تساعدك على أتمتة هذه العملية من خلال إطار المكونات في ل. يمكنك الرجوع إلى هذا القسم للمزيد من المعلومات.
من أجل إدراج البرامج النصية SQL لإنشاء جداول قاعدة البيانات في تطبيق PHP، سوف تحتاج إلى تكوين Persistence.php ملف لتجميع قاعدة بيانات باستخدام عبارات SQL مختلفة (اعتمادا على قاعدة البيانات المستخدمة). وتعمل وظيفة populateDatabase () مع MySQL، الإنترنت وأوراكل.
بناء وعامل الميناء صورة باستخدام PHP: 5.6 أباتشي
وبمجرد تكوين التطبيق PHP، لكم ببساطة الحاجة لخلق صورة عامل الميناء مع رمز PHP الخاص بك.
بمجرد تسجيل الدخول إلى DCHQ (إما DCHQ.io استضافت أو إصدار على فرضية)، يمكن للمستخدم التنقل إلى بناء صورة ثم انقر على + زر لخلق جديد Dockerfile (جيت / جيثب / BitBucket) صورة البناء.
توفير القيم المطلوبة على النحو التالي:
وبمجرد الانتهاء من الحقول المطلوبة، يمكن للمستخدم النقر حفظ .
ثم يمكن للمستخدم النقر على زر التشغيل لبناء صورة عامل الميناء عند الطلب.
وهنا Dockerfile الفعلية المستخدمة لبناء هذه الصورة عامل الميناء من هذا المخزون جيثب:
بناء قوالب التطبيقات المستندة إلى YAML الذي يمكن إعادة استخدامها في أي لينكس مضيف يعمل في أي مكان
بمجرد تسجيل الدخول إلى DCHQ (إما DCHQ.io استضافت أو إصدار على فرضية)، يمكن للمستخدم التنقل إلى التطبيقات وآلة وثم انقر على + زر لخلق الجديد عامل الميناء يؤلف القالب.
لقد أنشأنا 9 قوالب تطبيق باستخدام الصور الرسمية من عامل الميناء محور لنفس "أسماء دليل" تطبيق PHP - ولكن لخوادم التطبيقات المختلفة وقواعد البيانات.
وتشمل القوالب أمثلة من مداخن التطبيق التالي (لنفس التطبيق PHP):
الربط متغير البيئة عبر الصور
بالإضافة إلى ذلك، يمكن للمستخدم إنشاء صورة عبر ربط متغير البيئة بالإشارة إلى متغير بيئة صورة آخر. في هذه الحالة، وحققنا العديد من الارتباطات - بما في ذلك DB_HOST = {{ماي | container_private_ip}} - في التي يتم حل IP حاوية قاعدة البيانات بشكل حيوي في وقت الطلب، ويستخدم للتأكد من أن أباتشي، PHP Server يمكن تأسيس اتصال مع قاعدة البيانات.
وهنا لائحة من القيم متغير البيئة المعتمدة:
مصباح المكدس (لينكس اباتشي-ماي-PHP)لاب المكدس (لينكس اباتشي-كيو-PHP)LAOP المكدس (لينكس أباتشي أوراكل-PHP)مصباح المكدس (3-المستوى إنجن إكس-بي-الخلية)لاب المكدس (3-المستوى إنجن إكس-بي-كيو)LAOP المكدس (3-المستوى إنجن إكس-بي-أوراكل XE)مصباح المكدس (3-المستوى ApacheHTTP-PHP-الخلية)لاب المكدس (3-المستوى ApacheHTTP-PHP-كيو)LAOP المكدس (3-المستوى ApacheHTTP-PHP-أوراكل XE)استدعاء المكونات في تهيئة قاعدة البيانات على نحو منفصل على عامل الميناء مصباح المكدس
نوصي تهيئة المخطط قاعدة البيانات كجزء من نشر PHP التطبيق نفسه. ولكن إذا كنت لا تزال تفضل تنفيذ ملفات SQL على قاعدة البيانات بشكل منفصل - ثم DCHQ يمكن أن تساعدك على أتمتة هذه العملية من خلال إطار المكونات في ل.
في هذا المثال، الخلية في هذا المكدس مصباح هو الاحتجاج باش سكريبت في المكونات لتنفيذ الملف populate.sql. تم إنشاء المكونات في البرنامج النصي باش قبل الانتقال إلى بلج-إنس ويبدو أن شيئا من هذا القبيل:
في هذا السيناريو باش في المكونات، $ MYSQL_USER ، $ MYSQL_ROOT_PASSWORD ، و $ MYSQL_DATABASE متغيرات البيئة التي تم تمريرها في وقت الطلب.
$ FILE_URL حجة يمكن تجاوز ذلك يمكنك تحديد عند إنشاء المكونات في أو عند طلب التطبيق. وستكون هذه هي URL لملف populate.sql.
المخصصات والسيارات وتوسيع نطاق البنية التحتية الكامنة في أي الغيمة
مرة واحدة يتم حفظ التطبيق، يمكن للمستخدم تسجيل مزود الغيمة لأتمتة التوفير والسيارات القشور من مجموعات في 12 مختلفة سحابة نهاية نقاط بما في ذلك برنامج VMware vSphere، أوبن ستاك، CloudStack، خدمات ويب الأمازون، راك سبيس، مايكروسوفت أزور، DigitalOcean، آي بي إم SOFTLAYER أجهزة Google Compute Engine، وغيرها الكثير.
أولا، يمكن للمستخدم تسجيل موفر الغيمة لراك سبيس (على سبيل المثال) من خلال الانتقال إلى مقدمي سحابة ثم النقر على + زر لتحديد راك سبيس . يلزم توفير واجهة برمجة التطبيقات مفتاح راك سبيس - التي يمكن الاطلاع عليها من قسم إعدادات الحساب من لوحة التحكم راك سبيس الغيمة.
ثم يمكن للمستخدم إنشاء كتلة مع سياسة السيارات على نطاق تدور تلقائيا خوادم سحابة جديدة. ويمكن أن يتم ذلك عن طريق الانتقال إلى مجموعات الصفحة، ثم النقر على + زر. يمكنك تحديد سياسة التوظيف القائم على القدرات وثم نسج كطبقة الشبكات من أجل تسهيل آمن، محمي بكلمة مرور الاتصالات عبر الحاويات عبر المضيفين متعددة ضمن كتلة. في السياسة السيارات النطاق على سبيل المثال، قد تحدد الحد الأقصى لعدد من VM (أو الخوادم السحابية) إلى 10.
ويمكن للمستخدم الآن توفير عدد من الخوادم السحابية على الكتلة التي تم إنشاؤها حديثا سواء من خلال العمل القائم على واجهة المستخدم أو عن طريق تحديد قالب آلة يؤلف القائم YAML بسيطة يمكن أن يطلب من مكتبة الخدمة الذاتية.
سير العمل القائمة على واجهة المستخدم - يمكن للمستخدم أن يطلب خوادم راك سبيس الغيمة قبل الانتقال إلى آلات وثم النقر على + زر لتحديد راك سبيس . مرة واحدة يتم تحديد مزود الغيمة، يمكن للمستخدم تحديد المنطقة، حجم والصور اللازمة. يتم فتح منافذ افتراضيا على خوادم راك سبيس الغيمة لتلبية بعض متطلبات ميناء (على سبيل المثال 32000-59000 للعامل الميناء، 6783 لنسج، وعن 5672 RabbitMQ). ثم يتم اختيار العنقودية ويمكن تحديد عدد من خوادم الغيمة.
آلة يؤلف قالب استنادا YAML- - يمكن للمستخدم أولا إنشاء قالب آلة التأليف لراك سبيس قبل الانتقال إلى آلات وثم اختيار آلة يؤلف .
وإليك نموذج لطلب خادم 4GB الغيمة.
وفيما يلي ملخص معلمات المعتمدة للقالب آلة يؤلف:
مرة واحدة يتم حفظ قالب آلة إنشاء، يمكن للمستخدم طلب هذا الجهاز من الخدمة الذاتية مكتبة . ويمكن للمستخدم النقر تخصيص ثم حدد مزود الغيمة و العنقودية لاستخدامها في التقديم هذه خوادم راك سبيس الغيمة.
نشر ومتعدد المستويات تطبيق PHP على الكتلة راك سبيس
مرة واحدة يتم توفيرها ملقمات الغيمة، يمكن للمستخدم نشر متعدد المستويات، PHP التطبيقات القائمة على عامل الميناء على ملقمات سحابة جديدة. ويمكن أن يتم ذلك عن طريق الانتقال إلى مكتبة الخدمة الذاتية ومن ثم النقر على تخصيص لطلب تطبيق متعدد المستويات.
ويمكن للمستخدم حدد علامة البيئة (مثل DEV أو QE) والكتلة راك سبيس إنشاؤها قبل النقر على تشغيل.
الوصول إلى وفي متصفح محطة للحاويات الجري
وينبغي أن يكون رمز موجه الأوامر المتوفرة بجانب أسماء الحاويات في صفحة لايف تطبيقات. وهذا يسمح للمستخدمين بإدخال الحاوية باستخدام بروتوكول اتصال آمن من خلال قائمة انتظار رسالة وكيل. يمكن تعريف القائمة البيضاء من الأوامر من جانب الادارة المستأجر لضمان أن المستخدمين لا تجعل أي التغييرات الضارة على الحاويات التوالي.
لنشر PHP على سبيل المثال، استخدمنا موجه الأوامر للتأكد من أن شفرة PHP هو في الواقع تحت / فار / على شبكة الاتصالات العالمية / أتش تي أم أل / الدليل.
مراقبة وحدة المعالجة المركزية، وذاكرة وأنا يا استخدام / الحاويات الجري
مرة واحدة في التطبيق وتشغيلها، والمطورين لدينا مراقبة وحدة المعالجة المركزية، الذاكرة، وI / O للحاويات التوالي للحصول على تنبيهات عندما تتجاوز هذه المقاييس عتبة محددة مسبقا. وهذا مفيد خصوصا عندما المطورين لدينا يؤدون الاختبارات الوظيفية والحمل.
ويمكن للمستخدم إجراء تحليل الرصد التاريخي وترتبط القضايا إلى تحديثات الحاوية أو بناء نشر. ويمكن القيام بذلك عن طريق النقر على تطبيقات القائمة على تطبيق تشغيل، ثم على الرصد . يمكن تحديد نطاق زمني مخصص لعرض وحدة المعالجة المركزية والذاكرة وI / O تاريخيا.
تمكين والتكامل المستمر عن طريق الآلي التطبيقات تشغيل
للمطورين الذين يرغبون في اتباع نموذج حاويات "غير قابل للتغيير" عن طريق إعادة بناء الصور عامل الميناء تحتوي على رمز التطبيق والغزل حتى حاويات جديدة مع كل تحديث التطبيق، يوفر DCHQ على بناء صورة الآلي والآلي ميزات التطبيق التشغيل التي تسمح للمطورين لإنشاء صور عامل الميناء من Dockerfiles تلقائيا أو مشاريع جيثب خاصة التي تحتوي على Dockerfiles، ثم تدور فوق مداخن LAMP كامل باستخدام أحدث الصور عن طريق وضع جدول زمني لنشر التطبيقات وتخصيص عقد الإيجار التطبيق.
كما هو موضح في الصورة بناء عامل الميناء القسم ، يمكن للمستخدم جدولة يبني اتجاهين متوازيين للصورة PHP (التي تقوم على فب: 5.6 اباتشي ).
ويمكن للمستخدم ثم انتقل إلى يبني صورة ثم انقر على + زر لخلق سياسة جديدة "الآلي التطبيقات تشغيل". ويمكن للمستخدم ثم أكمل الحقول المطلوبة - مثل:
التوسع خارج وPHP التطبيق
إذا يصبح التطبيق قيد التشغيل محدودة الموارد، يمكن للمستخدم لتوسيع نطاق من التطبيق لتلبية زيادة الحمولة. وعلاوة على ذلك، يمكن للمستخدم جدولة نطاق من خلال ساعات العمل، وعلى نطاق وفي خلال عطلة نهاية الأسبوع على سبيل المثال.
لتوسيع نطاق خارج الكتلة الحاويات PHP 1-2، يمكن للمستخدم النقر على تطبيقات القائمة على تطبيق تشغيل ثم حدد مقياس خارج . ويمكن للمستخدم ثم تحديد الحجم الجديد للمجموعة، ثم انقر على تشغيل الآن .
ثم استخدمنا باش المكونات في تحديث ملف httpd.conf اباتشي خادم HTTP بحيث انها على علم خادم التطبيق الجديد المضافة. ويمكن أيضا أن من المقرر أن تستوعب حالات الاستخدام مثل تنظيف سجلات أو تحديث تكوينات على ترددات محددة السيناريو باش المكونات الإضافية.
لتنفيذ المكونات في وعاء على التوالي، يمكن للمستخدم النقر على تطبيقات القائمة على التطبيق قيد التشغيل ثم حدد المكونات الإضافية . ويمكن للمستخدم ثم حدد موازن التحميل (أباتشي خادم HTTP) حاوية، والبحث عن المكونات التي يجب تنفيذها، يمكن إعادة تشغيل الحاويات باستخدام زر تبديل. والوسيطة الافتراضية لهذه المكونات في حل حيوي عن الحاوية IP للتشغيل حاويات PHP وإضافتها كجزء من ملف httpd.conf.
وقت خط التطبيق متاح لتتبع كل تغيير يطرأ على طلب التدقيق والتشخيص. هذا ويمكن الوصول إليها من القائمة قابلة للتوسيع في أسفل الصفحة من تطبيق تشغيل.
متاحة للعندما حاويات أو المضيفين منخفضة أو عندما يتجاوز وحدة المعالجة المركزية والذاكرة استخدام أي من المضيفين أو حاويات عتبة محددة التنبيهات والإشعارات.
استنتاج
Containerizing تطبيقات PHP الشركة لا يزال يشكل تحديا لأن معظمهم الأطر تكوين التطبيقات الموجودة لا تعالج تبعيات المعقدة، التكامل الخارجية أو السيارات القشور سير العمل في مرحلة ما بعد الحكم.
DCHQ، وهي متاحة في استضافتها والإصدارات على فرضية، يعالج كل هذه التحديات ويبسط الحاويات من تطبيقات المؤسسات PHP من خلال تكوين إطار تطبيق مسبقا التي تسهل البيئة عبر صورة الارتباطات المتغيرة، للمد باش سكريبت المكونات الإضافية التي يمكن الاستناد إليها في طلب وقت أو بعد الحكم، وتجميع طلب توافر عالية عبر المضيفين أو مناطق متعددة مع تخفيض الدعم لصناعة السيارات.
للوصول إلى نماذج متعددة المستويات PHP تطبيق خارج من مربع جنبا إلى جنب مع تطبيق وظيفة إدارة دورة حياة مثل الرصد والتحديثات الحاويات، وعلى نطاق داخل / خارج والتسليم المستمر.
|
Tuesday, 19 April 2016
A Step By Step Guide For Deploying & Managing A PHP Application On Docker LAMP, LAPP, And LAOP Stacks
Subscribe to:
Comments (Atom)