كومة المصباح هي وصف لمكوناتها. صور VDS سحابية مخصصة للنشر السريع لخوادم LAMP. تسجيل جميع محاولات إعادة التوجيه

في هذه المقالة ، سننظر في مجموعة برامج مجانية وموزعة مجانًا تسمى LAMP. كيف يتم فك هذا الاختصار بشكل صحيح؟ يتكون من 4 تقنيات شائعة موجودة في هذه الحزمة:لينكس- نظام التشغيل؛- قاعدة بيانات للانترنت؛MySQL- نظم إدارة قواعد البيانات ؛ - لغة برمجة تُستخدم لإنشاء موارد الويب.

يتم تثبيت مجموعة البرامج هذه على خادم لعرض مواقع الويب الديناميكية وتطبيقات الويب. يتيح لك هذا النظام الأساسي تثبيت (نشر) معظم أنواع مواقع الويب وبرامج الشبكة على الخادم الخاص بك.

تركيبة LAMP هي:

  1. نظام تشغيل خادم Linux لأداء المهام اللازمة ؛
  2. خادم الويب Apache ، والذي تم من أجله إنشاء العديد من الوحدات الإضافية التي تحل مشكلة العمل المشترك لخادم الويب والنصوص المكتوبة بلغات برمجة مختلفة ؛
  3. لغة البرمجة النصية الديناميكية من جانب الخادم PHP (أو Perl) ؛
  4. MySQL DBMS ، الذي يوضح أداء استعلام SQL ممتازًا ومثاليًا للمشاريع الصغيرة والمتوسطة الحجم. تعمل MySQL وهي سهلة الاستخدام بشكل خاص.

لماذا قد تحتاج إلى LAMP؟

  • إذا كنت بحاجة إلى بيئة لتطوير الويب واختبار التطبيقات المكتوبة لبرنامج LAMP. هذا ينطبق على كل من التطبيقات الخاصة بك وأي نظام إدارة محتوى تحتاجه. يمكنك العمل على Windows و Ubuntu ؛
  • إذا كنت بحاجة إلى إنشاء خادم ويب منتج لاستضافة مشاريعك على خادم مخصص أو عليه ؛
  • إذا كنت بحاجة إلى خادم لأنظمة التحكم في الإصدار ؛
  • لإدارة التعلم الذاتي ؛
  • لأغراض اقتصادية ، لإنشاء الخادم الخاص بك.

كيف ثقيل الاستفادة من هذا التجمع : يعد هذا أمرًا رائعًا لنشر أحد التطبيقات بسرعة ، نظرًا لتكوينه البسيط ، ولكنه لا يزال يقدم بعض الميزات من حيث قابلية التوسع وعزل المكونات.

ضمن عيوب مثل هذا التجمع يجب إبراز ما يلي:

يستخدم التطبيق وقاعدة البيانات نفس موارد الخادم (وحدة المعالجة المركزية ، والذاكرة ، والإدخال / الإخراج ، وما إلى ذلك) ، مما يؤدي إلى ضعف الأداء ويجعل من الصعب تحديد المصدر (التطبيق أو قاعدة البيانات) لهذه المشكلة. هناك أيضًا عقبات في تنفيذ القياس الأفقي.

تثبيت LAMP (Linux + Apache + MySQL + PHP / Perl / Python) هو خيار يستخدم على نطاق واسع لإعداد الخوادم مع Ubuntu. يوجد عدد كبير من التطبيقات مفتوحة المصدر ومكتوبة باستخدام مكدس تطبيق LAMP. تطبيقات LAMP الشائعة هي موسوعات wiki وأنظمة إدارة المحتوى (CMS) وتطبيقات الإدارة مثل phpMyAdmin.

من المزايا المهمة لبرنامج LAMP المرونة في اختيار قواعد البيانات وخوادم الويب ولغات البرمجة النصية. البدائل الحالية لـ MySQL هي PostgreSQL و SQLite. يمكن استبدال Python و Perl و Ruby بـ PHP. و Nginx و Cherokee و Lighttpd بدائل لأباتشي.

يستخدم Taskel لتثبيت LAMP بسرعة. Tasksel هي أداة Debian / Ubuntu تقوم بتثبيت حزم تابعة متعددة على نظامك كمهمة واحدة.

اذا احتجتقم بإعداد LAMP على خوادم VPS الخاصة بنا اتصل بالدعم الفني على مدار الساعة طوال أيام الأسبوع! شركة Hyper Host ™أتمنى لكم عملا ممتعا!

التقنيات التي تدعمها استضافة HyperHost بمزيد من التفاصيل.

9946 مرات 2 مرات المشاهدة اليوم

إنها توفر لمستخدميها فرصًا رائعة لإنشاء مواقع الويب وتخزينها على خادم واختبارها. ربما سمع الكثيرون أن التكوين الصحيح لـ Apache و MySQL يسمح لك بالعمل بشكل ملائم مع الخوادم. حان الوقت للتعرف على LAMP ، الذي يوحدهم جميعًا ، وكذلك فهم كيفية تثبيت وتكوين خادم LAMP في Ubuntu.

يتيح لك تثبيت LAMP إنشاء خادم ويب.

LAMP ليس برنامجًا كما قد يظن المرء في البداية ، كما أنه ليس خادمًا. يخفي هذا الاختصار مكدسًا أو مجموعة من البرامج من جانب الخادم: Apache و MySQL و PHP. ومن هنا الاسم - الأحرف الأولى من كل من هذه البرامج. الحرف الأول مأخوذ من لينكس.

تعرف على المزيد حول المكونات.

  • Apache هو خادم HTTP مجاني.
  • MySQL هو نظام إدارة قواعد بيانات قوي ومجاني أيضًا. تستخدم في العديد من المواقع.
  • PHP هي لغة برمجة. غالبًا ما يتم كتابة تطبيقات الويب المختلفة عليه.

كل هذه البرامج مفيدة ولا غنى عنها تقريبًا لاستضافة مواقع الويب على الويب. يبقى أن نتعلم كيفية تثبيته واستخدامه.

تركيب LAMP

يتم تثبيت LAMP بعدة طرق. نظرًا لأن هذه مجموعة معقدة من البرامج ، يمكنك تنزيل كل منها على حدة ، ولكن من الأنسب القيام بذلك معًا. للقيام بذلك ، من الأسهل استخدام Tasksel:

sudo مهام تثبيت خادم المصباح

Tasksel هي أداة خاصة مثبتة على Ubuntu تسهل تحميل حزم البرامج المختلفة في النظام. أثناء التثبيت ، سيطلب منك النظام إدخال كلمة مرور لـ MySQL. يجب ان يتم انهائه.

إزالة

يمكنك أيضًا إزالة المكدس بالكامل باستخدام أمر واحد:

sudo مهام إزالة خادم المصباح

سيتم تثبيت جميع المكونات: PHP 7 و Apache و MySQL. لمزيد من العمل المريح ، تتم إضافة البرامج إلى بدء التشغيل. إذا كنت تريد تغيير ذلك ، فقم بذلك من خلال الإعدادات: النظام - الخيارات - تطبيقات بدء التشغيل. هناك ، قم ببساطة بإزالة مكونات المصباح.

التثبيت والإعداد

ومع ذلك ، فإن الأغلبية ، على الأرجح ، ترغب في الحصول على الفور على اختبار على الأقل ، ولكن خادم عامل مهيأ. ثم اتبع التعليمات الإضافية.


انشاء السيرفر واضافة موقع الكتروني

يعد إعداد خادم LAMP هو الجزء الأكثر أهمية ، حيث يعد تثبيت MySQL و Apache و PHP 7 على Ubuntu أمرًا سهلاً. بعد ذلك ، سوف تحتاج إلى العمل مع رمز البرنامج.

sudo ln -s / etc / phpmyadmin / var / www

افتح تكوين الخادم ثم قم بتحريره:

sudo nano /etc/apache2/apache2.conf

أضف سطرًا في النهاية:

اسم الخادم المضيف المحلي: 80

افتح ملف المضيفين:

نضيف خط:

قم بإنشاء ملف تكوين موقع جديد:

‹VirtualHost *: 80›
ServerAlias ​​testite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹الدليل الرئيسي / الخادم / testite.ru /›
AllowOverride الكل

نضع هذا الملف مع حقوق الجذر هنا: / etc / apache2 / sites-available /

تفعيل الموقع:

sudo a2ensite testite.com

إعادة تشغيل الخادم:

إعادة تشغيل sudo /etc/init.d/apache2

إنشاء صفحة لموقع على شبكة الإنترنت

نصنع الصفحة الأولى - ملف index.php في المجلد الذي يحتوي على الموقع (home / server / testsite.ru).

أدخل هناك:

‹?
صدى "مرحبا !!!" ؛
?›

بشكل عام ، يمكنك إدخال أي شيء ، ما عليك سوى التحقق من أداء الخادم.

نفتح صفحتنا من خلال المتصفح: ندخل عنوان الويب في السطر.

