[{"data":1,"prerenderedAt":159},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-redis-على-خادم-vps-ma-ar":6,"promo-bar-likely":158},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-redis-على-خادم-vps-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":101,"ctaBody":102,"ctaButton":103,"ctaUrl":104,"relatedPosts":105},58,"استضافة-redis-على-خادم-vps",{"fr":12,"en":13,"ar":10,"es":14},"heberger-redis-vps","hosting-redis-on-a-vps","alojar-redis-en-un-vps","استضافة ‎Redis‎ على خادم ‎VPS‎: الدليل الشامل","انشر ‎Redis‎ على خادم ‎VPS‎ السحابي: متطلبات ‎RAM‎ و‎CPU‎، الأمان (‎ACL‎ و‎TLS‎)، استمرارية ‎RDB\u002FAOF‎، استكشاف الأخطاء والتوافر العالي.",10,0,false,"2026-04-23T00:00:00+00:00","2026-09-08T21:59:59+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":34,"appSlug":35},"قواعد-البيانات","redis-stack","‎Redis‎ هو أداة الأداء متعددة الاستخدامات: تخزين مؤقت وجلسات وطوابير مهام وعدّادات في الوقت الفعلي و‎pub\u002Fsub‎. استضافته ذاتيًا على خادم ‎VPS‎ تمنحك تحكمًا كاملاً في الذاكرة وفي الشبكة التي تفصله عن تطبيقك، دون دفع السعر المرتفع لعروض ‎Redis‎ المُدارة. يغطي هذا الدليل النشر الكامل — من تهيئة الأمان إلى الاستمرارية، مرورًا باستكشاف أكثر الأخطاء شيوعًا.",[38,42,52,55,80,83,89,92,95,98],{"type":39,"title":40,"body":41},"h2","لماذا تستضيف ‎Redis‎ ذاتيًا على خادم ‎VPS‎","يعمل ‎Redis‎ في الذاكرة: يعتمد أداؤه مباشرة على ‎RAM‎ وزمن استجابة الشبكة. تفرض العروض المُدارة سعرًا مرتفعًا جدًا على كل غيغابايت من ‎RAM‎ وتضع حدودًا قصوى للاتصالات. على خادم ‎VPS‎، تحدد حجم ‎RAM‎ وفقًا لحاجتك الفعلية، وتهيّئ بحرية `maxmemory` وسياسة الإخلاء (`allkeys-lru` و`volatile-ttl`...)، وتفعّل استمرارية ‎RDB‎ و\u002Fأو ‎AOF‎ حسب درجة تحمّلك لفقدان البيانات. سواء لتخزين مؤقت تطبيقي، أو وسيط مهام (‎Sidekiq‎ أو ‎BullMQ‎ أو ‎Celery‎)، أو مخزن جلسات، فإن ‎Redis‎ الملاصق لتطبيقك على الشبكة الخاصة نفسها يلغي زمن الاستجابة بين مراكز البيانات ويخفّض التكلفة بشكل جذري.",{"type":43,"title":44,"items":45},"ul","الفوائد الملموسة لـ ‎Redis‎ مُستضاف ذاتيًا",[46,47,48,49,50,51],"زمن استجابة أقل من ميلي ثانية إذا كان ‎Redis‎ يعمل على خادم ‎VPS‎ نفسه أو الشبكة الخاصة نفسها التي يعمل عليها تطبيقك.","تحكم في `maxmemory` وسياسة الإخلاء وفقًا لاستخدامك كتخزين مؤقت أو طابور مهام.","استمرارية حسب اختيارك: ‎RDB‎ (لقطات)، أو ‎AOF‎ (سجل)، أو كلاهما لتحقيق المتانة.","تكلفة ‎RAM‎ دون مبالغة في الفاتورة: تدفع اشتراك خادم ‎VPS‎، لا سعر الغيغابايت من الذاكرة المميزة.","وحدات حرة: ‎RediSearch‎ و‎RedisJSON‎ و‎RedisBloom‎ حسب احتياجاتك.","لا حد أقصى تعسفي لعدد اتصالات العملاء المتزامنة.",{"type":39,"title":53,"body":54},"المتطلبات المادية والبرمجية","بما أن ‎Redis‎ يعمل في الذاكرة، فإن ‎RAM‎ هي المهمة، لا المعالج. لتخزين مؤقت متواضع أو مخزن جلسات، يكفي **معالج افتراضي واحد (1 vCPU) و1 إلى 2 غيغابايت من ‎RAM‎** — فاستخدام ‎Redis‎ مفتوح المصدر للمعالج منخفض لأنه أحادي الخيط للأوامر (إدخال\u002Fإخراج الشبكة غير متزامن). أما إذا كان ‎Redis‎ يعمل كوسيط لآلاف المهام في الطابور أو يخزّن مجموعات بيانات بحجم عدة غيغابايتات في الذاكرة، فحدّد حجم ‎RAM‎ بما لا يقل عن ضعف قيمة `maxmemory` المستهدفة لاستيعاب النسخ عند الكتابة (‎copy-on-write‎) أثناء لقطات ‎RDB‎.\n\nعلى صعيد القرص، خطط لمساحة تعادل 2× حجم مجموعة بياناتك إذا فعّلت استمرارية ‎RDB‎ أو ‎AOF‎. على الصعيد البرمجي: ‎Ubuntu 22.04\u002F24.04 LTS‎، و‎Docker‎ و‎Compose v2‎، ووحدة تخزين دائمة لـ ‎AOF\u002FRDB‎ إذا فعّلت الاستمرارية، وضبط `vm.overcommit_memory=1` على المضيف لتجنّب إخفاقات ‎fork‎ أثناء النسخ الاحتياطي.",{"type":56,"title":57,"steps":58},"steps","نشر ‎Redis‎ باستخدام ‎Docker‎ في بيئة الإنتاج",[59,62,65,68,71,74,77],{"title":60,"body":61},"تهيئة المضيف","ثبّت ‎Docker‎، ثم اضبط `vm.overcommit_memory=1` عبر `sysctl` لجعل اللقطات موثوقة، وعطّل ‎Transparent Huge Pages‎. أغلق المنفذ ‎6379‎ نحو الخارج: فـ‎Redis‎ مكشوفًا دون كلمة مرور هدف تقليدي لمنقّبي العملات المشفرة.\n\n```bash\necho 'vm.overcommit_memory = 1' >> \u002Fetc\u002Fsysctl.conf\nsysctl -p\necho never > \u002Fsys\u002Fkernel\u002Fmm\u002Ftransparent_hugepage\u002Fenabled\n```",{"title":63,"body":64},"كتابة ملف ‎docker-compose.yml‎","أعلن عن خدمة `redis:7-alpine` بأمر مخصص يشير إلى ملف `redis.conf` مركّب للقراءة فقط. فعّل `requirepass`، وحدّد `maxmemory` و`maxmemory-policy`، وركّب وحدة تخزين لـ `\u002Fdata` إذا أردت الاستمرارية.\n\n```bash\nservices:\n  redis:\n    image: redis:7-alpine\n    command: redis-server \u002Fetc\u002Fredis\u002Fredis.conf\n    volumes:\n      - .\u002Fredis.conf:\u002Fetc\u002Fredis\u002Fredis.conf:ro\n      - redis_data:\u002Fdata\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:6379:6379\"\nvolumes:\n  redis_data:\n```",{"title":66,"body":67},"تهيئة الأمان","في ملف `redis.conf`، يرتكز الأمان على عدة طبقات متكاملة. الأولى هي **ربط الشبكة**: `bind 127.0.0.1` أو عنوان ‎IP‎ شبكتك الخاصة — لا تستمع أبدًا على `0.0.0.0` دون حماية إضافية. الثانية هي **المصادقة**: `requirepass كلمة_مرور_قوية` لـ ‎Redis 6‎ وما قبله؛ لـ ‎Redis 7‎، يُفضَّل استخدام **‎ACL‎** الذي يتيح إنشاء مستخدمين بصلاحيات دقيقة:\n\n```bash\nbind 127.0.0.1\nrequirepass كلمة_مرور_قوية\naclfile \u002Fetc\u002Fredis\u002Fusers.acl\nrename-command FLUSHALL \"\"\nrename-command CONFIG \"\"\nrename-command DEBUG \"\"\n```\n\nيمكن لملف `users.acl` أن يُعلن:\n\n```bash\nuser app_user on >كلمة_مرور ~* +@read +@write -@dangerous\nuser default off\n```\n\nللوصول عن بُعد مشفرًا، فعّل **‎TLS‎ الأصلي في ‎Redis‎** (متاح منذ ‎Redis 6‎):\n\n```bash\ntls-port 6380\ntls-cert-file \u002Fcerts\u002Fredis.crt\ntls-key-file \u002Fcerts\u002Fredis.key\ntls-ca-cert-file \u002Fcerts\u002Fca.crt\n```",{"title":69,"body":70},"اختيار استراتيجية الاستمرارية","يوفر ‎Redis‎ آليتين للاستمرارية قابلتين للجمع.\n\n**‎RDB‎ (لقطة)**: يكتب ‎Redis‎ لقطة آنية لمجموعة البيانات على القرص بفترات قابلة للضبط. سريع عند إعادة التشغيل، لكنك تفقد البيانات المكتوبة منذ آخر لقطة في حالة عطل.\n\n```bash\nsave 900 1\nsave 300 10\nsave 60 10000\n```\n\n**‎AOF‎ (ملف إضافي فقط)**: كل أمر كتابة يُسجَّل. أكثر أمانًا، أبطأ قليلًا. `appendfsync everysec` هو التوازن الجيد: بحد أقصى فقدان بيانات ثانية واحدة.\n\n```bash\nappendonly yes\nappendfsync everysec\nauto-aof-rewrite-percentage 100\nauto-aof-rewrite-min-size 64mb\n```\n\n**الجمع بين ‎RDB‎ و‎AOF‎**: عند إعادة التشغيل، يستخدم ‎Redis‎ ملف ‎AOF‎ (الأكثر اكتمالًا)، بينما يُسرّع ‎RDB‎ النسخ الاحتياطية الدورية الكاملة. هذه هي الاستراتيجية الموصى بها لوسطاء المهام الحرجة.\n\nلـ**تخزين مؤقت خالص** حيث فقدان البيانات مقبول، عطّل الاستمرارية: `save \"\"` و`appendonly no` — ستكسب أداءً ومساحة قرص.",{"title":72,"body":73},"توصيل تطبيقك","شغّل باستخدام `docker compose up -d` واختبر بـ `docker compose exec redis redis-cli -a كلمة_مرور ping`. وجّه تطبيقك إلى شبكة ‎Docker‎ الداخلية بدلًا من عنوان ‎IP‎ عام، لتحسين زمن الاستجابة والأمان.\n\n```bash\ndocker compose exec redis redis-cli -a كلمة_مرور ping\n# PONG\ndocker compose exec redis redis-cli -a كلمة_مرور CONFIG GET maxmemory\n```",{"title":75,"body":76},"مراقبة الذاكرة","راقب `used_memory` و`evicted_keys` عبر `redis-cli INFO`. إذا ارتفعت عمليات الإخلاء، فزد ذاكرة ‎RAM‎ أو حسّن السياسة. اضبط تنبيهًا عندما يتجاوز استخدام الذاكرة 80% من `maxmemory`.\n\n```bash\nredis-cli -a كلمة_مرور INFO memory | grep -E 'used_memory_human|maxmemory_human|mem_fragmentation_ratio'\nredis-cli -a كلمة_مرور INFO stats | grep -E 'evicted_keys|keyspace_hits|keyspace_misses'\n```",{"title":78,"body":79},"أول تسجيل دخول","افتح الرابط: تظهر واجهة ‎RedisInsight‎ مباشرة، دون أي طلب لبيانات الدخول إطلاقًا (تكتفي بالموافقة على شروط الاستخدام في الشاشة الأولى)، وتكون قاعدة بيانات ‎Redis‎ المحلية متاحة فيها للقراءة والكتابة. لا تربط نطاقًا عموميًا بهذه الواجهة دون حماية أمامها.",{"type":39,"title":81,"body":82},"استكشاف الأخطاء: أكثر الأخطاء شيوعًا","إليك الأخطاء التي ستواجهها في أغلب الأحيان عند تشغيل ‎Redis‎ على خادم ‎VPS‎، مع سببها وعلاجها.",{"type":43,"title":5,"items":84},[85,86,87,88],"**`MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist on disk`** — يحاول ‎Redis‎ أخذ لقطة لكن ‎fork‎ يفشل. السبب: `vm.overcommit_memory` معطى القيمة 0 على المضيف. الحل: `sysctl vm.overcommit_memory=1` (دائمًا في `\u002Fetc\u002Fsysctl.conf`). إذا كنت تستخدم ‎Docker‎، يجب ضبط هذا المعامل على **مضيف ‎Docker‎**، لا داخل الحاوية.","**`ERR max number of clients reached`** — تجاوز عدد الاتصالات المتزامنة قيمة `maxclients` (الافتراضي: 10,000). الأسباب الشائعة: مجمع اتصالات مهيأ بشكل خاطئ في التطبيق (‎Sidekiq‎ أو ‎Laravel Horizon‎ مثلًا) أو اتصالات غير مغلقة. الحل: زد قيمة `maxclients` في `redis.conf` وتحقق من تهيئة المجمع في جانب التطبيق. الأمر `redis-cli CLIENT LIST` يُدرج الاتصالات النشطة.","**قاتل ‎OOM‎ يقتل عملية ‎Redis‎** — يقتل نواة ‎Linux‎ عملية ‎Redis‎ بسبب نقص الذاكرة الحرة. السبب: `maxmemory` غير محدد أو كبير جدًا، مقترنًا بالنسخ عند الكتابة لـ ‎fork‎ الخاص بـ ‎RDB‎. الحل: اضبط `maxmemory` على 60-70% من ‎RAM‎ المتاحة، واختر سياسة إخلاء (`maxmemory-policy allkeys-lru` للتخزين المؤقت، أو `noeviction` للوسيط)، وخطط لمساحة تعادل 2× حجم مجموعة البيانات. راقب `\u002Fvar\u002Flog\u002Fsyslog` لرسائل `Out of memory: Kill process`.","**`Could not create server TCP listening socket 0.0.0.0:6379: bind: Address already in use`** — عملية أخرى تشغل المنفذ 6379. حدّدها بـ `ss -tlnp | grep 6379` وأوقفها، أو غيّر منفذ ‎Redis‎ في تهيئتك. على خوادم ‎VPS‎ التي تثبّت ‎Redis‎ عبر `apt`، قد يتعارض خدمة النظام مع حاوية ‎Docker‎.",{"type":39,"title":90,"body":91},"التوافر العالي: ‎Sentinel‎ والعنقود","لأعباء العمل الحرجة التي لا يُقبل فيها توقف ‎Redis‎، يتوفر حلّان.\n\n**‎Redis Sentinel‎** هو حل التوافر العالي لبنية المعلم\u002Fالنسخ. انشر ثلاثة عقد ‎Sentinel‎ على ثلاثة خوادم ‎VPS‎ منفصلة: يراقب ‎Sentinel‎ المعلم، ويكتشف عطله، ويُرقّي نسخة تلقائيًا. تتصل تطبيقاتك عبر خدمة ‎Sentinel‎ بدلًا من الاتصال مباشرة بالمعلم — فتكون شفافة أمام عملية الانتقال.\n\n**‎Redis Cluster‎** يقسّم البيانات على عدة عقد (تقسيم أفقي) ويوفر توافرًا عاليًا مدمجًا. يتطلب 6 عقد على الأقل (3 معلمين + 3 نسخ) وتكييفًا على مستوى العميل. احتفظ به لمجموعات البيانات التي تتجاوز ‎RAM‎ خادم واحد أو لأعباء العمل التي تحتاج إنتاجية كتابة عالية جدًا.\n\nللغالبية العظمى من حالات الاستخدام على ‎VPS‎، **‎Sentinel‎ على 3 عقد** هو الإجابة الصحيحة: أبسط في التشغيل، ومتوافق مع جميع عملاء ‎Redis‎ القياسيين، وكافٍ لمجموعات بيانات بحجم بضع عشرات من الغيغابايتات.",{"type":39,"title":93,"body":94},"التحديثات و‎Valkey‎ كبديل","**حول الإصدارات.** ‎Redis 7.4‎ هي فرع ‎LTS‎ المستقر الحالي (‎7.4.11‎ وقت كتابة هذا الدليل). ‎Redis 8‎ هو أحدث إصدار رئيسي، صدر في مايو 2025، وأُضيفت معه رخصة ‎AGPLv3‎ خيارًا ثالثًا — إلى جانب ‎RSALv2‎ و‎SSPLv1‎ اللتين اعتُمدتا في مارس 2024. للهجرة من ‎Redis 7.x‎ إلى ‎Redis 8‎، راجع ملاحظات الإصدار الرسمية.\n\n**حول الرخصة.** في مارس 2024، تخلّت ‎Redis Ltd.‎ عن رخصة ‎BSD 3-Clause‎ لصالح رخصة مزدوجة ‎RSALv2 + SSPLv1‎ (غير معتمدة من ‎OSI‎). رداً على ذلك، أنشأت ‎Linux Foundation‎ **‎Valkey‎** في 28 مارس 2024 — نسخة مشتقة من ‎Redis 7.2.4‎ تحت رخصة ‎BSD 3-Clause‎، بدعم من ‎AWS‎ و‎Google Cloud‎ و‎Oracle‎ وأعضاء مؤسسين آخرين. ‎Valkey‎ بديل مباشر لـ ‎Redis‎: واجهات برمجة التطبيقات والبروتوكولات متوافقة، والهجرة شفافة في الغالب. مقال مخصص يقارن المشروعين بالتفصيل: \u003Ca href=\"\u002Fblog\u002Fvalkey-vs-redis-migration-2026\">‏‎Valkey‎ مقابل ‎Redis‎ في 2026: هل تهاجر؟\u003C\u002Fa>\n\nللاستخدامات الخاصة الشائعة (تخزين مؤقت تطبيقي، وسيط مهام، مخزن جلسات على بنيتك التحتية)، يبقى ‎Redis 7.x‎ أو ‎8‎ قابلًا للاستخدام الكامل دون أي إشكالية في الترخيص.",{"type":96,"body":97},"tip","راقب نسبة `keyspace_hits` \u002F `keyspace_misses` عبر `INFO stats`: انخفاض معدل الإصابة يعني أن تخزينك المؤقت غير محدد الحجم بشكل صحيح أو أن قيم ‎TTL‎ قصيرة جدًا. لأعباء العمل الحرجة، انشر ‎Redis Sentinel‎ على ثلاثة خوادم ‎VPS‎ للحصول على تجاوز فشل تلقائي: إذا سقط الخادم الرئيسي، يُرقّى تابع دون تدخل، وتُعاد توجيه تطبيقاتك عبر خدمة ‎Sentinel‎.",{"type":96,"title":99,"body":100},"الوثائق الرسمية","للتهيئة المتقدمة والخيارات الخاصة بالأداة، راجع \u003Ca href=\"https:\u002F\u002Fredis.io\u002Fdocs\" target=\"_blank\" rel=\"noopener noreferrer\">الوثائق الرسمية لـ ‎Redis‎\u003C\u002Fa>. يغطّي هذا الدليل الإطلاق على خادم ‎VPS‎؛ وتبقى وثائق المطوّر المرجعَ للضبط الدقيق والتحديثات الكبرى وحالات الاستخدام الخاصة.","شغّل Redis بأقصى سرعة","يمنحك خادم ServOrbit Cloud VPS مع قالب Docker وذاكرة RAM مخصصة زمن الاستجابة والذاكرة اللازمين لتشغيل Redis عالي الأداء، سواء كتخزين مؤقت أو وسيط للمهام (broker).","انشر خادم VPS السحابي الخاص بي","\u002Fvps-cloud",[106,125,142],{"id":107,"slug":108,"slugs":109,"title":113,"excerpt":114,"readTime":115,"views":116,"isPinned":19,"noindex":19,"publishedAt":117,"updatedAt":118,"category":119,"categories":120,"featuredImage":30,"bgImage":31,"posterImage":122,"relatedSolution":123},56,"postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها",{"fr":110,"en":111,"ar":108,"es":112},"heberger-postgresql-vps","postgresql-on-a-vps-a-reliable-and-controlled-database","alojar-postgresql-en-un-vps","‎PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومتحكَّم بها","‎استضف PostgreSQL على VPS: إعداد الإنتاج، نسخ pgBackRest، HA بالبث، مقارنة RDS\u002FSupabase\u002FNeon واستكشاف أخطاء OOM.",9,1,"2026-04-25T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[121],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":34,"appSlug":124},"postgresql-stack",{"id":126,"slug":127,"slugs":128,"title":132,"excerpt":133,"readTime":115,"views":18,"isPinned":19,"noindex":19,"publishedAt":134,"updatedAt":135,"category":136,"categories":137,"featuredImage":30,"bgImage":31,"posterImage":139,"relatedSolution":140},57,"استضافة-mysql-على-خادم-vps",{"fr":129,"en":130,"ar":127,"es":131},"heberger-mysql-vps","hosting-mysql-on-a-vps","alojar-mysql-en-un-vps","استضافة MySQL على خادم VPS: دليل شامل","ثبّت ‎MySQL 8.4 LTS‎ على خادم ‎VPS‎: المتطلبات، التأمين، أداء ‎InnoDB‎، الوصول عن بُعد الآمن، النسخ الاحتياطية التلقائية، واستكشاف الأخطاء.","2026-04-24T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[138],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":34,"appSlug":141},"mysql-stack",{"id":143,"slug":144,"slugs":145,"title":149,"excerpt":150,"readTime":151,"views":18,"isPinned":19,"noindex":19,"publishedAt":152,"updatedAt":153,"category":154,"categories":155,"featuredImage":30,"bgImage":31,"posterImage":157,"relatedSolution":30},59,"استضافة-mongodb-على-خادم-vps",{"fr":146,"en":147,"ar":144,"es":148},"heberger-mongodb-vps","hosting-mongodb-on-a-vps","alojar-mongodb-en-un-vps","استضافة MongoDB على خادم VPS","استضِف MongoDB على خادم VPS السحابي الخاص بك: نشر عبر Docker، وreplica set، ومصادقة، وفهرسة، ونسخ احتياطية محكمة.",3,"2026-04-22T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[156],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mongodb-vps-poster.svg",true,1794270239695]