[{"data":1,"prerenderedAt":128},["ShallowReactive",2],{"seo-verification":3,"blog-نشر-تطبيق-astro-على-خادم-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":31,"sections":32,"ctaTitle":78,"ctaBody":79,"ctaButton":80,"ctaUrl":81,"relatedPosts":82},52,"نشر-تطبيق-astro-على-خادم-vps",{"fr":10,"en":11,"ar":8},"deployer-astro-vps","deploying-an-astro-application-on-a-vps","نشر تطبيق Astro على خادم VPS","انشر موقع Astro على خادم VPS Cloud: بناء ساكن أو SSR عبر محوّل Node، وDocker، وNginx، وSSL. دليل لمطوّري الواجهة الأمامية.",3,0,false,"2026-04-29T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},4,"التطوير","developpement","bg-warning\u002F10 text-warning","dev",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-astro-vps-poster.svg",{"categorySlug":20,"appSlug":30},"astro-stack","يُنشئ Astro افتراضيًا موقعًا ساكنًا بالكامل — لا شيء يُنفَّذ عند كل زيارة — لكنّه يعرف أيضًا كيفية عرض الصفحات من جانب الخادم عبر محوّل Node الخاص به. بحسب حاجتك، تقدّم ملفّات HTML بسيطة أو خادم SSR حقيقي. إليك النهجين على خادم VPS، مع وكيل عكسي وتخزين مؤقّت.",[33,37,47,50,72,75],{"type":34,"title":35,"body":36},"h2","لماذا الاستضافة الذاتية لـ Astro على خادم VPS","يتميّز Astro بخاصّية فريدة: يمكنه إنتاج موقع ساكن بنسبة 100% (`output: 'static'`)، أو تطبيق بعرض من جانب الخادم عند الطلب (`output: 'server'` عبر `@astrojs\u002Fnode`). تجعل هذه الازدواجية خادم VPS وثيق الصلة للغاية. في الوضع الساكن، تقدّم ملفّات HTML مباشرةً من Nginx، دون أيّ عملية Node: أداء أقصى وبصمة أدنى. وفي وضع SSR، تُشغّل خادم Node يعرض الصفحات ديناميكيًا، وهو مفيد للمحتوى المخصّص أو نقاط نهاية API المدمجة. على خادم VPS، تختار استراتيجيتك دون أن تكون محبوسًا في النموذج الذي تفرضه منصّة نشر الواجهة الأمامية. كما تتحكّم في التخزين المؤقّت لـ HTTP وترويسات الأمان وضغط Brotli، حيث تدير استضافات الواجهة الأمامية ذلك كصندوق أسود.",{"type":38,"title":39,"items":40},"ul","الفوائد الملموسة",[41,42,43,44,45,46],"حرّية وضع الإخراج: ساكن خالص أو SSR بـ Node، بل وحتى هجين حسب المسار","في الوضع الساكن، يقدّم Nginx الملفّات دون أيّ عملية Node: ذاكرة شبه معدومة ومعدّل نقل أقصى","تحكّم كامل في التخزين المؤقّت لـ HTTP وترويسات الأمان (CSP وHSTS) وضغط Brotli","لا حدّ لعرض النطاق الترددي ولا حصّة طلبات تفرضها منصّة للواجهة الأمامية","نقاط نهاية API الخاصة بـ Astro مُستضافة على النطاق نفسه، دون دالّة serverless تابعة لطرف ثالث","نشر قابل لإعادة الإنتاج عبر Docker: البناء نفسه محليًا وفي بيئة الإنتاج",{"type":34,"title":48,"body":49},"المتطلّبات العتادية والبرمجية","يتّسع موقع Astro الساكن على أصغر خادم VPS يمكن تخيّله: يكفي معالج افتراضي واحد (1 vCPU) و1 جيجابايت من الذاكرة بسهولة، لأنّ Nginx لا يفعل سوى تقديم الملفّات. أمّا في وضع SSR، فجهّز 2 جيجابايت لعملية Node ولذرى العرض. ثبّت Node.js 20 LTS للبناء (أو ابنِ في CI)، وDocker إذا حوسبت في حاوية، وNginx كواجهة أمامية. وجّه `mydomain.com` و`www.mydomain.com` نحو عنوان IP الخاص بخادم VPS. احسب 5 جيجابايت من القرص؛ عادةً ما يزن مجلّد `dist\u002F` لموقع ساكن بضعة ميجابايت.",{"type":51,"title":52,"steps":53},"steps","النشر خطوة بخطوة",[54,57,60,63,66,69],{"title":55,"body":56},"اختيار وضع الإخراج","في `astro.config.mjs`، عيّن `output: 'static'` لموقع محتوى، أو `output: 'server'` مع `adapter: node({ mode: 'standalone' })` إذا كنت بحاجة إلى SSR. يشترط هذا الاختيار بقيّة عملية النشر بأكملها.",{"title":58,"body":59},"بناء التطبيق","شغّل `npm run build`. في الوضع الساكن، تحصل على مجلّد `dist\u002F` يحتوي على HTML وCSS وJS جاهزة للتقديم. وفي وضع SSR، تحصل إضافةً إلى ذلك على `dist\u002Fserver\u002Fentry.mjs` لتشغيله باستخدام Node.",{"title":61,"body":62},"تقديم الملفّات الساكنة باستخدام Nginx (الوضع الساكن)","وجّه توجيه `root` في مضيفك الافتراضي نحو `\u002Fvar\u002Fwww\u002Fastro\u002Fdist` وفعّل `try_files $uri $uri\u002F \u002F404.html;`. أضف `gzip on;` وترويسات `Cache-Control` طويلة على الأصول المُصدَرة. لا حاجة إلى أيّ حاوية.",{"title":64,"body":65},"الحوسبة في حاوية لخادم Node (وضع SSR)","من أجل SSR، أنشئ ملفّ Dockerfile مبنيًا على `node:20-alpine` ينسخ `dist\u002F` ويُشغّل `node .\u002Fdist\u002Fserver\u002Fentry.mjs`. اكشف المنفذ 4321 وابدأ بـ `docker compose up -d`. سيقوم Nginx بعد ذلك بـ `proxy_pass` نحو هذا المنفذ.",{"title":67,"body":68},"إعداد الوكيل العكسي والضغط","سواء كنت في الوضع الساكن أو في SSR خلف Node، صرّح عن مضيف Nginx الافتراضي مع إعادة توجيه `www` نحو النطاق الجذر (apex). فعّل Brotli إذا كانت الوحدة متاحة للحصول على أصول أخفّ حتى من gzip.",{"title":70,"body":71},"تفعيل SSL","شغّل `certbot --nginx -d mydomain.com -d www.mydomain.com`. افرض إعادة التوجيه نحو HTTPS وأضف ترويسة `Strict-Transport-Security`. تحقّق من صحّة النشر عبر اختبار Lighthouse من متصفّحك.",{"type":73,"body":74},"tip","حتى بالنسبة لموقع SSR، استفد من العرض الهجين في Astro: علّم الصفحات الساكنة بـ `export const prerender = true` كي تُنشأ عند البناء وتُقدَّم مباشرةً من Nginx، مع حجز عملية Node للمسارات الديناميكية فعلًا فقط. وبذلك تقلّل حمل الخادم بشكل جذري. وضع تخزينًا مؤقّتًا `proxy_cache` من Nginx أمام صفحات SSR ذات وتيرة التغيير المنخفضة لامتصاص ذرى حركة المرور.",{"type":34,"title":76,"body":77},"نشر Astro بنقرة واحدة من Marketplace","يوفّر Marketplace من ServOrbit قالب **Astro Stack** الذي يُهيّئ تلقائيًا Node.js LTS وPM2 وNginx على خادمك الافتراضي. في دقائق قليلة، ستكون بيئة الإنتاج جاهزة لاستقبال تطبيق Astro — في الوضع الساكن أو SSR — دون أي إعداد يدوي.\n\nمقارنةً بالتثبيت الموصوف في هذا الدليل، يتولّى القالب الإعداد الأولي ويتيح لك البدء مباشرةً بخطوة «بناء تطبيقك ونقله».","بيئة Astro جاهزة في دقائق","يُهيّئ قالب Astro Stack تلقائيًا Node.js LTS وPM2 وNginx — جاهزًا لاستقبال تطبيق Astro في الوضع الساكن أو SSR.","انشر Astro Stack الخاص بي","\u002Fmarketplace\u002Fالتطوير\u002Fastro-stack",[83,98,113],{"id":84,"slug":85,"slugs":86,"title":89,"excerpt":90,"readTime":19,"views":15,"isPinned":16,"publishedAt":91,"category":92,"categories":93,"featuredImage":26,"bgImage":27,"posterImage":95,"relatedSolution":96},5,"نشر-laravel-على-خادم-vps-دليل-الإنتاج",{"fr":87,"en":88,"ar":85},"deployer-laravel-vps","deploying-laravel-on-a-vps-a-production-guide","نشر Laravel على خادم VPS: دليل الإنتاج","انقل Laravel إلى بيئة الإنتاج على خادم VPS: PHP وworkers والذاكرة المؤقتة وقاعدة البيانات وreverse proxy وHTTPS مُهيّأة بشكل نظيف.","2026-02-09T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[94],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":23,"appSlug":97},"laravel-stack",{"id":99,"slug":100,"slugs":101,"title":104,"excerpt":105,"readTime":14,"views":15,"isPinned":16,"publishedAt":106,"category":107,"categories":108,"featuredImage":26,"bgImage":27,"posterImage":110,"relatedSolution":111},43,"نشر-تطبيق-nodejs-على-vps",{"fr":102,"en":103,"ar":100},"deployer-nodejs-vps","deploy-a-nodejs-application-on-a-vps","نشر تطبيق Node.js على VPS","انشر تطبيق Node.js في بيئة الإنتاج على VPS: PM2 وبروكسي عكسي Nginx وشهادة SSL من Let's Encrypt وبدء تشغيل تلقائي عند الإقلاع.","2026-05-08T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[109],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":20,"appSlug":112},"nodejs-stack",{"id":114,"slug":115,"slugs":116,"title":119,"excerpt":120,"readTime":14,"views":15,"isPinned":16,"publishedAt":121,"category":122,"categories":123,"featuredImage":26,"bgImage":27,"posterImage":125,"relatedSolution":126},44,"نشر-تطبيق-django-على-vps",{"fr":117,"en":118,"ar":115},"deployer-django-vps","deploy-a-django-application-on-a-vps","نشر تطبيق Django على VPS","انشر Django على VPS: Gunicorn وNginx وPostgreSQL وDocker وSSL. دليل كامل لمطوّري Python الراغبين في الاستضافة الذاتية.","2026-05-07T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[124],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":20,"appSlug":127},"django",1787580956988]