بعد ذلك ، يجب أن نرى "Hello !!!" المرغوبة. إذا حدث هذا ، فسيتم تكوين كل شيء بشكل صحيح. الآن في هذا المجلد ، يمكنك وضع موقع ويب كامل سيتم اختباره على LAMP. يمكن بالطبع تغيير المجلد وكذلك عنوان الموقع.

أنت تعلم الآن أن تثبيت وتكوين MySQL و Apache و PHP (LAMP) على Ubuntu ليس مخيفًا كما يبدو في البداية. هذه ليست سوى الميزات الأساسية للبرنامج. بمرور الوقت ، ستتعلم استخدام القوة الكاملة للبرامج.

من خلال مكدس تطبيقات الويب ، فإننا نعني مجموعة من منتجات البرامج مفتوحة المصدر: نظام تشغيل وخادم ويب وخادم قاعدة بيانات وبيئة تعليمات برمجية قابلة للتنفيذ. المكدس الأكثر شهرة والأكثر شيوعًا هو LAMP. إنه اختصار لمجموعة تطبيقات ويب مجانية ومفتوحة المصدر.

مصباح- اختصار يشير إلى مجموعة (معقدة) من برامج الخادم المستخدمة على نطاق واسع على شبكة الويب العالمية. تمت تسمية LAMP على اسم الأحرف الأولى من مكوناته:

· إل inux - نظام التشغيل Linux

;

· أ مخبأ- قاعدة بيانات للانترنت؛

· م ariaDB / م ySQL - نظم إدارة قواعد البيانات ؛

· ص HP هي لغة برمجة تُستخدم لإنشاء تطبيقات الويب (بالإضافة إلى PHP ، قد يتم تضمين لغات أخرى مثل Perl و Python).

يمكن استخدام الاختصار LAMP للإشارة إلى:

1. البنى التحتية لخادم الويب

2. نماذج البرمجة

3. حزمة البرامج

على الرغم من أن منتجات البرامج هذه لم تكن مصممة خصيصًا للعمل مع بعضها البعض في البداية ، إلا أن هذه الحزمة أصبحت شائعة جدًا نظرًا لمرونتها وأدائها وتكلفتها المنخفضة (جميع مكوناتها مفتوحة المصدر ويمكن تنزيلها مجانًا من الإنترنت). تم تضمين مجموعة LAMP في معظم توزيعات Linux ويتم توفيرها من قبل العديد من شركات الاستضافة.

يوفر Linux استقبال / إرسال الطلبات (يتحكم في الأجهزة) وهو جوهر كل شيء أعلى - الخادم ونظام إدارة قواعد البيانات ودعم اللغة.

التثبيت على أوبونتو

تحتاج إلى تثبيت الحزم التالية:

بعد تشغيل apt-get update لتحديث قائمة الحزم المحلية لديك ، ستتمكن من تثبيت هذه الحزم باستخدام أمر apt-get install واحد:

بعد تشغيل الأمر أعلاه ، سيُطلب منك تثبيت هذه الحزم وبعض التبعيات الأخرى. اضغط على "y" متبوعًا بـ ENTER للمتابعة واتبع بقية التعليمات لتعيين كلمة مرور إدارية لـ MySQL.

سيسمح لك ذلك بتثبيت الحد الأدنى من مجموعة ملحقات PHP المطلوبة لاستخدام PHP مع MySQL.



ميزات وفوائد Linux OS

حر.

مصداقية. سيسمح التشغيل الصحيح لجهاز الكمبيوتر الخاص بك لـ Linux بالعمل لسنوات دون إعادة التشغيل والتجميد. ولن تكون هناك حاجة إلى زر إعادة الضبط على الإطلاق.

أمان. لينكس خالي من الفيروسات تقريبًا. إن بناء نظام التشغيل ذاته يستبعد تشغيل البرامج الخبيثة.

المصدر المفتوح. هذا يجعل من الممكن استخدام وتعديل الكود كما يحلو لك.

تتمثل المزايا الرئيسية لـ Apache في الموثوقية ومرونة التكوين. يسمح لك بتوصيل الوحدات الخارجية لتوفير البيانات والاستخدام نظم إدارة قواعد البياناتإلى عن على المصادقةالمستخدمين ، وتعديل رسائل الخطأ ، وما إلى ذلك.

يتم توفير مرونة MySQL DBMS من خلال دعم عدد كبير من أنواع الجداول: يمكن للمستخدمين اختيار كلا نوعي الجدول MyISAM، ودعم البحث عن النص الكامل والجداول InnoDB، والتي تدعم المعاملات على مستوى السجلات الفردية. علاوة على ذلك ، يأتي MySQL بنوع جدول EXAMPLE خاص يوضح كيفية إنشاء أنواع جديدة من الجداول. بفضل بنيتها المفتوحة وترخيص GPL ، يتم باستمرار إضافة أنواع جديدة من الجداول إلى قاعدة بيانات MySQL.

بي أتش بي- لغة البرمجة للأغراض العامة ، تستخدم بشكل مكثف لتطوير تطبيقات الويب. يدعمها حاليا الغالبية العظمى مقدمي الاستضافةوهو أحد رواد اللغات المستخدمة في الإنشاء مواقع ديناميكية .

3. تطبيق الويب. نموذج تصميم وحدة التحكم في العرض.

نمط التصميم عبارة عن بناء معماري يمثل حلاً لمشكلة تصميم ضمن سياق متكرر الحدوث. تقليديا ، يعرض OOP العلاقات والتفاعلات بين الفئات أو الكائنات ، دون تحديد الفئات النهائية أو كائنات التطبيق التي سيتم استخدامها.

تحكم عرض نموذج. يفصل نمط تصميم MVC بيانات التطبيق وواجهة المستخدم ومنطق التحكم إلى ثلاثة مكونات منفصلة - النموذج والعرض والتحكم - بحيث يمكن تعديل كل مكون بشكل مستقل. تم استخدام هذا النمط لأول مرة في إطار عمل تم تطويره للغة Smalltalk في أواخر السبعينيات. منذ ذلك الحين ، لعبت دورًا أساسيًا في معظم أطر عمل واجهة المستخدم. لقد غيرت بشكل جذري الطريقة التي ننظر بها إلى تصميم التطبيق.

النموذج هو انعكاس للواقع ، مع مراعاة الخصائص اللازمة لحل المشكلة. يشتمل النموذج على منطق حل المهمة الرئيسية (منطق الأعمال):

● حفظ ، حذف ، تحديث بيانات التطبيق (CRUD أو خدمات الويب الخارجية) ؛

● تغليف منطق التطبيق بالكامل (من الضروري تجنب وحدات التحكم "السميكة" ، أي لا يمكنك وضع جزء من منطق الأعمال في وحدة تحكم أو عرض).

CRUD - إنشاء ، قراءة ، تحديث ، حذف.

نموذج يصف البيانات وإدارتها ، وغالبًا ما يشار إليه بمنطق الأعمال لبرنامج التطبيق ، أي جوهرها. عرض يصف ما يراه المستخدم ويتفاعل معه في التطبيق. تعمل وحدة التحكم كوسيط بين النموذج والعرض.
الآلية الرئيسية التي تنفذ جزء العرض من القالب (ولكنها ليست متطابقة!) هي محرك القالب (محرك القوالب).

تفاعل عناصر MVC

كل عنصر في نمط MVC يتصل بالباقي بطرق محددة للغاية. يتم تنفيذ الاتصال من خلال سلسلة من الأحداث التي يتم تشغيلها عادةً عن طريق تفاعل المستخدم مع التطبيق. تسلسل الأحداث يبدو كما يلي:

  1. يتفاعل المستخدم مع عنصر واجهة (على سبيل المثال ، النقر فوق زر في طريقة عرض).
  2. ترسل طريقة العرض حدث نقرة إلى وحدة التحكم لتقرر كيفية معالجة النقرة.
  3. تقوم وحدة التحكم بتغيير النموذج بناءً على ما تقرره بشأن الزر الذي يتم الضغط عليه.
  4. يُعلم النموذج طريقة العرض بأن حالة النموذج قد تغيرت.
  5. يقرأ العرض معلومات الحالة في النموذج ويغير نفسه.

4. تطبيق ويب. محرك القالب.

محرك القوالب (على الويب) هو برنامج يسمح لك باستخدام قوالب html لإنشاء صفحات html نهائية. الغرض الرئيسي من استخدام محركات القوالب هو فصل عرض البيانات عن الكود القابل للتنفيذ. غالبًا ما يكون هذا ضروريًا لضمان إمكانية العمل المتوازي للمبرمج ومصمم التخطيط. غالبًا ما يؤدي استخدام محركات القوالب إلى تحسين قابلية قراءة الكود وتغييرات المظهر عندما يتم تنفيذ المشروع بالكامل بواسطة شخص واحد.

غالبًا ما يتم تحديد استخدام محركات القوالب مع نموذج MVC. هذه المفاهيم مرتبطة ولكنها ليست متطابقة.

جوهر القوالب هو فصل إطار الصفحة عن كود البرنامج. يتم وضع إطار الصفحة في ملف نصي منفصل (قالب) ، ويتم وضع المتغيرات الزائفة الخاصة في الأماكن التي يكون من الضروري فيها عرض البيانات. يقوم البرنامج النصي بتحميل القالب المطلوب ، واستبدال المتغيرات الزائفة فيه بالبيانات والمخرجات المناسبة.

