[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-rails-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},49,"deployer-rails-vps","نشر تطبيق Ruby on Rails على خادم VPS","انشر Ruby on Rails على خادم VPS: Puma وNginx وPostgreSQL وSidekiq وSSL. دليل شامل لمطوّري Ruby الراغبين في الاستضافة الذاتية.",8,213,false,"2026-05-02T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-rails-vps-poster.svg",{"categorySlug":18,"appSlug":27},"rails","يظلّ Ruby on Rails إطار عمل بالغ الإنتاجية لبناء تطبيقات ويب متكاملة. ونشره على خادم VPS خاص بك، مع Puma وPostgreSQL وSidekiq، يمنحك تحكّمًا كاملًا في المهام الخلفية والأصول والتوسّع، دون الاعتماد على منصّة PaaS باهظة التكلفة.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","لماذا الاستضافة الذاتية لـ Rails على خادم VPS؟","يجمع تطبيق Rails في بيئة الإنتاج بين عدّة عمليات: خادم الويب Puma، وعمّال Sidekiq للمهام غير المتزامنة، وPostgreSQL وRedis. تفرض المنصّات المُدارة رسومًا على كلّ dyno أو عامل على حدة، مما يرفع الفاتورة بمجرّد نموّ التطبيق. على خادم VPS، تتعايش جميع هذه العمليات على خادم واحد تتحكّم فيه: تضبط عدد خيوط وعمّال Puma، وتُشغّل من عمّال Sidekiq بقدر ما تسمح به الذاكرة، وتُدير التصريف المسبق للأصول والتخزين المؤقّت. ومع Rails 7 وما بعده، يزيد التكامل الأصلي مع Propshaft وSolid Queue وSolid Cache من تبسيط الاستضافة الذاتية. تحافظ على تكلفة ثابتة وحزمة شفّافة بالكامل.",{"type":35,"title":36,"items":37},"ul","الفوائد الملموسة لاستضافة Rails ذاتيًا",[38,39,40,41,42,43],"Puma وSidekiq على خادم VPS نفسه، دون فرض رسوم على كلّ عامل على حدة.","ضبط عدد خيوط وعمّال Puma وفقًا للأنوية والذاكرة.","مهام خلفية غير محدودة مع Sidekiq\u002FRedis أو Solid Queue.","PostgreSQL تحت السيطرة: الفهارس ونسخ `pg_dump` الاحتياطية وضبط الاتصالات.","التصريف المسبق للأصول والتخزين المؤقّت لـ Rails يُدار محليًا، دون تكلفة إضافية.","تكلفة ثابتة وقابلة للتوقّع، مثالية لتطبيقات SaaS والتطبيقات المهنية المتنامية.",{"type":31,"title":45,"body":46},"المتطلّبات العتادية والبرمجية","يستهلك Rails ذاكرة أكثر من المتوسّط بسبب عمّال Puma وSidekiq: استهدف 2 جيجابايت كحدّ أدنى، و4 جيجابايت بمجرّد تشغيل عدّة عمّال أو إضافة Redis وElasticsearch. ثبّت Ruby 3.2+ عبر `rbenv` أو `asdf`، أو استخدم صورة Docker باسم `ruby:3.3-slim`. جهّز PostgreSQL 15، وRedis لـ Sidekiq والتخزين المؤقّت، وNode.js إذا كنت تستخدم مُجمِّع JS، وBundler. يعمل Nginx كواجهة أمامية لـ TLS والأصول الثابتة. يلزم توجيه نطاق نحو خادم VPS. عيّن `RAILS_ENV=production` وأنشئ `SECRET_KEY_BASE`.",{"type":48,"title":49,"steps":50},"steps","نشر Rails خطوة بخطوة",[51,54,57,60,63,66],{"title":52,"body":53},"تجهيز الخادم والتطبيق","عبر SSH، ثبّت Ruby 3.3 وPostgreSQL وRedis (أو Docker). استنسخ المستودع واضبط المتغيّرات: `DATABASE_URL` و`REDIS_URL` و`RAILS_MASTER_KEY` و`SECRET_KEY_BASE`. شغّل `bundle install --without development test`.",{"title":55,"body":56},"التصريف المسبق للأصول والترحيل","نفّذ `RAILS_ENV=production bin\u002Frails assets:precompile` ثم `bin\u002Frails db:migrate`. مع Rails 7+، يبسّط Propshaft وimportmap خطّ أنابيب الأصول دون بناء Node معقّد.",{"title":58,"body":59},"تشغيل Puma","ابدأ الخادم عبر `bundle exec puma -C config\u002Fpuma.rb`، مع ضبط `WEB_CONCURRENCY` (العمّال) و`RAILS_MAX_THREADS` في البيئة. اجعل Puma يستمع على مقبس Unix للحصول على أداء أفضل مع Nginx، وأدر العملية عبر systemd.",{"title":61,"body":62},"تشغيل عمّال Sidekiq","أنشئ خدمة systemd تُشغّل `bundle exec sidekiq -e production -C config\u002Fsidekiq.yml`، مع إعادة تشغيل تلقائية. اضبط عدد خيوط Sidekiq وفقًا لحمل المهام والذاكرة المتاحة.",{"title":64,"body":65},"إعداد Nginx وSSL","وجّه Nginx نحو مقبس Puma عبر `upstream` و`proxy_pass`، وقدّم `public\u002Fassets` مباشرةً مع تخزين مؤقّت طويل، ثمّ احصل على شهادة Let's Encrypt باستخدام Certbot لـ `yourdomain.com`. افرض HTTPS والتجديد التلقائي.",{"title":67,"body":68},"أتمتة عمليات النشر","أنشئ سكربتًا أو استخدم Kamal\u002FCapistrano يسلسل `git pull` و`bundle install` و`db:migrate` و`assets:precompile` وإعادة تشغيل Puma وSidekiq. يتيح النشر الذرّي عبر الروابط الرمزية العودة إلى الوراء فورًا عند حدوث مشكلة.",{"type":70,"body":71},"tip","راقب البصمة الذاكرية لـ Puma: تتضخّم عمليات Ruby بمرور الوقت بسبب تجزئة الذاكرة. فعّل `jemalloc` كمُخصّص للذاكرة (عبر `LD_PRELOAD`) لتقليل الذاكرة التي يستهلكها العمّال بشكل ملحوظ، واضبط إعادة تشغيل دورية لعمّال Puma. على خادم VPS تكون فيه الذاكرة أكثر مورد محدود لـ Rails، قد يُغنيك هذا الضبط وحده عن الترقية إلى فئة أعلى.","أطلق تطبيق Rails الخاص بك","يوفّر خادم VPS Cloud من ServOrbit قالبًا يضمّ Ruby وPostgreSQL وRedis وNginx وSSL تلقائيًا، جاهزًا لاستضافة تطبيق Rails وPuma وSidekiq.","انشر خادم VPS الخاص بـ Rails","\u002Fvps-cloud",[77,91,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":82,"views":83,"isPinned":13,"publishedAt":84,"category":85,"categories":86,"featuredImage":23,"bgImage":24,"posterImage":88,"relatedSolution":89},5,"deployer-laravel-vps","نشر Laravel على خادم VPS: دليل الإنتاج","انقل Laravel إلى بيئة الإنتاج على خادم VPS: PHP وworkers والذاكرة المؤقتة وقاعدة البيانات وreverse proxy وHTTPS مُهيّأة بشكل نظيف.",7,2840,"2026-02-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[87],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":90},"laravel-stack",{"id":92,"slug":93,"title":94,"excerpt":95,"readTime":11,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},43,"deployer-nodejs-vps","نشر تطبيق Node.js على VPS","انشر تطبيق Node.js في بيئة الإنتاج على VPS: PM2 وبروكسي عكسي Nginx وشهادة SSL من Let's Encrypt وبدء تشغيل تلقائي عند الإقلاع.",591,"2026-05-08T00: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\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":18,"appSlug":103},"nodejs",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":11,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},44,"deployer-django-vps","نشر تطبيق Django على VPS","انشر Django على VPS: Gunicorn وNginx وPostgreSQL وDocker وSSL. دليل كامل لمطوّري Python الراغبين في الاستضافة الذاتية.",628,"2026-05-07T00: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\u002Fdeployer-django-vps-poster.svg",{"categorySlug":18,"appSlug":116},"django",1785097282732]