سؤال

لدي موقع ويب يعمل على حزمة Linux/Apache/Tomcat ويجب إيقاف تشغيله تلقائيًا كل بضعة أشهر لصيانة الخادم، الأمر الذي سيستمر لفترة زمنية عشوائية.ما هي بعض الخيارات لجعل Apache يقوم بوضع صفحة "صيانة الخادم" وإزالتها؟

أحتاج أن أكون قادرًا على التحكم في هذا عبر برنامج Shell النصي.(تدور الإجابات التي قدمتها Google حول تحرير تكوين الخادم يدويًا، ولا أريد أن أكون في المكتب في الساعة 3 صباحًا!) أفترض أنه يمكنني وضع البرنامج النصي في ملف .htaccess وحذفه عند الانتهاء، ولكن هذا يبدو أقل من رشيقة.


تعليق الرد:

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

هل كانت مفيدة؟

المحلول

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

ملاحظة.أستخدم Load Master 1500 لموازن التحميل.

نصائح أخرى

من السهل جدًا بدء تشغيل Apache باستخدام ملف تكوين مخصص.على نظامي:

httpd -f <config>

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

أنشئ ملفين للتكوين وقم بتبديلهما ذهابًا وإيابًا

إذا تم تغيير جزء صغير فقط من الملف، فادمجه مع نوع من المعالجات المسبقة وقم بإنشاء الإصدارين القياسي و"غير المتصل" من مصدر واحد والتبديل بينهما.

IIRC يتم إنشاء ملفات تكوين Apache باستخدام CPP على أي حال

لقد فعلنا شيئا مماثلا.لدينا ملف Index.html الذي يعيد التوجيه إلى صفحة موقعنا الرئيسية.عندما نقوم بالصيانة، نقوم بتشغيل برنامج نصي يغير عملية إعادة التوجيه في ملف html.ثم نقوم من خلال البرنامج النصي في نافذة الصيانة التلقائية لـ cron و viola.

امل ان يساعد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top