فوائد استخدام القوالب عند إنشاء كود صفحة HTML:

· أولاً نظافة الكود. رمز البرنامج لا يحتوي على كود HTML ، لذلك من السهل قراءته. في الوقت نفسه ، يحتوي القالب على كود HTML فقط ، والذي يوضح أين وما هي البيانات المدرجة (لهذا ، دعونا نعطي أسماء ذات معنى للمتغيرات الزائفة).

· ثانيًا ، يسمح فصل البرنامج ورمز HTML بالتطوير المستقل للمحرك والتصميم. لتغيير شيء ما في مظهر الموقع النهائي ، يكفي إجراء تغييرات على القالب المقابل ، ولست بحاجة إلى مهارات البرمجة.

· يمكن أن يكون للموقع عدة تصميمات. لتغيير تصميم الموقع بالكامل ، ما عليك سوى تغيير المسار إلى مجلد القوالب.

مزايا:

· فصل كامل للمخرجات عن منطق التطبيق.

· وضع الحماية.

المظهر الأنيق للكتل المنطقية أو بيانات الإخراج ؛

قابلية النقل بين المنصات (اللغات) - أي يمكن كتابة المحلل اللغوي في أي شيء ؛

لغة النموذج مفهومة لمصمم التخطيط ؛

عن الفضائل

بالنظر إلى مسألة فصل منطق التطبيق عن المخرجات ، يمكننا القول إن فصل المنطق عن المخرجات يتم تطبيقه في التطوير الويب-تطبيقات في الغالب فقط عند استخدام نمط MVC. انظر بنفسك ، يتم عرض جميع أمثلة استخدام فصل القالب والمنطق في السياق MVC.

لا يسع المرء إلا أن يوافق على أنه من الملائم حقًا استخدام إنشاءات المنطق الداخلي المعزول للقالب ، بغض النظر عن النظام الأساسي ( بي أتش بي, ROR, جافا) ، والتي ستحلل هذه القوالب وتعبئتها بالبيانات وعرضها على المستخدم. بالإضافة إلى ذلك ، يضمن ذلك عدم استخدام المطورين لمنطق التطبيق أو حتى استعلامات SQL في القالب.

يكون وضع الحماية مفيدًا عندما تحتاج إلى منح المستخدم ، ومحرر القوالب ، خيارات بنية محدودة. على سبيل المثال ، هذا صحيح بالنسبة لخدمة المدونة ، حيث ينشر المستخدمون بشكل مستقل المواد باستخدام ترميز html والتركيبات المحددة للخدمة المستخدمة.

5. تطبيق ويب. قواعد البيانات العلائقية.

قاعدة البيانات العلائقية هي مجموعة من الجداول المترابطة ، كل منها يحتوي على معلومات حول كائنات من نوع معين. يحتوي صف الجدول على بيانات حول كائن واحد (على سبيل المثال ، منتج ، عميل) ، وتصف أعمدة الجدول الخصائص المختلفة لهذه الكائنات - السمات (على سبيل المثال ، الاسم ، رمز المنتج ، معلومات العميل). السجلات ، أي صفوف الجدول ، لها نفس البنية - فهي تتكون من الحقول التي تخزن سمات الكائن. يصف كل حقل ، أي عمود ، خاصية واحدة فقط للكائن وله نوع بيانات محدد بدقة. جميع السجلات لها نفس الحقول ، إلا أنها تعرض خصائص إعلامية مختلفة للكائن.

في قاعدة البيانات العلائقية ، يجب أن يحتوي كل جدول على مفتاح أساسي أو حقل أو مجموعة من الحقول التي تحدد بشكل فريد كل صف في الجدول. إذا كان المفتاح يتكون من عدة حقول ، فإنه يسمى مركب. يجب أن يكون المفتاح فريدًا ويحدد الإدخال بشكل فريد. يمكن العثور على إدخال واحد بقيمة المفتاح. تستخدم المفاتيح أيضًا لتنظيم المعلومات في قاعدة البيانات.

يجب أن تفي جداول قاعدة البيانات العلائقية بمتطلبات التسوية العلائقية. تطبيع العلاقات هو جهاز رسمي للقيود المفروضة على تكوين الجداول ، والذي يسمح لك بالتخلص من الازدواجية ، ويضمن اتساق تلك المخزنة في قاعدة البيانات ، ويقلل من تكاليف العمالة للحفاظ على قاعدة البيانات.

دع جدول الطالب يتم إنشاؤه يحتوي على الحقول التالية: رقم المجموعة ، والاسم الكامل ، ورقم السجل ، وتاريخ الميلاد ، واسم التخصص ، واسم الكلية. سيكون لمثل هذا التنظيم لتخزين المعلومات عدد من العيوب:

ازدواجية المعلومات (يتم تكرار اسم التخصص والكلية لكل طالب) ، وبالتالي ، سيزداد حجم قاعدة البيانات ؛

· إجراءات تحديث المعلومات الواردة في الجدول تعوقها الحاجة إلى تحرير كل سجل في الجدول.

تم تصميم جدول التطبيع لمعالجة أوجه القصور هذه. متوفرة ثلاثة أشكال طبيعية للعلاقات.

أول شكل عادي. يتم تقليل الجدول العلائقي إلى النموذج العادي الأول إذا وفقط إذا لم يكن أي من صفوفه يحتوي على أكثر من قيمة واحدة في أي من الحقول الخاصة به ولم يكن أي من الحقول الرئيسية فارغًا. لذلك ، إذا كنت ترغب في الحصول على معلومات من جدول الطالب حسب اسم الطالب ، فيجب تقسيم حقل الاسم الكامل إلى أجزاء اسم العائلة والاسم الأول.

الشكل العادي الثاني. يتم تعريف الجدول العلائقي في الشكل العادي الثاني إذا كان يفي بمتطلبات النموذج العادي الأول وكل الحقول الخاصة به التي لم يتم تضمينها في المفتاح الأساسي تعتمد وظيفيًا بشكل كامل على المفتاح الأساسي. لإحضار الجدول إلى النموذج العادي الثاني ، من الضروري تحديد التبعية الوظيفية للحقول. التبعية الوظيفية للحقول هي تبعية تتطابق فيها قيمة واحدة فقط من السمة الوصفية مع قيمة معينة للسمة الرئيسية في مثيل كائن المعلومات.

النموذج العادي الثالث. يكون الجدول في النموذج العادي الثالث إذا كان يفي بمتطلبات النموذج العادي الثاني ولا يعتمد أي من الحقول غير الرئيسية وظيفيًا على أي حقول أخرى غير رئيسية. على سبيل المثال ، في جدول الطالب (رقم المجموعة ، الاسم الكامل ، رقم دفتر التقديرات ، تاريخ الميلاد ، رئيس المدرسة) ، توجد ثلاثة حقول - رقم دفتر التقديرات ، ورقم المجموعة ، والمدير في تبعية متعدية. يعتمد رقم المجموعة على رقم دفتر التسجيل ، ويعتمد رئيس المسؤول على رقم المجموعة. للقضاء على التبعية متعدية ، من الضروري نقل بعض حقول جدول الطالب إلى جدول مجموعة آخر. ستتخذ الجداول النموذج التالي: الطالب (رقم المجموعة ، الاسم الكامل ، رقم دفتر التقديرات ، تاريخ الميلاد) ، المجموعة (رقم المجموعة ، المدير).

العمليات التالية ممكنة مع الجداول العلائقية:

· دمج الجداول بنفس الهيكل. والنتيجة هي جدول مشترك: الأول الأول ، ثم الثاني (التسلسل).

· تقاطع الجداول بنفس الهيكل. النتيجة - يتم تحديد تلك السجلات الموجودة في كلا الجدولين.

· طرح جداول بنفس الهيكل. النتيجة - يتم تحديد السجلات غير الموجودة في المطروح.

· عينة (مجموعة فرعية أفقية). النتيجة - يتم تحديد السجلات التي تفي بشروط معينة.

· الإسقاط (مجموعة فرعية عمودية). والنتيجة هي علاقة تحتوي على بعض الحقول من جداول المصدر.

· منتج ديكارتي لجدولين يتم الحصول على الإدخالات في الجدول الناتج عن طريق ربط كل إدخال في الجدول الأول مع كل إدخال في الجدول الآخر.

يمكن أن ترتبط الجداول الارتباطية ببعضها البعض ، بحيث يمكن استرداد البيانات من جداول متعددة في نفس الوقت. ترتبط الجداول معًا لتقليل حجم قاعدة البيانات في النهاية. يتم توفير علاقة كل زوج من الجداول إذا كان لديهم نفس الأعمدة.

هناك الأنواع التالية من روابط المعلومات:

· واحد لواحد؛

واحد لكثير

الكثير للكثيرين.

تطبيق الويب. NoSQL.

