[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-mongodb-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},59,"heberger-mongodb-vps","استضافة MongoDB على خادم VPS","استضِف MongoDB على خادم VPS السحابي الخاص بك: نشر عبر Docker، وreplica set، ومصادقة، وفهرسة، ونسخ احتياطية محكمة.",8,583,false,"2026-04-22T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-mongodb-vps-poster.svg",{"categorySlug":18,"appSlug":27},"mongodb","MongoDB هي قاعدة البيانات الوثائقية المرجعية للتطبيقات الحديثة: مخطط مرن، واستعلامات غنية، وقابلية للتوسّع الأفقي. استضافتها ذاتيًا على خادم VPS تحرّرك من تكاليف Atlas لكل عنقود (cluster) وتمنحك تحكمًا كاملاً في الفهارس وreplica set والاحتفاظ بالبيانات.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","لماذا تستضيف MongoDB ذاتيًا على خادم VPS","يفرض MongoDB Atlas الفوترة لكل عنقود ولكل غيغابايت ولكل عملية، ويقيّد بعض الميزات خارج المستويات المميزة. بنشر MongoDB على خادم VPS الخاص بك، تنشئ replica set كاملاً لتحقيق التوافر العالي، وتفعّل المحلّل (profiler) والفهارس التي تريدها، وتحتفظ بمستنداتك على بنية تحتية تتحكم فيها. وهذا مناسب لتطبيق Node.js\u002FExpress، أو خلفية لتسجيل السجلّات، أو كتالوج منتجات بهيكل متغيّر، أو أي نظام يتطور فيه المخطط بسرعة. ومع WiredTiger كمحرّك تخزين وتحديد مناسب لحجم RAM لمجموعة العمل (working set)، يقدّم خادم VPS أداءً مماثلاً تمامًا لنسخة مُدارة، بجزء بسيط من التكلفة.",{"type":35,"title":36,"items":37},"ul","الفوائد الملموسة لـ MongoDB مُستضاف ذاتيًا",[38,39,40,41,42,43],"replica set كامل (أساسي + ثانويات) عبر عدة خوادم VPS لتحقيق التوافر العالي.","فهارس ومحلّل دون قيود: مركّبة، وجزئية، وTTL، وجغرافية مكانية، ونص كامل.","تحكم في ذاكرة WiredTiger المؤقتة للحفاظ على مجموعة العمل في الذاكرة.","لا فوترة لكل عملية ولا حسب حجم العنقود: اشتراك VPS يمكن التنبؤ به.","نسخ احتياطية عبر `mongodump` أو لقطات وحدة التخزين، حسب حجم بياناتك.","سيادة على البيانات ووصول كامل إلى سجلّات الخادم ومقاييسه وتهيئته.",{"type":31,"title":45,"body":46},"المتطلبات المادية والبرمجية","يستفيد MongoDB من ذاكرة RAM لذاكرته المؤقتة WiredTiger: اسعَ إلى أن تكون قادرًا على احتواء مجموعة العمل فيها (البيانات والفهارس التي يكثر الوصول إليها). لمشروع تطوير أو تطبيق صغير، يناسب معالجان افتراضيان (2 vCPU) و4 غيغابايت من RAM مع 40 غيغابايت من SSD. أما للإنتاج مع replica set، فخصّص 4 vCPU و8 غيغابايت من RAM لكل عقدة، ومن الأمثل ثلاثة خوادم VPS منفصلة (خادم أساسي، وثانويان، أو حَكَم (arbiter) للنِصاب). على الصعيد البرمجي: Ubuntu 22.04\u002F24.04 LTS، وDocker وCompose v2، ووحدة تخزين دائمة لـ `\u002Fdata\u002Fdb`، ونظام ملفات XFS الذي يوصي به MongoDB لـ WiredTiger. ويفيد وجود نطاق (مثل: `mongo.myapp.com`) إذا كنت تكشف الوصول عبر TLS.",{"type":48,"title":49,"steps":50},"steps","نشر MongoDB باستخدام Docker في بيئة الإنتاج",[51,54,57,60,63,66],{"title":52,"body":53},"تهيئة خادم VPS","ثبّت Docker، وعطّل Transparent Huge Pages (توصية من MongoDB)، وأغلق المنفذ 27017 نحو الخارج باستخدام `ufw deny 27017`. إن MongoDB دون مصادقة ومكشوفًا على الإنترنت هدف فوري لبرمجيات الفدية.",{"title":55,"body":56},"تعريف ملف docker-compose.yml","أعلن عن خدمة `mongo:7`، وركّب وحدة تخزين على `\u002Fdata\u002Fdb`، ومرّر `MONGO_INITDB_ROOT_USERNAME` و`MONGO_INITDB_ROOT_PASSWORD` عبر `.env`. أضف الأمر `--auth` لفرض المصادقة منذ بدء التشغيل.",{"title":58,"body":59},"إنشاء مستخدمي التطبيق","بعد `docker compose up -d`، اتصل باستخدام `docker compose exec mongo mongosh`، ثم أنشئ مستخدمًا مخصصًا لقاعدة بياناتك بدور `readWrite` فقط. احتفظ بحساب root للإدارة فقط، لا للتطبيق أبدًا.",{"title":61,"body":62},"تفعيل replica set","لتحقيق التوافر العالي، شغّل كل عقدة بـ `--replSet rs0`، ثم هيّئ باستخدام `rs.initiate()` مع سرد الأعضاء. يوفّر replica set تجاوز الفشل التلقائي ويتيح القراءة من الثانويات (`readPreference: secondary`).",{"title":64,"body":65},"تأمين الوصول عن بُعد بـ TLS","إذا اتصل تطبيق خارجي، فعّل TLS بشهادة Let's Encrypt مركّبة داخل الحاوية (`--tlsMode requireTLS`)، واستخدم المفتاح الداخلي (`--keyFile`) لمصادقة أعضاء replica set فيما بينهم.",{"title":67,"body":68},"الفهرسة والنسخ الاحتياطي","أنشئ فهارسك باستخدام `db.collection.createIndex()` مع تحليل الاستعلامات عبر `explain()`. جدوِل `mongodump` يوميًا أو، للأحجام الكبيرة، لقطات متسقة لوحدة التخزين، وأرشفها خارج خادم VPS.",{"type":70,"body":71},"tip","فعّل المحلّل في الوضع البطيء (`db.setProfilingLevel(1, { slowms: 100 })`) لالتقاط الاستعلامات التي تتجاوز 100 مللي ثانية، ثم قارن النتائج بـ `explain('executionStats')`: تأتي معظم مشكلات أداء MongoDB من فهرس مفقود يفرض COLLSCAN. أما للسلاسل الزمنية (السجلّات والمقاييس)، فاستفد من مجموعات time-series الأصلية في MongoDB 5+: فهي تضغط البيانات تلقائيًا وتقلّل البصمة على القرص بشكل مذهل.","انشر MongoDB باستقلالية تامة","مع خادم ServOrbit Cloud VPS وقالب Docker المُهيّأ مسبقًا، أنشئ replica set لـ MongoDB على قرص SSD NVMe مع ذاكرة RAM مخصصة، دون فوترة لكل عنقود.","هيّئ خادم VPS السحابي الخاص بي","\u002Fvps-cloud",[77,90,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":11,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":23,"bgImage":24,"posterImage":87,"relatedSolution":88},56,"heberger-postgresql-vps","PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومُتحكَّم بها","استضف PostgreSQL على خادم VPS: وحدات التخزين والنسخ الاحتياطية والوصول الشبكي المحدود والإعداد السليم لتطبيقاتك.",2240,"2026-04-25T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":18,"appSlug":89},"postgresql",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},57,"heberger-mysql-vps","استضافة MySQL على خادم VPS","استضِف MySQL على خادم VPS السحابي الخاص بك: نشر عبر Docker، وتأمين، وضبط إعدادات InnoDB، ونسخ احتياطية آلية، خطوة بخطوة.",7,509,"2026-04-24T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":18,"appSlug":103},"mysql",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":95,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},58,"heberger-redis-vps","استضافة Redis على خادم VPS","انشر Redis على خادم VPS السحابي الخاص بك: تخزين مؤقت وجلسات وطوابير فائقة السرعة، مع استمرارية البيانات والأمان وضبط الذاكرة.",546,"2026-04-23T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":18,"appSlug":116},"redis",1785097288394]