يمكن لخادم VPS بـ 9.99 دولار شهريًا أن يستضيف خمسة مواقع تعريفية ومتجرًا صغيرًا دون أن يتعب. الحدّ ليس في الآلة غالبًا، بل في قرارات اليوم الأول: كيف تصل النطاقات، وأين تعيش قواعد البيانات، ومن ينسخ ماذا، ومن يملك صلاحية الجذر. في هذا الدليل نشرح كيفية استضافة عدة مواقع على خادم VPS واحد دون أن يكسر الموقع الثالث الموقع الأول.
لماذا نجمع عدة مواقع على خادم واحد
كل خطة VPS من نوع NVMe تشمل عنوان IPv4 مخصصًا، ونطاق تردد غير محدود، وصلاحية الجذر (root)، ولوحة إدارة، ونسخًا احتياطية تلقائية، وجدار حماية مع حماية من هجمات DDoS، ومراقبة على مدار الساعة، ودعمًا ستة أيام في الأسبوع، واتفاقية مستوى خدمة (SLA) بنسبة 99.9% على البنية التحتية. دفع ثمن خمسة خوادم لخمسة مواقع قليلة الزيارات يعني حجز السعة نفسها خمس مرات، ودفع خمس فواتير لإدارة واحدة.
عنوان واحد يكفي: بفضل آلية SNI يقدّم nginx الشهادة المطابقة للاسم المطلوب، فتتعايش عدة نطاقات على العنوان نفسه. لا حاجة إلى عنوان لكل موقع: لكل نطاق شهادته ودورة تجديده.
ما ينجح فيه التجميع
- محفظة وكالة. خمسة أو ستة مواقع لعملاء على أساس تقني واحد، ومكان واحد للتحديث والمراقبة.
- موقع تعريفي ومتجر خفيف. زيارات غير منتظمة، وذُرى قصيرة، وقاعدة بيانات بحجم بضع مئات من الميغابايت.
- بيئة اختبار وإعادة تصميم. نسخة إلى جانب الموقع الإنتاجي، محجوبة عن محركات البحث عبر مصادقة أساسية أو وسم
noindex. - مشاريع قيد الإنجاز. يُبنى الموقع الجديد بجانب القديم، ثم يحلّ مكانه بتغيير سجل افتراضي واحد فقط.
ما لا يحلّه التجميع
الخادم المشترك لا يعزلك عن تسرّب الذاكرة: موقع يستهلك المعالج بالكامل يُبطئ الباقي، وهذا جوهر المشاركة لا عيبًا فيها. ولا يعزلك قانونيًا إذا اشترط عميل آلة مخصصة أو منفصلة لأسباب تعاقدية. ولا يغفر الارتجال: ثلاثة مواقع مثبّتة يدويًا داخل /var/www بمستخدم واحد وقاعدة واحدة تنتج منصة لا يجرؤ أحد على تحديثها، لأن كل تحديث صار مخاطرة على الجميع في وقت واحد.
السجلات الافتراضية أم الحاويات: أي عزل تختار
سجل افتراضي لكل موقع
يحصل كل موقع على كتلة server خاصة به، وجذره، وسجلاته، وإن كان يعمل بـ PHP فعلى تجمّع PHP-FPM مستقل بمستخدم نظام منفصل. هذا أخفّ الخيارات: لا طبقة إضافية، وتشخيص مباشر في السجلات، وبصمة ذاكرة دنيا. المقابل أن المواقع كلها تتشارك إصدار PHP واحدًا ومكتبات النظام نفسها، والانتقال إلى إصدار رئيسي جديد يُحضَّر مسبقًا ولا يُرتجل في منتصف الأسبوع.
حاوية لكل موقع
يحمل كل موقع بيئته: إصدار PHP القديم لموقع 2019، والإصدار الحالي للبناء الجديد، وNode للتطبيق الداخلي. تُضبط حدود الذاكرة والمعالج لكل حاوية على حدة، وإعادة التشغيل تمسّ موقعًا واحدًا، وإعادة بناء الصورة تعيد التكوين نفسه على أي خادم. الثمن: خادم Docker، وطبقة شبكة تحتاج فهمًا، وغيغابايتات من الصور تتراكم على قرص NVMe إن لم تُنظَّف دوريًا.
| المعيار | سجل nginx افتراضي | حاوية لكل موقع |
|---|---|---|
| الذاكرة | الحد الأدنى، تجمّع PHP-FPM واحد | صورة وبيئة تشغيل لكل موقع |
| إصدارات التشغيل | إصدار واحد مشترك | إصدار لكل موقع دون تعارض |
| نطاق الأثر عند العطل | الجميع يتأثر | حدود وإعادة تشغيل موجّهة |
| التحديث | ملفات تُستبدل في المكان | صورة تُعاد بناؤها ورجوع فوري |
| التعقيد التشغيلي | منخفض | متوسط: خادم، شبكة، وحدات تخزين |
| متى تختاره | ثلاثة إلى خمسة مواقع بسيطة | مواقع متباينة وعملاء منفصلون |
قاعدة البيانات المشتركة: نقطة الانكسار الحقيقية
قاعدة بيانات واحدة تبقى خيارًا معقولًا لخمسة مواقع: PostgreSQL وMariaDB تديران عدة مخططات بكفاءة، ونسخة واحدة تستهلك ذاكرة أقل من خمس نسخ. ما ينهار فعلًا هو حساب الإدارة المنسوخ في كل ملفات التكوين: ثغرة حقن SQL في أقدم موقع تكفي ليقرأ المهاجم جداول أحدث عميل. أربع قواعد تمنع هذا السيناريو:
- مستخدم لكل موقع، بصلاحيات محصورة في مخططه ولا شيء غيره.
- مخطط لكل موقع باسم واضح، ليبقى التصدير والاستعادة محددين.
- تصديرات منفصلة، وإلا فإن استعادة موقع واحد تُرجع المواقع الأخرى إلى الوراء.
- إصدار تطبيقي متوافق لكل مخطط: نظاما إدارة محتوى يطلبان إصدارين رئيسيين مختلفين لا يتعايشان بسهولة على القاعدة نفسها.
راقب أيضًا عدد الاتصالات المتزامنة وحجم الذاكرة المخصصة لمخزن القاعدة المؤقت: هذا أول إعداد يُدفع ثمنه زمنَ استجابة عندما تكتب ستة مواقع في اللحظة نفسها.
شهادات TLS وDNS: الأتمتة لكل نطاق
الشهادة المنسية تبقى أكثر الأعطال قابلية للتفادي، وتصبح مسألة روتينية حين تدير ثمانية نطاقات. التسلسل الذي ينجح دائمًا: يشير سجل DNS إلى عنوان IPv4 للخادم، ويستجيب السجل الافتراضي عبر HTTP، ثم يطلب عميل ACME شهادة لهذا الاسم. لا تطلب الشهادة قبل أن يعمل الموقع عبر HTTP، ولا تنسَ أن الشهادة صالحة لثلاثة أشهر فقط.
- تحقّق من التجديد ولا تكتفِ بجدولته. يعرض
systemctl list-timersالموعد القادم؛ وتجربة في وضع الاختبار تؤكد أن تحدّي ACME يمر فعلًا. تحدّي HTTP-01 كافٍ لنطاق لكل موقع، أما الشهادة الشاملة (wildcard) فتتطلب DNS-01 وصلاحية على منطقة النطاق. - انتبه إلى الوسيط. خلف شبكة توصيل محتوى (CDN) في وضع الوسيط، يجب أن تبقى شهادة الأصل صالحة لكل اسم، وإلا تلقّى الزائر خطأ 525 بينما يعمل الموقع محليًا بلا مشكلة.
بعد كل إضافة، يجب أن يعيد curl -sI https://example.ma الرمز 200 أو 301، وأن يعرض openssl s_client -servername example.ma الاسم الصحيح.
النسخ الاحتياطي والمراقبة: موقع واحد في كل مرة
النسخ الاحتياطية التلقائية في كل خطة تغطي عطل الآلة: قرص يتعطل، أو مفرط معطوب، أو خطأ في التعامل على مستوى الخادم. لكنها لا تعوّض تصديرًا تطبيقيًا متسقًا، لأن نسخة خام مأخوذة أثناء الكتابة قد تكون غير قابلة للاستخدام. الوحدة الصحيحة هي الموقع لا الخادم:
- تصدير لكل موقع كل ليلة، قاعدة وملفات، مع دورة إحلال واضحة ومكتوبة.
- نسخة خارج الخادم، وإلا اختفت النسخة مع الشيء الذي تحميه.
- استعادة مختبرة مرة على الأقل لكل موقع: أرشيف لم يُقرأ مرة ثانية يبقى افتراضًا لا ضمانًا.
- سجلات منفصلة ودوران مضبوط: موقع ثرثار قد يملأ قرص NVMe ويعطّل الجميع.
المراقبة على مدار الساعة واتفاقية 99.9% تخصّان البنية التحتية: الآلة والشبكة والمفرط. أما ما يعمل داخل مواقعك فيبقى مسؤوليتك، ولا يمكن لمزوّد جاد أن يضمن شيفرة غيره. أضف مسبارًا لكل نطاق يتحقق من رمز الاستجابة ومن المحتوى، لا من مجرد استجابة الخادم.
اختيار الخطة: كم موقعًا لكل خطة
الخطط الخمس، بأسعارها المعلنة بالدولار وبالدرهم خارج الضريبة، مع الاستخدام الواقعي لكل منها. التقديرات تفترض مواقع تعريفية أو متاجر قليلة الزيارات مع تفعيل التخزين المؤقت:
| الخطة | vCPU | RAM | NVMe | دولار/شهر | درهم بدون ضريبة | عدد المواقع الواقعي |
|---|---|---|---|---|---|---|
| VPS-1G Démarrage | 1 | 1 غيغابايت | 30 غيغابايت | 9.99 | 94.48 | موقع واحد أو موقعان خفيفان جدًا |
| VPS-2G Business | 1 | 2 غيغابايت | 40 غيغابايت | 19.99 | 189.06 | ثلاثة أو أربعة مواقع تعريفية |
| VPS-3G Performance | 2 | 3 غيغابايت | 50 غيغابايت | 34.99 | 330.93 | أربعة إلى ستة مواقع ومتجر |
| VPS-4G Avancé | 2 | 4 غيغابايت | 80 غيغابايت | 39.99 | 378.22 | ستة إلى ثمانية مواقع ومتجران |
| VPS-5G Ultra | 3 | 5 غيغابايت | 100 غيغابايت | 49.99 | 472.80 | ثمانية إلى عشرة مواقع وبيئات بناء واختبار |
هذه نطاقات تقديرية لا ضمانات: قِس قبل الاختيار ثم اترك هامشًا بنسبة 30%. قِس الذاكرة التي تستهلكها العمليات فعلًا، وحجم القواعد، وذروة الزيارات، ثم قرّر. الانتقال إلى خطة أكبر متاح في أي وقت دون ترحيل مؤلم، ما يجعل خطأ التقدير قليل الكلفة. تُستضاف الخدمة اليوم من نيويورك (أقل من 5 مللي ثانية محليًا، و10 إلى 20 مللي ثانية إلى مونتريال)؛ ومركز بيانات الرباط معلن لكنه غير مفتوح بعد.
متى نتوقف عن التجميع
يصبح التجميع فكرة سيئة حين تتجاوز كلفته كلفة الفصل. خمس علامات لا تخدع:
- موقع يستنزف الآلة. نطاق واحد يستهلك معظم المعالج في ساعات الذروة.
- نوافذ النسخ تتداخل. تصدير ليلي ما زال جاريًا عند ساعات العمل يعني خادمًا محمّلًا بأكثر من طاقته.
- عميل يطلب فصلًا. بيانات حساسة أو تدقيق أو بند تعاقدي: السؤال لم يعد تقنيًا.
- البيئات تتباعد. تطبيقان يطلبان إصدارين غير متوافقين والحلول الالتفافية تتراكم.
- العطل يصبح جماعيًا. هجوم على موقع واحد يُخرج الباقي من الخدمة.
المخرج بسيط: خادم VPS ثانٍ، ونسخة من الملفات وقاعدة البيانات، وتغيير سجل DNS واحد. احتفظ بالخطة نفسها وبالصورة النظامية نفسها، حتى لا تضطر إلى تعلّم بنية جديدة في منتصف حادث.
الأسئلة الشائعة (FAQ)
كم موقعًا يمكن استضافته على خادم VPS بذاكرة 1 غيغابايت؟
موقع تعريفي مع تخزين مؤقت يكفي، وموقعان إذا كان أحدهما ثابتًا. بعد ذلك تنفد الذاكرة: كل تجمّع PHP-FPM وكل عملية قاعدة بيانات وكل خدمة خلفية تأخذ نصيبها. خطة 2 غيغابايت هي نقطة البداية الواقعية لثلاثة أو أربعة مواقع صغيرة.
هل أحتاج عنوان IPv4 لكل موقع؟
لا. كل خطة تشمل عنوان IPv4 مخصصًا، وتتيح آلية SNI خدمة عدة نطاقات على العنوان نفسه بشهادة منفصلة لكل نطاق. العنوان الإضافي نادرًا ما يُبرَّر: عميل يصرّ على عنوانه الخاص، أو بريد صادر يجب فصل سمعته عن بقية المواقع.
هل تكفي النسخ الاحتياطية التلقائية لعدة مواقع؟
تغطي عطل الآلة لا الخطأ التطبيقي. إذا أفسد موقع قاعدة بياناته، أعادت نسخة الخادم آلة سليمة بقاعدة بيانات تالفة. احتفظ بتصدير لكل موقع، واختبر الاستعادة مرة واحدة على الأقل.
هل يمكن منح كل عميل وصولًا منفصلًا؟
نعم على مستوى نظام الملفات وتجمّع PHP-FPM، بمستخدم لكل موقع. لكن وصول الجذر يبقى واحدًا: من يحصل عليه يرى بقية المواقع وبياناتها. للفصل الحقيقي يلزم خادم لكل عميل.
استضافة مواقع أكثر دون إعادة بناء المنصة
ابدأ بجرد مكتوب: النطاقات، وبيئة تشغيل كل موقع، وقواعد البيانات وأحجامها، ونافذة النسخ الاحتياطي، وذروة الزيارات. هذا الجدول يحسم الباقي — سجلات افتراضية إذا تشابهت المواقع، وحاويات بمجرد أن تتباين البيئات. وإن كنت تدير مواقع عملائك، فإن برنامج الاستضافة بالعلامة البيضاء مصمم لهذه الحالة بالضبط؛ أما الآلة نفسها فقارن خطط VPS من نوع NVMe وأسعارها ومواصفاتها قبل الطلب.