أحد معاني مصطلح "NoSQL" هو الابتعاد عن النموذج العلائقي لصالح نماذج بيانات أكثر تحديدًا (أو أكثر عمومية). على سبيل المثال ، أنظمة NoSQL الناجحة تقليديًا هي أنظمة تخزين زوجية ذات قيمة رئيسية مثل Redis أو Memcache. نموذج البيانات الخاص بهم بسيط للغاية - إنه في الأساس مصفوفة ترابطية ، حيث تكون المفاتيح من نوع السلسلة ، ويمكن أن تحتوي القيم على أي بيانات. مثل أي مصفوفة ترابطية ، تدعم هذه الأنظمة مجموعة محدودة من عمليات البيانات - اقرأ القيمة بواسطة المفتاح ، وحدد قيمة المفتاح ، وقم بإزالة المفتاح والقيمة المرتبطة به. قد لا تكون عملية "الحصول على قائمة المفاتيح" مدعومة في مثل هذه الأنظمة.

مثال آخر لأنظمة NoSQL الناجحة هو مخازن المستندات. عادة ما تكون الكائنات في مثل هذه المستودعات عبارة عن مصفوفات ترابطية لهيكل حر ، أي أن نفس "الجدول" يمكنه تخزين كائنات مختلفة بشكل أساسي. من أمثلة أنظمة هذه الفئة MongoDB و Cassandra. اعتمادًا على البيانات المخزنة بالفعل في قاعدة بيانات معينة ، يمكن أن يختلف أدائها بشكل كبير. على سبيل المثال ، إذا قمت بتحسين مثل هذا "الجدول" عن طريق تخزين كائنات من نفس النوع فيه.

المثال الثالث لأنظمة NoSQL المتخصصة هي قواعد بيانات الرسوم البيانية. تم تصميمها خصيصًا لمعالجة بنية بيانات محددة ، وعادةً للعمل مع كمية كبيرة من البيانات (لأن التنفيذ العلائقي القياسي يمكن أن يعمل بشكل جيد على كميات صغيرة).

من الأمثلة المهمة جدًا لأنظمة NoSQL أنظمة الملفات العادية مثل Ext4 أو NTFS. وهي مصممة لتخزين الكائنات في هيكل هرمي بمحتوى حر. عادةً ما تستخدم قواعد البيانات نفسها ، العلائقية و NoSQL ، أنظمة الملفات لتخزين محتوياتها ، وفي بعض الأحيان يصبح التفاعل بين هذين النظامين الفرعيين مهمًا في حالة أو أخرى.

7. تطبيق الويب. قدرات جافا سكريبت.

JavaScript هي لغة برمجة مفسرة مع إمكانيات موجهة للكائنات.

قدرات

يمكن تشغيل الكود المصدري بهذه اللغة ليس فقط في المتصفح ، ولكن أيضًا على جانب الخادم أو من سطر الأوامر ، ولكننا سننظر في استخدام JavaScript لصفحات الويب. JavaScript الحديثة هي لغة برمجة "آمنة" للأغراض العامة. لا يوفر وسائل منخفضة المستوى للعمل مع ذاكرة المعالج ، حيث أنه كان يستهدف في الأصل المتصفحات التي لا تتطلب ذلك.

بالنسبة لبقية الميزات ، فهي تعتمد على البيئة التي يعمل فيها JavaScript. في المتصفح ، يمكن لـ JavaScript القيام بكل ما يتعلق بالتلاعب بالصفحة ، والتفاعل مع الزائر ، وإلى حد ما ، مع الخادم:

إضافة تأثيرات الرسوم المتحركة المختلفة

الاستجابة للأحداث - التعامل مع حركات الماوس وضربات المفاتيح من لوحة المفاتيح

التحقق من صحة إدخال البيانات في حقول النموذج قبل إرسالها إلى الخادم ، والذي بدوره يزيل الحمل الإضافي من الخادم

قم بإنشاء وقراءة ملفات تعريف الارتباط واستخراج البيانات حول كمبيوتر الزائر

اكتشف المتصفح ، واعتمادًا على المتصفح ، قم بتحميل الصفحة المطلوبة ، المصممة خصيصًا لهذا المتصفح

قم بتغيير محتوى عناصر HTML وإضافة علامات جديدة وتغيير الأنماط

قيود

· لا يمكن لجافا سكريبت إغلاق النوافذ وعلامات التبويب التي لم تفتح معها

لا يمكن حماية التعليمات البرمجية المصدر للصفحة ومنع نسخ النص أو الصور من الصفحة

لا يمكن إجراء طلبات عبر المجال ، والوصول إلى صفحات الويب الموجودة في مجال مختلف. حتى عندما يتم عرض صفحات من مجالات مختلفة في نفس الوقت في علامات تبويب متصفح مختلفة ، فإن شفرة JavaScript التي تنتمي إلى مجال واحد لن يكون لها حق الوصول إلى معلومات حول صفحة ويب من مجال آخر. يضمن ذلك أمان المعلومات الخاصة التي قد تكون معروفة لمالك المجال الذي تفتح صفحته في علامة التبويب التالية

· لا يستطيع الوصول إلى الملفات الموجودة على جهاز الكمبيوتر الخاص بالمستخدم ، والوصول إليها خارج صفحة الويب نفسها ، والاستثناء الوحيد هو ملفات تعريف الارتباط ، وهي ملفات نصية صغيرة يمكن لـ JavaScript كتابتها وقراءتها.

بشكل عام ، يمكننا القول أنه مصمم بطريقة تجعل من الصعب تنفيذ التعليمات البرمجية الضارة.

8. تطبيق الويب. بيئة التنفيذ. تثبيت خادم الويب وتكوينه.

خادم Apache - خادم الويب عبر الأنظمة الأساسية ، هو الأكثر شيوعًا إلى حد بعيد ، لأن. مثبتًا على معظم الاستضافة ويكون إعداده أسهل من خادم الويب على سبيل المثال nginx.

يأتي خادم apache أيضًا في بنيات مثل denwer و xampp ، لذا فإن php apache هو بناء شائع جدًا. تركيب نوافذ اباتشي, لينكسالروابط أدناه:

· تركيب اباتشي لينكس

· تركيب نوافذ اباتشي

كيف يعمل خادم اباتشي:

· يقبل بشكل دوري الطلبات

· التعامل مع الطلبات

يولد المحتوى

يعطي المحتوى للمستخدم

يحتوي ويب Apache على آلية مضيف افتراضية تتيح لك توزيع أسماء نطاقات متعددة على عنوان IP واحد. يمكن أن يكون لكل اسم نطاق إعداداته الخاصة ، ويتم إجراء إعدادات apache في ملف .htaccess ، والذي يجب وضعه في الدليل الجذر لموقعك.

منفذ Apache الافتراضي هو 80. قد تكون هناك مشاكل مع بعض البرامج ، لا سيما مع سكايب. لحل المشكلة ، تحتاج إلى إيقاف استخدام المنفذ 80 في سكايب. إذا كان منفذ apache 80 المستخدم مشغولاً ، فيمكنك تغيير هذه القيمة في إعدادات خادم الويب.

على apache ، يكون الموقع الذي يحتوي على الكثير من الصور الثابتة أبطأ من موقع على nginx. في بعض الأحيان يتم اعتبار هذه الحزمة كخادم اباتشي + nginx ، يتم استخدام nginx لإرجاع البيانات الساكنة.

لبرمجة php تحتاج إلى تثبيت المكونات التالية:

· اباتشيأو خادم ويب آخر ؛

mysql (+ phpmyadmin للعمل مع mysql من خلال واجهة ويب).

يوجد خياران لتثبيت هذه المكونات:

تركيب حزمة جاهزة (xampp ، denwer ، إلخ.)

تركيب جميع الحزم بشكل فردي

في الحالة الأولى ، كل شيء بسيط للغاية ، قم بتنزيل الحزمة وتثبيتها. ولكن مع التثبيت اليدوي ، لن تكون هناك مشاكل في تحديث الإصدارات ، لأن. ستعرف بالفعل كيف يعمل وكيف يتم تثبيته. هناك أيضًا فرصة أقل لحدوث مشاكل مع الحزم.

التثبيت اليدوي:

تنزيل وتثبيت اباتشيعلى حلقة الوصل

قم بتنزيل وتثبيت MySQL المرجعي

كإضافة يمكن تثبيتها phpmyadmin، للعمل مع mysql من خلال واجهة الويب

بعد التثبيت ، وكذلك بعد إجراء أي تغييرات ، يجب إعادة التشغيل اباتشي. انتقل إلى "بدء - إدارة - إدارة - خدمات" وابحث عن Apache هناك ، وانقر بزر الماوس الأيمن وحدد إعادة التشغيل في قائمة السياق.

للعمل ، تحتاج إلى إضافة مضيف افتراضي ، يمكنك قراءة كيفية القيام بذلك هنا.

مدة العرض

برنامج eTBManager هو تطبيق خادم JBOSS يعمل مع البيانات التي يديرها خادم قاعدة بيانات MySQL. يعمل المستخدمون مع البرنامج من مستعرض ويب (IE و FireFox و Crhome وما إلى ذلك).

