أباتشي ونجينكس. مرتبطة بسلسلة واحدة

كيف يتم تنفيذ حزمة Apache & Nginx في Timeweb



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



صورة



استخدام مثل هذه الحزمة ، بالطبع ، تمليه احتياجات عملائنا. يلعب كل من Nginx و Apache دورًا خاصًا ، حيث يحل كل منهما مشكلة معينة.



تتم إعدادات Apache الرئيسية في ملفات تكوين Apache نفسها ، وتتم إعدادات مواقع العملاء من خلال ملف htaccess.... .htaccess هو ملف تكوين حيث يمكن للعميل تخصيص قواعد وسلوك خادم الويب بشكل مستقل. سيكون هذا الإعداد خاصًا بموقعه. على سبيل المثال ، بفضل وظيفة Apache ، يمكن للمستخدمين تغيير وضع التشغيل داخل نفس إصدار PHP من mod_php إلى mod_cgi ؛ يمكنك تخصيص عمليات إعادة التوجيه وتحسين SEO وعنوان URL المناسب وبعض حدود PHP.



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



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



ميزات حزمة Apache & Nginx في Timeweb



تنفذ الاستضافة الافتراضية مخططين رئيسيين لـ Apache & Nginx: مشترك ومخصص .







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



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





مشترك



مخطط مخصص



يتطلب المخصص المزيد من الموارد ، لذا فإن التعريفة الجمركية أعلى تكلفة للعملاء. في المخطط المخصص ، يتم رفع Apache منفصل لكل عميل. الموارد هنا محجوزة للعميل ، يتم تخصيصها حصريًا. كيف يعمل: هناك العديد من إصدارات PHP على الخادم. نحن ندعم الإصدارات 5.3 و 5.4 و 5.6 و 7.1 و 7.2 و 7.3 و 7.4. لذلك ، لكل إصدار PHP ، يتم تشغيل Apache الخاص به.





مخطط مخصص



منطقة أمنة. تكوين المناطق في Nginx



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



أدى هذا التكوين إلى توفير موارد RAM بشكل كبير وجعل Nginx يعمل بشكل أسرع.



التحديث لن يعمل!



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



تخلصنا من عمليات إعادة التحميل من خلال إنشاء تكوينات ديناميكية. بفضل mpm-itk (وحدة Apache) ، يتم تشغيل كل عملية من مستخدم منفصل ، مما يزيد من مستوى الأمان. تسمح لك هذه الطريقة بنقل البيانات حول المستخدم و document_root الخاص به من Nginx إلى Apache2. وبالتالي ، لا يحتوي Apache على تكوينات للموقع ، بل يستقبلها ديناميكيًا ، ولم تعد عمليات إعادة التحميل مطلوبة.





تكوين مخطط مشترك



ماذا عن Docker؟



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



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



Timeweb يدعم حوالي 500000 موقع. نتحمل مسؤولية كبيرة ولا نجري تغييرات فورية وغير ضرورية على بنية معقدة. حزمة Apache & Nginx موثوقة وتم اختبارها على مدار الوقت. نحن بدورنا نسعى جاهدين لتحقيق أقصى أداء من خلال التكوينات الفريدة.



للحصول على عمل سريع وعالي الجودة لعدد كبير من المواقع ، تحتاج إلى استخدام القالب والتكوين الديناميكي لـ Apache و Nginx. يتيح لك إدارة عدد كبير من الخوادم المماثلة بسهولة وسرعة.



All Articles