ويب سيرفر

16يناير

المزامنة التلقائية للملفات بين الخوادم باستخدام Unison

ضمن تجربة قمت بها لإنشاء خادم ويب موزع بين جهازين أو أكثر، كانت واحدة من أهم الخطوات للوصول للهدف هو أن تكون محتويات مسار /var/www/html متزامنة بين الخوادم. يعود السبب في ذلك إلى أن الموقع يقدم خدمات كرفع الملفات واستعراضها، بالتالي فوجود نسخة متطابقة على جميع الخوادم خطوة أساسية للحصول على النتيجة. بالطبع هناك طرق بديلة لهذه المعضلة كاستخدام NFS أو رفع هذه الملفات على خدمة خارجية مثل Amazon S3، لكن هذه الحلول لم تكن متاحة في البيئة التي عملت عليها.

مشروع Unison لطيف جدًا ويفي بجميع الشروط التي أبحث عنها. من أهم هذه الشروط هو أنه في حال حدوث تغيير على ملف في أي من الخادمين، فإن التغيير يتم بثه إلى الخادم الآخر “Bi-Directional” وليس محددًا من مصدر واحد. عبر يونيسون تستطيع تحديد أي من الخادمين هو من يقوم بعملية الفحص والتأكيد على وجود ملفات بحاجة للمزامنة. إذا كانت لديك عشرة خوادم على سبيل المثال، فتستطيع وضع سيرفر واحد كخادم أساسي، وتسعة خوادم ثانوية ترتبط معه وتقوم بعملية المزامنة (وهو ماسنقوم به في هذه التدوينة). طريقة أخرى تستطيع القيام بها هو أن يقوم الخادم رقم عشرة بالمزامنة من الخادم التاسع، والتاسع من الثامن، وهكذا حتى يكون الخادم الثاني مرتبط مع الخادم الأول الأساسي. تسمية “أساسي” في هذه التدوينة لا تعني سوى أن الخادم الأساسي لا يقوم بنفسه بالاتصال بالخوادم الأخرى للمزامنة والمقارنة، بل ينتظر الاتصال من الخوادم الأخرى للمزامنة، وتستطيع القيام بالمزامنة دون تنصيب يونيسون عليه أصلًا. بالمناسبة، يحتوى مشروع يونيسون على مميزات أخرى منها دعمه لأنظمة ويندوز أو أي مختلف نكهات *nix، وبإمكانك الاطلاع على المزيد من هنا.

إعداد يونيسون

الخطوات التالية ستشرح كيفية إعداد يونيسون بين خادمين لمزامنة ملفات أباتشي على مسار /var/www/html. سنقوم بتسمية الخادمين بالخادم الأساسي والثانوي.

أكمل القراءة »

16أغسطس

إعادة توجيه الروابط بين مدونات ووردبريس عبر htaccess

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

ameenali.com/blog/
www.ameenali.com/blog/2014/12/difference-between-thick-and-thin-provisioning/

أريد أن يتم تحويل الزائر بشكل تلقائي إلى الروابط التالية:

ameen.io/blog/
ameen.io/blog/2014/12/difference-between-thick-and-thin-provisioning/

تبدو المهمة سهلة جدًا، ومن الممكن أن تتم في غضون دقائق عبر بعض التعديلات على ملف أكمل القراءة »

© جميع الحقوق مبذولة