يتم تثبيت البرنامج على خادم فعلي واحد (كمبيوتر). نظام التشغيل Windows 2008 server مع جميع SP المثبت.

لضمان تشغيل البرنامج ، قم بتثبيت البرنامج وتكوينه على الخادم بالترتيب التالي:

1. قاعدة البيانات

1. خادم إدارة قاعدة بيانات MySQL.

2. قاعدة بيانات eTBManager.

2. التطبيق

1. خادم تطبيق جافا JBOSS لتشغيل برنامج eTBManager.

2. برنامج eTBManager.

3. خادم الويب

1. Apache HTTPD لتلقي ومعالجة طلبات الويب من المستخدمين.

2. موصل Mod_jk لتوفير التفاعل بين Apache HTTPD و JBOSS.

كل ما تحتاجه لتثبيت البرنامج ، بما في ذلك أحدث إصدار من البرنامج وقاعدة بيانات تدريبية ، يمكن الحصول عليه من العنوان ftp: .ua وصول مجهول. نظرًا لاستخدام البرامج المجانية ، يمكن الحصول على أحدث إصداراتها من مواقع الشركة المصنعة. تحتوي أحدث الإصدارات على إصلاحات للأخطاء وقد تكون أكثر استقرارًا ، ولكن لم يتم اختبار توافقها بواسطتنا.

9. تطوير تقنيات الويب. الويب 1.0 ، الويب 2.0.

كان Web 1.0 الجيل الأول لشبكة الويب العالمية باستخدام بروتوكولات الإنترنت TPC / IP. إذا تم تنفيذ اتصال خطي من نقطة إلى نقطة فقط في عصر ما قبل الإنترنت ، فمع ظهور الويب (شبكة المعلومات) ، تم تشكيل مورفولوجيا الشبكة التي تتيح للمستخدم "تصفح" المعلومات بحرية المساحات ، واستقبال أي معلومات متراكمة في موارد شبكة الويب 1.0.

تتميز فترة تطوير الويب هذه بإنشاء مواقع ثابتة مع روابط نص تشعبي HTML ، والنقل السلبي للمعلومات من الخوادم إلى العميل ، والطبيعة أحادية الاتجاه لتدفق المعلومات:

· تدفق جمع المعلومات يدويًا من مُنشئي الموارد إلى الخادم ؛

· تدفق التوزيع السلبي للمعلومات من الخادم إلى العملاء.

هذه هي فترة الظهور والتطور السريع للمكتبات الإلكترونية وكتالوجات معلومات الإنترنت.

الويب 2.0 هو "بناء جملة" تفاعلي على الويب ، عندما ينتشر مورد أنظمة الحوار - المستخدم ، العميل - الخادم.

إنه موقع ويب موجه نحو الخدمة ، وقد طور عملية معلومات تفاعلية بين المستخدم والخادم ومحركات البحث والتجارة الإلكترونية.

تم تسليم توليد تدفق المعلومات إلى أيدي المستخدمين أنفسهم ، وكان مالكو الموقع مقتصرين بشكل أساسي على إنشاء البنية التحتية وصيانتها.

أنظمة استرجاع المعلومات - أصبحت الخوادم الفائقة والروبوتات وواجهات المستخدم جوهر الويب. استندت الخوارزميات الخاصة بهم للبحث والفرز والترتيب والواجهة إلى تحليل تردد المعلومات. روبوتات محرك البحث هي عبارة عن كشافة نشطة ووسطاء شبكة سلبيين بسبب الفهرسة الأولية للمعلومات.

10. تطوير تقنيات الويب. الويب 3.0 ، الويب الدلالي.

Web 3.0 هو الويب الدلالي - "جزء من المفهوم العالمي لتطوير الإنترنت ، والغرض منه هو إدراك إمكانية معالجة الآلة للمعلومات المتاحة على شبكة الويب العالمية. ينصب التركيز الرئيسي للمفهوم على العمل مع البيانات الوصفية التي تميز بشكل لا لبس فيه خصائص ومحتوى موارد شبكة الويب العالمية ، بدلاً من تحليل المستند النصي المستخدم حاليًا. حول موارد شبكة الويب العالمية وتوجد بالتوازي معها. بناء على عمليات المعلومات الآلية بين الخوادم.

يصبح هذا ممكنًا بفضل إدخال الأدوات الدلالية: من الترميز الدلالي لنص المورد إلى الخوارزميات الذكية التي تفهم معنى العبارات البشرية.

الشبكة ، ظهرت الحوسبة "السحابية" ، والسيطرة على موارد المعلومات الخاصة داخل الخوادم الفائقة للويب.

أصبحت تقنيات إنشاء تطبيقات الويب متطورة للغاية لدرجة أن شريط المستخدمين ومنشئي موارد المعلومات قد انخفض إلى الصفر تقريبًا ، دون مطالبتهم بأي معرفة في مجال تكنولوجيا المعلومات.

ترتقي تقنيات الشبكات نفسها إلى مستوى تطبيقات الشبكة التي تعمل تلقائيًا على الإنترنت: واجهات إنشاء الموارد والمترجمون الدلالية ومبادلو الأخبار ومحللو البحث والبناة الآليون لقواعد المعلومات المستهدفة.

بالإضافة إلى الواجهات الداخلية بين الخوادم ، تظهر واجهات غير بشرية مع العالم المادي: الجمع التلقائي لمعلومات الوسائط المتعددة ، وتحليل برنامج الروبوت للمعلومات من العالم الخارجي ، وامتصاص هذه المعلومات عن طريق الخوادم الفائقة للويب. تنتقل الروبوتات إلى مرحلة الإشراف النشط على المحتوى ، والرقابة التي تحدد ما يمكن نشره في Web 3.0 وما لا يمكن نشره ..

11. تطوير تقنيات الويب. خدمات الويب.

خدمة الويب ، خدمة الويب (خدمة الويب باللغة الإنجليزية) - نظام برمجي يتم تحديده بواسطة عنوان ويب مع واجهات قياسية. يمكن أن تتواصل خدمات الويب مع بعضها البعض ومع تطبيقات الطرف الثالث من خلال الرسائل القائمة على بروتوكولات معينة (SOAP و XML-RPC و REST وما إلى ذلك). خدمة الويب هي وحدة نمطية عند استخدام بنية تطبيق موجهة نحو الخدمة.

في الحياة اليومية ، تسمى خدمات الويب الخدمات المقدمة على الإنترنت. في هذا الاستخدام ، يحتاج المصطلح إلى توضيح ما إذا كان يشير إلى البحث أو بريد الويب أو تخزين المستندات أو الملفات أو الإشارات المرجعية وما إلى ذلك. يمكن استخدام خدمات الويب هذه بغض النظر عن الكمبيوتر أو المستعرض أو نقطة الوصول إلى الإنترنت.

REST (نقل الحالة التمثيلية) هو نمط من هندسة البرمجيات للأنظمة الموزعة مثل شبكة الويب العالمية التي تُستخدم عادةً لبناء خدمات الويب. تمت صياغة مصطلح REST في عام 2000 بواسطة Roy Fielding ، أحد مؤلفي بروتوكول HTTP. تسمى الأنظمة التي تدعم REST أنظمة RESTful.

بشكل عام ، تعد REST واجهة بسيطة جدًا لإدارة المعلومات دون استخدام أي طبقات داخلية إضافية. يتم تحديد كل معلومة بشكل فريد من خلال معرّف عالمي مثل عنوان URL. كل عنوان URL بدوره له تنسيق محدد بدقة.

استخدام REST لبناء خدمات الويب.

كما تعلم ، فإن خدمة الويب عبارة عن تطبيق يعمل على شبكة الويب العالمية ويتم توفير الوصول إليه عبر بروتوكول HTTP ، ويتم تبادل المعلومات باستخدام تنسيق XML. لذلك ، سيكون تنسيق البيانات المرسلة في نص الطلب دائمًا XML.

لكل وحدة معلومات (معلومات) يتم تحديد 5 إجراءات. يسمى:

يحصل على معلومات/ (فِهرِس)- يحصل على قائمة بجميع الكائنات.

الحصول على / معلومات / (معرف) (رأي)- يتلقى معلومات كاملة عن الكائن.

ضع / معلومات /أو آخر / معلومات / (خلق)- يخلق كائنًا جديدًا.

حذف / معلومات / (معرف) (حذف)- يحذف البيانات ذات المعرف (id).
كما ترى ، فإن بنية REST سهلة الاستخدام للغاية. حسب نوع الطلب الوارد ، يمكنك تحديد ما يفعله على الفور دون فهم التنسيقات (على عكس SOAP و XML-RPC). يتم نقل البيانات دون استخدام طبقات إضافية ، لذلك تعتبر REST أقل كثافة للموارد ، حيث ليس من الضروري تحليل الطلب لفهم ما يجب القيام به وليس هناك حاجة لترجمة البيانات من تنسيق إلى آخر.

12. بروتوكول HTTP. هيكل وثيقة النص التشعبي. المعايير الأساسية.

HTTP هو بروتوكول نقل بيانات مستخدم على نطاق واسع ، وهو مخصص في الأصل لنقل مستندات النص التشعبي (أي المستندات التي قد تحتوي على روابط تسمح لك بالانتقال إلى مستندات أخرى).

