أباتشي ونجينكس. مقيد بسلسلة واحدة (الجزء 2)

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





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



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



يمكنك قراءة المزيد حول عمل المخطط المشترك في الجزء الأول من المقالة .





مخطط مشترك من



المهم ملاحظة أننا وضعنا حزم PHP في إصدارات مختلفة ، لأن جميع التوزيعات عادةً ما تحتوي على إصدار PHP واحد فقط.



السلامة اولا!



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



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



بالنسبة إلى Nginx ، يتم استخدام تصحيح أمان تم تطويره بواسطة فريق Timeweb: يقوم هذا التصحيح بتغيير المستخدم إلى المحدد في ملف تكوين خادم الويب.



يمكن لموفري الاستضافة الآخرين حل هذه المشكلة ، على سبيل المثال ، من خلال التلاعب بحقوق نظام الملفات الموسعة (ACL).



يستخدم Apache وحدة المعالجة المتعددة mpm-itk . يسمح لكل مضيف VirtualHost بالتشغيل باستخدام معرف المستخدم الخاص به ومعرف المجموعة.



وبالتالي ، بفضل العمليات الموضحة أعلاه ، نحصل على بيئة آمنة ومعزولة لكل عميل. في الوقت نفسه ، نقوم أيضًا بحل مشاكل توسيع نطاق الاستضافة المشتركة.



يمكنك قراءة كيفية تنفيذ ارتباطات Apache و Nginx في الجزء الأول من مقالتنا. بالإضافة إلى ذلك ، تم وصف تكوين بديل من خلال المخطط المخصص هناك أيضًا.



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



All Articles