ما المقصود بمكدس LAMP؟
مكدس LAMP عبارة عن حزمة من أربع تقنيات برمجية مختلفة يستخدمها المطورون في إنشاء مواقع وتطبيقات الويب. LAMP هو اختصار لنظام التشغيل Linux، وخادم الويب Apache، وخادم قاعدة البيانات MySQL، ولغة البرمجة PHP. جميع هذه التقنيات الأربعة مفتوحة المصدر، أي أنها تخضع للصيانة المجتمعية ويمكن لأي شخص استخدامها مجانًا. يستخدم المطورون مكدسات LAMP في إنشاء محتوى الويب واستضافته وصيانته. فهو حل شائع يعمل على تشغيل الكثير من مواقع الويب التي تستخدمها بشكل شائع اليوم.
ما سبب أهمية مكدس LAMP؟
يختار مطورو الويب مكدس LAMP لإنشاء تطبيقات الويب للأسباب التالية.
التكلفة
جميع تقنيات LAMP هي تقنيات مفتوحة المصدر، ما يعني أنه يمكن لأي مطور أو شركة استخدامها بدون الحاجة إلى دفع رسوم ترخيص. وبدلاً من شراء مكونات مكدس ذات الملكية الخاصة، يمكنك تنزيل نظام التشغيل وخادم الويب وقاعدة البيانات ولغة البرمجة النصية مجانًا. وهذا يقلل من تكلفة إنشاء تطبيقات الويب.
الكفاءة
يتطلب إعداد مكدس تطوير ويب جديد اختبارات صارمة لمختلف الأطر والوحدات والمكتبات والأدوات. ومن ناحية أخرى، فإن مكدس LAMP هو حل تطوير ويب خضع للتجربة والاختبار. يمكن لمطوري الويب تحديد أولويات تطوير التطبيقات وتسريعها للتركيز على ما يقومون ببنائه وليس على كيفية بنائه.
الصيانة
يساهم خبراء البرمجيات من جميع أنحاء العالم في تطوير تقنيات مكدس LAMP من خلال تغيير التعليمات البرمجية المصدر المتاحة للجمهور والتعليق عليها وتنقيحها. يقومون بصفة دورية بالحفاظ على التقنيات وتحديثها كي تظل ذات صلة وآمنة.
الدعم
تحظى التقنيات الشائعة مفتوحة المصدر، مثل مكدسات LAMP، بدعم مجتمع تكنولوجيا معلومات عالمي وكبير. وبالتالي، يمكن لمستخدمي مكدس LAMP العثور بسهولة أكبر على المعلومات في منتديات تكنولوجيا المعلومات العامة. يمكن لمطوري الويب الرجوع إلى أمثلة التعليمة البرمجية أو استخدام المكونات الإضافية التي خضعت للاختبار التي أنشأها مجتمع المصدر المفتوح.
المرونة
يوفر مكدس LAMP كلاً من الموثوقية والمرونة لمطوري الويب. وبينما تحدد بنية LAMP المكونات البرمجية لكل طبقة، يمكن للمطورين استبدالها كما يرونها مناسبة. على سبيل المثال، يمكنهم استخدام نظام تشغيل آخر إلى جانب Linux كأساس مكدس.
فيمَ يُستخدم مكدس LAMP؟
يُستخدم مكدس LAMP في تطوير الواجهة الخلفية أو جانب الخادم. تطبيق الواجهة الخلفية هو برنامج يعمل في بيئة مخفية عن المستخدمين النهائيين. تتكون تطبيقات الواجهة الخلفية مما يلي:
- برنامج معالجة البيانات
- مكونات قاعدة البيانات
- منطق الأعمال في التعليمة البرمجية
- واجهة برمجة تطبيقات للتواصل مع التطبيقات الأخرى
صفحة الويب التي تظهر على متصفحك تُسمى تطبيق الواجهة الأمامية. عندما تتفاعل مع الصفحة، مثل النقر على زر، يتواصل متصفحك مع تطبيق الواجهة الخلفية لاسترجاع المعلومات المطلوبة.
يستخدم المطورون مكدس LAMP لإنشاء محتوى ويب ثابت وديناميكي.
صفحات الويب الثابتة
معلومات صفحة الويب الثابتة من خادم الويب تكون واحدة بالنسبة لجميع المستخدمين. على سبيل المثال، العنوان الموجود على موقع الشركة هو محتوى ثابت. ينشئ مطورو الويب صفحات ويب ثابتة بلغات برمجة HTML وCSS ويخزنونها كملفات في تطبيق خادم الويب.
صفحات الويب الديناميكية
تحتوي صفحات الويب الديناميكية على معلومات تتغير بناءً على المستخدم الذي يعرض صفحة الويب أو تطبيق الويب. على سبيل المثال، رسالة موقع الويب التي تتغير بناءً على موقعك هي محتوى ديناميكي. يقوم خادم الويب بتقديم مواقع ويب ديناميكية عن طريق معالجة منطق الأعمال أو استرجاع البيانات من قاعدة بيانات.
ما المقصود ببنية LAMP؟
مكدس البرامج هو مجموعة من الأدوات المقسمة إلى طبقات والمكتبات ولغات البرمجة والتقنيات المستخدمة في إنشاء تطبيق وإدارته وتشغيله. يتألف المكدس من مكونات برمجية تدعم التطبيق بطرق مختلفة، مثل التمثيل المرئي وقاعدة البيانات والشبكات والأمان.
وبالمثل، تتكون بنية LAMP من أربع تقنيات برمجية تعمل معًا في الخلفية لإنشاء تطبيق ويب يعمل. يصف كيفية تفاعل كل من تقنيات تطوير الويب هذه مع بعضها البعض في خادم الكمبيوتر. تتكون بنية LAMP من الطبقات التالية.
Linux
Linux هو نظام تشغيل مفتوح المصدر يمكنك تثبيته وتكوينه لتلبية متطلبات التطبيقات المختلفة. يقع Linux في المستوى الأول من مكدس LAMP ويدعم المكونات الأخرى في الطبقات العليا.
Apache
Apache هو خادم ويب مفتوح المصدر يشكل الطبقة الثانية من مكدس LAMP. تقوم وحدة Apache بتخزين ملفات موقع الويب وتبادل المعلومات مع المتصفح باستخدام HTTP، وهو بروتوكول إنترنت لنقل معلومات موقع الويب في نص عادي. على سبيل المثال، عندما يطلب المتصفح صفحة ويب، يقوم الخادم Apache HTTP بما يلي:
- يتلقى الطلب
- يعالج الطلب ويبحث عن ملف الصفحة المطلوبة
- إرسال المعلومات ذات الصلة مرةً أخرى إلى المتصفح
MySQL
MySQL هو نظام لإدارة قواعد البيانات العلائقية مفتوح المصدر وهو الطبقة الثالثة من مكدس LAMP. يستخدم نموذج LAMP نظام MySQL في تخزين المعلومات وإدارتها والاستعلام عنها في قواعد البيانات العلائقية. على سبيل المثال، يقوم المطورون بتخزين بيانات التطبيق، مثل سجلات العملاء والمبيعات وقوائم الجرد. عندما يبحث المستخدم عن معلومات، يستعلم خادم الويب عن البيانات المخزنة في MySQL. الاستعلام يرجع إلى تعليمات خاصة تتعلق بمعالجة البيانات في قاعدة بيانات علائقية بلغة SQL.
PHP
PHP، اختصار للعبارة PHP: Hypertext Preprocessor، هو الطبقة الرابعة والأخيرة من مكدس LAMP. إنها لغة برمجة تسمح لمواقع الويب بتشغيل عمليات ديناميكية. تتضمن العملية الديناميكية معلومات في البرامج تتغير باستمرار. يقوم مطورو الويب بتضمين لغة برمجة PHP في HTML لعرض المعلومات في الوقت الفعلي أو المحدثة على مواقع الويب. يستخدمون PHP للسماح لخادم الويب وقاعدة البيانات ونظام التشغيل بمعالجة الطلبات من المتصفحات بطريقة متسقة.
HTML مقارنةً بـ PHP
يستخدم مطورو الويب HTML في تطوير الواجهة الأمامية، مثل تصميم تخطيط صفحات الويب. وفي الوقت نفسه، يستخدمون PHP في تحديد سلوك مكونات معينة عندما يقوم المستخدمون بتحميل صفحة ويب. على سبيل المثال، يقوم مطورو الويب بتصميم التخطيط الرسومي لكتالوج المنتجات عبر الإنترنت باستخدام HTML. ثم يستخدمون كود PHP في استرجاع أحدث سعر للمنتج من خادم الواجهة الخلفية.
ما كيفية عمل مكدس LAMP؟
تستخدم تطبيقات الويب مكدس LAMP للرد على الطلبات الواردة من متصفحات الويب. يعمل خادم ويب Apache وقاعدة بيانات MySQL على نظام التشغيل Linux ويتواصلان باستخدام PHP. عند فتح صفحة ويب في متصفح، يمر مكدس LAMP بالعملية التالية.
يستقبل الطلبات
يتلقى خادم ويب Apache الطلب الوارد من المتصفح. إذا كان الطلب هو تحميل ملف ثابت، فإن خادم Apache يستجيب مباشرةً بالمحتوى المناسب. إذا كان الطلب للمحتوى الديناميكي، يقوم خادم Apache بتمرير الطلب إلى مكون PHP. يقوم مكون PHP بالعثور على ملف PHP المناسب الذي يمكنه معالجة الطلب وتحميله.
طلبات العمليات
يحتوي ملف PHP على وظائف PHP التي تعد تعليمات برمجية لإنشاء محتوى ديناميكي. يعالج مكون PHP وظائف PHP، مثل تحويل وحدات القياس أو إنشاء مخطط مبيعات. قد تتطلب بعض وظائف PHP معلومات من قاعدة البيانات. في مثل هذه الحالات، تسترجع تعليمة PHP البرمجية المعلومات المخزنة من قاعدة البيانات وتستخدمها في معالجة الوظيفة.
إرجاع الاستجابات
يقوم PHP بتمرير النتائج المحسوبة إلى خادم الويب بتنسيق HTML. في الوقت نفسه، يقوم أيضًا بتخزين البيانات الجديدة في قاعدة بيانات MySQL. يقوم خادم Apache HTTP بإرسال نتائج HTML الديناميكية إلى متصفح المستخدم.
ما المقصود ببدائل LAMP؟
بدائل LAMP، أو متغيرات LAMP، هي تقنيات تطوير الواجهة الخلفية التي تستخدم مكونات مختلفة عن تلك المحددة في بنية LAMP. على سبيل المثال، قد يستخدم مطورو الويب خوادم ويب أخرى بدلاً من Apache لتلقي الطلبات ومعالجتها من تطبيقات الواجهة الأمامية. قد تستخدم بعض بدائل LAMP مكونات خاصة، مثل أنظمة التشغيل المرخصة.
لغات البرمجة النصية البديلة
في حين أن PHP هي لغة البرمجة النصية الافتراضية لمكدس LAMP، يمكن للمطورين استبدالها بـ Perl أو Python.
Perl
Perl هي لغة برمجة موجودة منذ أكثر من 30 عامًا. يستخدم المطورون Perl في تطوير الويب لأنه يعمل بشكل جيد مع تكامل قواعد البيانات ولديه أطر تساعد في التطوير. الأطر هي أدوات برمجية تحتوي على مكونات تم اختبارها جيدًا تعمل على تسريع تطوير التطبيقات.
Python
Python هي لغة برمجة عالية المستوى تختص ببناء أنواع مختلفة من البرامج، بما في ذلك تطبيقات الويب. يستخدم المطورون Python في تطوير الويب لأنها بسيطة وسهلة الفهم.
ما المقصود بمكدس MEAN؟
MEAN هي اختصار للعبارة MongoDB, Express.js, Angular.js, and Node.js. وهو بديل لـ LAMP ومبني على تقنيات JavaScript. JavaScript هي لغة برمجة لتطوير الواجهة الخلفية والواجهة الأمامية. فيما يلي أدوار مكونات مكدس MEAN:
- MongoDB هي قاعدة بيانات تعمل بشكل جيد مع JSON، وهو نوع من جافا JavaScript خاص بقراءة البيانات.
- Express.js هو إطار عمل يوفر أدوات مفتوحة المصدر خاص ببناء تطبيقات الواجهة الخلفية.
- Node.js عبارة عن نظام أساسي يقوم بتشغيل تطبيقات JavaScript.
- Angular.js هو إطار مفتوح المصدر لتطوير تطبيقات الواجهة الأمامية.
مكدس MEAN مقارنةً بمكدس LAMP
مكدسات MEAN وLAMP هي مكدسات برمجية مفتوحة المصدر رائعة لأنواع مختلفة من تطبيقات الويب. مكدس MEAN مناسب لتطبيقات الويب التي تتضمن معالجةً منطقيةً كثيفةً على الواجهة الأمامية. وفي الوقت نفسه، يُعد مكدس LAMP رائعًا لمواقع الويب المعقدة واسعة النطاق التي تتعامل مع حركة المرور الكثيفة. على سبيل المثال، يستخدم المطورون مكدس MEAN في إنشاء تطبيق ويب لتدفق الفيديو ولكنهم يختارون مكدس LAMP لتطبيق ويب خاص بالتجارة الإلكترونية.
كيف تساعد AWS في تطوير مكدس LAMP؟
يمكنك استخدام Amazon Lightsail في تطوير ونشر وإدارة تطبيقات مكدس LAMP على AWS. مع Lightsail، يمكنك القيام بما يلي:
- نشر تطبيقات مكدس LAMP بشكل أسرع.
- يمكنك دمج مشروعك مع أكثر من 90 خدمة من خدمات AWS.
- يمكنك توسعة نطاق مشروعات Lightsail من خلال الترقية والترحيل إلى Amazon Elastic Container Service (Amazon ECS).
ابدأ استخدام مكدسات LAMP على AWS من خلال إنشاء حساب AWS مجاني اليوم.