يفترض بروتوكول HTTP استخدام بنية نقل البيانات بين الخادم والعميل. يقوم تطبيق العميل بتشكيل طلب وإرساله إلى الخادم ، وبعد ذلك يقوم برنامج الخادم بمعالجة هذا الطلب ، وإنشاء استجابة وإرسالها مرة أخرى إلى العميل. بعد ذلك ، يمكن لتطبيق العميل الاستمرار في إرسال الطلبات الأخرى ، والتي ستتم معالجتها بنفس الطريقة.

هيكل وثيقة النص التشعبي.

تحت مستند نص تشعبيفهم النص الذي يحتوي على عناصر خاصة ، عند الوصول إليه ، يتم الانتقال إلى مستند آخر. تسمى هذه العناصر الارتباطات التشعبيةويمكن إجراؤها على شكل جزء نصي وزر وصورة وما شابه. يمكن أيضًا استخدام الروابط للانتقال إلى أقسام مختلفة من نفس المستند (في هذه الحالة ، يسمى الرابط مذيع الأخبارأو مذيع الأخبار).

لنبدأ ببنية وثيقة HTML. في شكل بسيط يمكن كتابته على النحو التالي:







نحفظ المستند باسم index.html ونفتحه في المتصفح. ماذا نرى؟ لا شيء - صفحة فارغة. دعنا نحلل هذا المثال ونبدأ في ملئه.

عناصر HTML هي علامات. العلامات هي كلمات أساسية محاطة بأقواس زاوية. يمكن أن تكون العلامات مفردة (على سبيل المثال ، شريط أفقي


) أو في أزواج. في الحالة الثانية ، يتكون العنصر من علامة فتح (على سبيل المثال ، ) وعلامة الإغلاق (). يمتد تأثير العنصر إلى المنطقة الواقعة بين علامة الفتح والإغلاق.

يوجد مستند النص التشعبي بأكمله داخل عنصر html (أي بين و). يحتوي هذا العنصر على عنصرين آخرين - عنوان المستند (العنصر الرئيسي) ، والذي يحتوي على معلومات الخدمة حول المستند ، وجسم المستند (العنصر ) ، والذي يحتوي على المعلومات المعروضة في نافذة المتصفح.

الهيكل أعلاه كافٍ لإنشاء مستندات HTML بسيطة للاستخدام الشخصي ، ولكنها لا تفي بالمعايير. الخطأ الرئيسي هو أنه لم يتم تحديد المعيار الذي يتم تقديم المستند فيه. المعيار مكتوب في السطر الأول قبل العلامة . دعونا نرى ما هي المعايير الرئيسية الموجودة.

بالنسبة إلى HTML 4.01

لـ XHTML 1.0

لـ XHTML 1.1

Strict، Transitional، Frameset - تعني صارم (لا ينبغي أن يحتوي التخطيط على انحرافات عن المواصفات القياسية) ، انتقالية (يتم تجاهل الأخطاء ، للدمى) والمواقع التي تستخدم الإطارات (هل لا يزال هناك مثل هذا؟). يعد تحديد نوع المستند حساسًا لحالة الأحرف ، لذا من الأفضل نسخه من الأمثلة الواردة هنا لتجنب الأخطاء.

هناك معايير أخرى ، لإنشاء قالب ، سنركز على الأول من القائمة (يمكننا بسهولة تعديل القالب لنوع المستند الخاص بنا).

دعنا ننتقل إلى قسم العنوان. تحدد عنوان الصفحة (عنصر العنوان) وبيانات META ومعلومات الخدمة الأخرى. سنركز هنا فقط على العنوان ، وسننظر في بقية العناصر في الموضوعات ذات الصلة (سنلاحظ فقط عنصرين مسؤولين عن التشفير و CSS).

أضف خطًا داخل عنصر الرأس هيكل الوثيقةوافتح الصفحة في المتصفح. في السطر العلوي من المتصفح ، نرى ما حددناه داخل عنصر العنوان. بالإضافة إلى ذلك ، يستخدم المستعرض هذه المعلومات لتحديد الروابط عند وضع إشارة مرجعية على الصفحة.

من أجل العرض الصحيح للصفحة ، يجب أن نحدد في ترميز وثيقتنا المكتوبة. للقيام بذلك ، أضف السطر

نحدد هنا ترميز Windows القياسي windows-1251. بالطبع ، لا يكفي الإشارة إلى ذلك ؛ من الضروري كتابة المستند نفسه في هذا الترميز. المعيار أيضًا هو ترميز utf-8 (يونيكود ، يدعم مجموعة الأحرف الممتدة).

سنحدد أيضًا تنسيق أوراق الأنماط المتتالية باستخدام السطر

يحتوي نص المستند (عنصر النص الأساسي) على معلومات مرئية ، أي الذي سيتم عرضه مباشرة في نافذة المتصفح. دعنا نضيف السطر "كود الوثيقة يحتوي على البنية الصحيحة".

إذن ، الإصدار النهائي الصارم (الذي يمكننا استخدامه كقالب للمستندات الأخرى) هو كما يلي:

هيكل الوثيقة يحتوي كود الوثيقة على الهيكل الصحيح

نتيجة لذلك ، حصلنا على قالب مستند للمعيار الذي اخترناه.

HTML5: لجميع المستندات.

HTML 4.01: بناء جملة HTML صارم. صيغة HTML الانتقالية. تُستخدم الإطارات في مستند HTML.

XHTML 1.0: بناء جملة XHTML صارم. صيغة XHTML الانتقالية. الوثيقة مكتوبة بلغة XHTML وتحتوي على إطارات. ملف تعريف الجوال XHTML ، يضيف عناصر محددة للهواتف المحمولة.

XHTML 1.1: هذا التعريف ليس له تقسيم إلى أنواع ، الصيغة هي نفسها وتخضع لقواعد واضحة.

عنصر الغرض منه هو توضيح نوع الوثيقة الحالية - DTD (تعريف نوع الوثيقة ، وصف نوع الوثيقة). يعد هذا ضروريًا للمتصفح لفهم كيفية تفسير صفحة الويب الحالية ، نظرًا لوجود HTML في العديد من الإصدارات ، وهناك XHTML (لغة ترميز النص التشعبي الموسعة ، لغة ترميز النص التشعبي الموسعة) ، والتي تشبه HTML ، ولكنها تختلف في بناء الجملة. حتى لا يتم الخلط بين المتصفح ويفهم وفقًا لمعيار عرض صفحة الويب ، من الضروري تعيينه في السطر الأول من التعليمات البرمجية .



يعني كومة (7)

L لنظام التشغيل Linux A لخادم الويب Apache M لقاعدة بيانات Mysql p لـ php للوحدات النمطية للنصوص البرمجية و php

يمكننا استضافة برامج php وبرامج CGI في نظام LAMP.

على سبيل المثال: في ubuntu apt-get install apache2 لخادم الويب apt-get install mysql-server php5-mysql for database و php apt-get install php5 والوصول إلى خادم الويب الخاص بك http: // localhost

هل يمكن لأي شخص أن يخبرني ماذا يعني مصطلح LAMP Stack؟ لقد رأيت هذا الرابط في إعلانات الوظائف ولكني لا أفهم معناه تمامًا.

أشعر أنني في تطوري أستخدم LAMP كثيرًا ، لكن عندما أسمع كلمة "مكدس" أشعر أنني لا أستخدم بيئة LAMP كما ينبغي.

أنا أعرف ما يرمز إليه LAMP ، أردت فقط معرفة المقصود بمصطلح "المكدس".

LAMP Mean L = LINUX (OS) A = APACHE (خادم الويب) M = MySQL (قاعدة البيانات) P = PHP (اللغة)

باختصار لـ Linux و Apache و MySQL و PHP ، وهي منصة تطوير مفتوحة المصدر ، تسمى أيضًا مكدس الويب ، والتي تستخدم Linux كنظام تشغيل ، و Apache كخادم ويب ، و MySQL كنظام RDBMS ، و PHP كلغة برمجة نصية موجهة للكائنات . غالبًا ما تحل Perl أو Python محل PHP.

بالنسبة لأولئك الذين ما زالوا يتعلمون هذا لمعرفة ماهية المكدس ، يشير مصطلح "المكدس" إلى "حزمة الحلول". مجموعة الحلول هي ببساطة مجموعة كاملة من البرامج لحل مشكلة معينة ، وعادة ما يتم دمجها لتوفير النظام الأساسي أو البنية التحتية المطلوبة. هذا المصطلح هو أصل كل من "مكدس الخادم" و "مكدس الويب". وفقًا لذلك ، فإن LAMP stack عبارة عن مجموعة محددة وكاملة من البرامج المصممة خصيصًا لخدمة المحتوى الديناميكي عبر الإنترنت.

معلومات إضافية:

نظام التشغيل لينكس

قاعدة بيانات للانترنت أباتشي

قاعدة البيانات MySQL

