الأسبوع الماضي في
الاستضافة المشتركة (الاستضافة المشتركة) تفترض استضافة العديد من حسابات العملاء على خادم واحد. كقاعدة عامة، يحتوي حساب العميل الواحد على عدة مواقع ويب. تعمل مواقع الويب على كل من أنظمة إدارة المحتوى (CMS) الجاهزة (على سبيل المثال، Bitrix) والأنظمة المخصصة. وبالتالي، تختلف المتطلبات الفنية لجميع الأنظمة، لذلك يجب إدارة عدة إصدارات من PHP ضمن نفس الخادم.
نحن نستخدم Nginx باعتباره خادم الويب الرئيسي: فهو يقبل جميع الاتصالات من الخارج ويقدم محتوى ثابتًا. نقوم بتوكيل الطلبات المتبقية إلى خادم الويب Apache. هذا هو المكان الذي يبدأ فيه السحر: يقوم كل إصدار من PHP بتشغيل مثيل Apache منفصل يستمع على منفذ معين. تم تسجيل هذا المنفذ في المضيف الظاهري لموقع العميل.
يمكنك قراءة المزيد حول تشغيل المخطط المشترك في
مخطط مشترك
من المهم ملاحظة أننا نقوم بتثبيت حزم PHP لإصدارات مختلفة، لأن جميع التوزيعات عادةً ما تحتوي على إصدار واحد فقط من PHP.
السلامة اولا!
إحدى المهام الرئيسية للاستضافة المشتركة هي ضمان أمان بيانات العميل. الحسابات المختلفة الموجودة على نفس الخادم تكون مستقلة ومستقلة. كيف تعمل؟
يتم تخزين ملفات موقع الويب في الدلائل الرئيسية للمستخدمين أنفسهم، ويتم تحديد المسارات المطلوبة في المضيف الظاهري لخوادم الويب. من المهم أن يكون لدى خوادم الويب، Nginx وApache، إمكانية الوصول إلى الملفات النهائية لعميل معين، حيث يتم تشغيل خادم الويب بواسطة مستخدم واحد فقط.
يستخدم Nginx تصحيحًا أمنيًا تم تطويره بواسطة فريق Timeweb: يقوم هذا التصحيح بتغيير المستخدم إلى التصحيح المحدد في ملف تكوين خادم الويب.
بالنسبة لموفري الاستضافة الآخرين، يمكن حل هذه المشكلة، على سبيل المثال، من خلال معالجة حقوق نظام الملفات الموسعة (ACL).
يستخدم Apache وحدة معالجة متعددة للتشغيل
وبالتالي، بفضل العمليات الموضحة أعلاه، نحصل على بيئة آمنة ومعزولة لكل عميل. وفي الوقت نفسه، نقوم أيضًا بحل مشكلات التوسع في الاستضافة المشتركة.
يمكن قراءة كيفية تنفيذ مجموعة Apache وNginx
إذا كان لديك أي أسئلة لخبرائنا، فاكتبها في التعليقات. سنحاول الإجابة على كل شيء أو وصف حل المشكلة بمزيد من التفصيل في المقالات التالية.
المصدر: www.habr.com