مصطلح Stack يعني Stack! هذا يعني إذا كان لديك خبرة في هذه التقنيات / البنية التحتية أم لا. نظرًا لأنهم جميعًا يجتمعون معًا في حزمة LAMP يمكنك تنزيلها وتثبيتها ، فإنهم يطلقون عليها اسم مكدس.

مكدس LAMP هو الأساس لمواقع الويب المستضافة على Linux ، وهو عبارة عن حزمة برامج Linux و Apache و MySQL و PHP (LAMP).

حامل مصباح لـ: -

  1. L (LinexOS)
  2. أ (أباتشي [ خادم العميل المحلي ])
  3. M (قاعدة بيانات MySQL)
  4. P (PHP)

LAMP Stack عبارة عن مجموعة من البرامج مفتوحة المصدر التي يمكنك استخدامها لإنشاء مواقع الويب وتطبيقات الويب. LAMP هو اختصار وتتكون هذه المجموعات عادةً من نظام تشغيل Linux وخادم Apache HTTP ونظام إدارة قواعد البيانات العلائقية MySQL ولغة برمجة PHP.

    لينكس:نظام التشغيل (OS) يشكل الطبقة الأولى لدينا. يضع Linux الأساس لنموذج المكدس. تعمل جميع الطبقات الأخرى فوق هذه الطبقة. لينكس هو أدنى مستوى طبقة ويوفر نظام التشغيل. يقوم Linux بالفعل بتشغيل كل مكون من المكونات الأخرى. ومع ذلك ، فأنت لست مقيدًا بـ Linux فقط ؛ يمكنك بسهولة تشغيل كل مكون من المكونات الأخرى في Microsoft® ؛ Windows® أو Mac OS X أو UNIX® إذا كنت تفضل ذلك.

    اباتشي:تتكون الطبقة الثانية من برنامج خادم الويب ، وعادة ما يكون خادم الويب Apache. توجد هذه الطبقة أعلى طبقة Linux. خوادم الويب مسؤولة عن الترجمة من متصفحات الويب إلى موقعها الصحيح. يوفر Apache آلية لإحضار صفحة ويب إلى مستخدم. يعد Apache خادمًا مستقرًا وحيويًا للمهام ويتمتع بتشغيل أكثر من 65 بالمائة من جميع مواقع الويب على الإنترنت. يوجد مكون PHP بالفعل داخل Apache وأنت تشارك Apache و PHP لإنشاء صفحاتك الديناميكية.

    MySQL:المستوى الثالث لدينا هو قواعد البيانات. تقوم MySQL بتخزين البيانات التي يمكن الاستعلام عنها عند البرمجة النصية لإنشاء موقع ويب. عادةً ما يتم وضع MySQL أعلى طبقة Linux مع Apache / layer 2. في التكوينات المتطورة ، يمكن إلغاء تحميل MySQL إلى خادم مضيف منفصل. توفر MySQL جانب التخزين بنظام LAMP. باستخدام MySQL ، يمكنك الوصول إلى قاعدة بيانات سهلة الاستخدام للغاية ومناسبة لتشغيل مواقع الويب الكبيرة والمعقدة. في تطبيق الويب الخاص بك ، ستكون جميع بياناتك ومنتجاتك وحساباتك وأنواع المعلومات الأخرى في قاعدة البيانات هذه بتنسيق يمكنك الاستعلام عنه بسهولة باستخدام لغة SQL.

    بي أتش بي:الجلوس فوقهم هو المستوى الرابع والأخير. يتكون البرنامج النصي من PHP و / أو لغات برمجة ويب أخرى مماثلة. تعمل مواقع الويب وتطبيقات الويب على هذا المستوى. PHP هي لغة برمجة بسيطة وفعالة توفر الغراء لكل جزء آخر من نظام LAMP. أنت تستخدم PHP لكتابة محتوى ديناميكي قادر على الوصول إلى البيانات في قاعدة بيانات MySQL وبعض الميزات التي يوفرها Linux.

يمكننا تصور حزمة LAMP كما يلي: مزيد من المعلومات

زجاج المصباح يعني إل inux أمخبأ م ysql ص HP

يوجد أيضًا مكدس متوسط م ongoDB ه xpressJS أ ngularJS ن odeJS


تعد حزمة LAMP (Linux / apache / mysql / php) أكثر مجموعة التقنيات شيوعًا بين المطورين لبناء مواقع الويب. بناءً على تجربتنا ، قمنا بتطوير العديد من صور VDS الجاهزة للنشر السريع للاستضافة المصغرة التي تركز على LAMP. كان المبدأ العام في تطوير هذه الصور هو ضمان توحيد الإعدادات بحيث يمكن بسهولة نقل المواقع المستضافة على VDS إلى VDS آخر ، حتى استنادًا إلى صورة مختلفة (مجموعة أخرى من البرامج الأساسية) وجميع المهام الأساسية لـ تم إجراء أي من VDS بناءً على أي من الصور المقترحة بنفس الطريقة. كما قررنا أنه من المهم للغاية ألا تكون إضافة مواقع جديدة إلى الخادم أكثر صعوبة من مجرد إنشاء مجلد باسم الموقع. نتيجة لذلك ، أنشأنا توزيعات على أساس Debian Wheezy و Ubuntu Precise Pangolin و Ubuntu Trusty Tahr مع مجموعة البرامج التالية:

  • Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + Apache2 + PHP 5.4 (mod_php) + MariaDB 5.5 + phpMyAdmin + sftp
  • Nginx + PHP 5.4 (php-fpm) + MariaDB 5.5 + phpMyAdmin + sftp

1. وصف عام للصور النهائية

تم إنشاء جميع الصور على أساس أن المستخدم الرئيسي والوحيد في النظام ، والذي تعمل البرامج النصية نيابة عنه ويتم تنفيذ جميع الإجراءات الأخرى ، هو مستخدم الويب. بطريقة مماثلة لـ Ubuntu ، تعمل الصور المستندة إلى Debian على إهمال (حظر) الوصول المباشر إلى الجذر وتسمح بدلاً من ذلك لمستخدم الويب بتنفيذ أي أوامر بامتيازات المستخدم المتميز عبر sudo. وبالتالي ، لإدخال VDS الذي تم إنشاؤه حديثًا عبر ssh ، يجب عليك تشغيل الأمر:

$ ssh [بريد إلكتروني محمي]

بالإضافة إلى تسجيل الدخول إلى ssh ، يتم أيضًا دعم بروتوكول sftp. يتم إجراء الاتصال باستخدام نفس تسجيل الدخول إلى الويب وإما كلمة المرور التي تم إنشاؤها عند إنشاء VDS ، أو باستخدام المفتاح الذي تم تحديده أيضًا عند إنشاء VDS.

بعد تسجيل الدخول ، ستكون في مجلد / var / www / web ، وهو المجلد الرئيسي لصور VDS الخاصة بنا. ستجد هنا مجلد المواقع - هذا هو المجلد الذي ستتم فيه استضافة مواقعك. لإضافة موقع جديد ، يكفي إنشاء مجلد فرعي داخل مجلد المواقع باسم الموقع الجديد بدون البادئة www. . المزيد عن هذا أدناه.

سيكتب Apache سجلات لزيارة المواقع المستضافة إلى المجلد / var / log / apache2 ، و nginx ، إذا كان مثبتًا ، في المجلد / var / log / nginx. إذا واجهت نصوص PHP أخطاء في عملها ، فستتم كتابة المعلومات عنها في الملف /var/www/web/php-errors.log

2. إضافة المواقع

إضافة المواقع- العملية الأكثر طلبًا للاستضافة المشتركة الجماعية ، لذلك حاولنا تبسيطها قدر الإمكان. لإضافة موقع جديد mycompany.ru إلى الخادم الخاص بك ، عليك القيام بخطوتين بسيطتين:

  1. في المجلد / var / www / web / sites ، تحتاج إلى إنشاء مجلد فرعي باسم mycompany.ru ، أي باسم المجال المستضاف بدون www. . داخل هذا المجلد ، في المستقبل ، سوف تحتاج إلى تحميل البرامج النصية المتعلقة بهذا الموقع.
  2. من خلال محرر DNS لدى المزود الخاص بك والذي يوفر لك خدمة انتظار المجال في DNS ، ستحتاج إلى إضافة سجلات A تشير إلى عنوان IP الخاص بـ VDS: أحدهما للاسم mycompany.ru والآخر لـ www.mycompany .ru.

إضافة اسم مستعار(اسم بديل لموقعك) عملية بسيطة بنفس القدر. إذا كنت بحاجة إلى إضافة الاسم المستعار www.mycompany.ru إلى موقع mycompany.ru ، فأنت بحاجة إلى إجراءين فقط:

  1. قم بإنشاء ارتباط رمزي (رابط رمزي): cd / var / www / web / sites && ln -s mycompany.ru www.mycompany.ru
  2. قم بإنشاء سجلات A في DNS للإشارة إلى عنوان IP الخاص بخادمك: للاسم c www. وبدون شبكة الاتصالات العالمية.

نذكرك بأننا نقدم خدمة انتظار المجال في نظام أسماء النطاقات لجميع عملائنا مجانًا وبدون قيود. تعليمات تفويض المجالات لخوادمنا ns موجودة على الرابط.

3. العمل مع MySQL (MariaDB)

بالنسبة إلى VDS الذي تم إنشاؤه حديثًا ، يتم إنشاء كلمة مرور جذر MySQL بشكل عشوائي. يمكنك معرفة كلمة المرور باستخدام الأمر

قطة sudo /root/.my.cnf

إذا كنت تريد العمل مع MySQL من وحدة التحكم ، فسيكون ذلك كافيًا لتشغيل الأمر sudo -H mysql بدون معلمات وسيتم نقلك على الفور إلى وحدة تحكم MySQL دون الحاجة إلى إدخال كلمة مرور. إذا كان إعداد النظام هذا لا يناسبك ، فيمكنك حذف ملف my.cnf بأمان ، بعد حفظ كلمة المرور المكتوبة فيه.

يوجد ملف إعدادات MySQL في موقع قياسي ، لكنك ستحتاج إلى حقوق المستخدم المتميز لتحريره:

sudo nano /etc/mysql/my.cnf

يجب إعادة تشغيل MySQL لتصبح التغييرات سارية المفعول:

إعادة تشغيل خدمة sudo mysql

4. إعداد PHP وتثبيت الامتدادات

نظرًا لأنه تم تثبيت PHP القياسي من مستودعات Debian / Ubuntu على النظام ، فإن تكوين PHP وتثبيت الامتداد يتم بطريقة قياسية للتوزيعات القائمة على دبيان. يتم تجميع ملف php.ini من عدة مكونات: من ملف php.ini الرئيسي ومن محتويات دليل conf.d. بالنسبة لإصدار FastCGI من PHP ، يتم أخذ الإعدادات من المجلد / etc / php5 / cgi ، بالنسبة لـ mod_php - من المجلد / etc / php5 / apache2 ، لإصدار CLI (هذا / usr / bin / php ، أي ، إصدار php المستخدم لوظائف cron والمهام الأخرى التي يتم إجراؤها في وحدة التحكم) - / etc / php5 / cli. وفقًا لذلك ، يستخدم إصدار php-fpm ملف php.ini من المجلد / etc / php5 / fpm.

يمكنك بسهولة معرفة ملحقات php المثبتة على نظامك عن طريق تشغيل الأمر التالي في وحدة تحكم الخادم:

$ dpkg -l | grep php

يمكنك عرض قائمة ملحقات php المتاحة باستخدام الأمر:

$ apt-cache search php5

قبل الاستدعاء الأول لأوامر apt-cache / apt-get على نظام مثبت حديثًا ، لا تنسَ تشغيل sudo apt-get update.

تثبيت الامتداد المطلوب من القائمة بسيط للغاية. لنفترض أننا نريد إضافة مسرع XCache إلى النظام. ستتم تسمية الحزمة المقابلة php5-xcache ، وسيكون أمر تثبيتها ، الذي يتطلب امتيازات المستخدم المتميز ، هو:

sudo apt-get install php5-xcache

نظرًا لأن php منذ الإصدار 5.4 يتطلب منطقة زمنية صريحة في الإعدادات (date.timezone) ، يتم تعيين المنطقة الزمنية UTC افتراضيًا. تم تعيين هذا الإعداد في الملف /etc/php5/apache2/conf.d/local.ini. تحتاج إلى تغييره وفقًا لتفضيلاتك.

على أي حال ، إذا كانت لديك أي أسئلة حول تشغيل نظامك بناءً على صورنا الجاهزة ، فيمكنك دائمًا الاتصال بالدعم الفني لدينا.

5. تشغيل Django باستخدام uWSGI

Django (Django) هو إطار عمل مجاني يسمح لك بتطوير تطبيقات الويب الديناميكية بسرعة وكفاءة في Python.

    يتم التثبيت بطريقة لا تؤدي إلى تعطيل تشغيل المواقع الموجودة في / var / www /

    يتم تنفيذ الإجراءات على الخادم نيابة عن المستخدم الجذر.

عرض تعليمات التثبيت

5.1 تثبيت الحزم وتشغيل uWSGI

قم بتثبيت الحزم اللازمة للعمل ، وحدد أيضًا إصدار uwsgi من النقطة كإصدار افتراضي:

apt-get update && apt-get install -y python-pip python-dev uwsgi-plugin-python uwsgi && pip install virtualenv virtualenvwrapper uwsgi && update-options - install / usr / bin / uwsgi uwsgi / usr / local / bin / 80

سيستغرق التثبيت 2-3 دقائق وستستغرق الحزم المثبتة حوالي 300 ميجابايت على القرص.

دعنا ننشئ مستخدمًا في النظام ، وننتقل إليه ، ونضيف أيضًا متغيرات إلى ملف تعريف النظام الخاص به

Useradd -s / bin / bash -m -p $ (pwgen -1 -N 1) project1 && su - project1 -c "echo" export WORKON_HOME = ~ / Env ">> ~ / .bashrc && echo" source / usr / local / bin / virtualenvwrapper.sh ">> ~ / .bashrc" && su-project1

لنقم بإنشاء بيئة افتراضية ، ونثبّت django فيها وننشئ مشروعنا

Cd ~ && mkvirtualenv أول موقع وتثبيت django && django-admin.py startproject firstsite

لتسهيل إعادة قراءة المشروع ، سننشئ ملفًا

المس ~ / firstsite / touch_reload

في المستقبل ، سيكون كافيًا تنفيذ نفس الأمر نيابة عن مستخدم المشروع 1 لإرسال الأمر uwsgi لإعادة قراءة تكوين المشروع. يمكن أن يكون هذا مناسبًا جدًا عندما يتم تطوير المشروع بواسطة متخصص منفصل بدون وصول الجذر إلى الخادم - لن يحتاج مسؤول الخادم إلى تسجيل الدخول كجذر في كل مرة لإعادة تشغيل uwsgi.

دعنا نعود إلى جلسة المستخدم الجذر باستخدام اختصار لوحة المفاتيح Ctrl + D.

لنقم الآن بإنشاء ملف تكوين uwsgi لمشروعنا

Mcedit /etc/uwsgi/apps-enabled/firstsite.ini

وانسخه فيه (لا يلزم إجراء تغييرات على النص المنسوخ):

المشروع = userhomedir الموقع الأول = / home / project1 chdir =٪ (userhomedir) /٪ (project) home =٪ (userhomedir) / Env /٪ (project) module =٪ (project) .wsgi: عمليات التطبيق = 4 خيوط = 2 chown -socket = www-data uid = project1 gid = project1 vacuum = true touch-reload =٪ (userhomedir) /٪ (project) / touch_reload buffer-size = 8192 listen = 128 harakiri = 300

للحفظ في mcedit ، فقط اضغط على F2 على لوحة المفاتيح.

ابدأ خادم uwsgi

/etc/init.d/uwsgi ابدأ

5.2 إنشاء ملف تكوين لـ nginx

نحتاج إلى معرفة عنوان IP الخاص بالخادم. يمكن مشاهدته عن طريق تشغيل الأمر

اسم المضيف -I

لنقم بإنشاء ملف التكوين لـ nginx

medit / etc / nginx / sites-available / firstsite

واملأه بالنص التالي

الخادم (استمع للخادم: 80 ؛ اسم_الخادم sitenameru ؛ الموقع = /favicon.ico (access_log on ؛ log_not_found off ؛) الموقع / ثابت / (root / home / project1 / firstsite ؛) الموقع / (بما في ذلك uwsgi_params ؛ uwsgi_pass unix: /// run / uwsgi / app / firstsite / socket ؛))

في ملف التكوين هذا ، ستحتاج إلى تغيير serverip إلى عنوان IP الخاص بخادمك ، و sitenameru إلى اسم المجال الذي سيتم فتح مشروعك عليه.

قم بتنشيط ملف التكوين الذي تم إنشاؤه حديثًا وقم بإشارة nginx لإعادة قراءة ملف config

Ln -s / etc / nginx / sites-available / firstsite / etc / nginx / sites-enabled / && nginx -s reload

مستعد! إذا كان السجل A في DNS لنطاق sitenameru يشير إلى عنوان IP للخادم ، فيجب أن يكون مشروعك متاحًا بالفعل في sitenameru.

5.3 تحسين عرض الملفات الثابتة

عندما يتم تحميل المشروع وتحتاج إلى تحسين الملفات الثابتة ، فسيكون ذلك كافيًا لتشغيل الأوامر

سو - مشروع 1 العمل في الموقع الأول

أضف إشارة إلى موقع الملفات الثابتة في نهاية الملف firstsite / firstsite / settings.py

صدى "STATIC_ROOT = os.path.join (BASE_DIR،" ثابت / ")" | نقطة الإنطلاق -a ~ / firstsite / firstsite / settings.py

قم بتشغيل البرنامج النصي لجمع الملفات الثابتة

~ / firstsite / management.py collectstatic

لبدء البرنامج النصي ، عليك كتابة "نعم".

  • سيرجي سافينكوف

    نوع من المراجعة "الهزيلة" ... كما لو كنت في عجلة من أمرنا في مكان ما