التطوير

Astro Stack

Astro Stack — Node.js LTS وPM2 وNginx لنشر مواقع Astro الساكنة أو SSR في الإنتاج.

حول Astro Stack

يُجهّز Astro Stack خادم VPS بأدوات كل ما يحتاجه مشروع Astro في الإنتاج: Node.js LTS من مستودع NodeSource الرسمي، وPM2 لإدارة العمليات بدون توقف، وNginx كبروكسي عكسي يُنهي TLS.

Astro فريد من نوعه بين أُطر عمل JavaScript: يُنشئ افتراضيًا موقعًا ساكنًا بالكامل — لا JavaScript يُرسَل إلى المتصفح إلا عند الحاجة — لكنّه يعرض الصفحات من جانب الخادم عند الطلب عبر `@astrojs/node`. يعمل كلا الوضعَين بسلاسة على هذه الحزمة.

ما يُثبَّت

جاهز عند تشغيل الخادم

أنظمة التشغيل المتوافقة
Ubuntu 24.04
التطبيق
Astro Stack
المنظومة التقنية
Node.js LTSPM2Nginx
الحد الأدنى من RAM
1 غيغابايت (2 غيغابايت لوضع SSR)
الحد الأدنى من CPU
1 vCPU
الوصول
root عبر SSH

الميزات الرئيسية

  • Node.js LTS من مستودع NodeSource الرسمي — الإصدار الحالي الثابت، لا الحزمة القديمة.
  • مدير العمليات PM2 — إعادة تحميل بدون توقف، تدوير السجلات، نصوص بدء التشغيل، ووضع الكتلة.
  • Nginx كبروكسي عكسي مع ضغط gzip وترويسات Cache-Control طويلة للأصول الثابتة.
  • متوافق مع مخرجات Astro الساكنة (output: 'static') والعرض من جانب الخادم (output: 'server' + @astrojs/node).
  • بصمة ذاكرة ضئيلة — موقع Astro ساكن يستخدم أقل من 50 ميجابايت. SSR عبر PM2 يضيف ~50 ميجابايت لكل عامل.
  • دعم العرض الهجين — علّم صفحات بـ export const prerender = true للتوليد المسبق مع إبقاء المسارات الأخرى ديناميكية.

متى تستخدم هذا الحل؟

موقع محتوى ساكن

ابنِ مشروع Astro بـ output: 'static'، وانقل مجلّد dist/ وقدّمه من Nginx. لا تحتاج لعملية Node أثناء التشغيل.

تطبيق ويب SSR

استخدم محوّل @astrojs/node في الوضع المستقل لعرض صفحات Astro عند الطلب. يُشرف PM2 على عملية Node مع إعادة تشغيل تلقائية وإعادة تحميل بدون توقف.

واجهة أمامية لـ API

قدّم واجهة Astro الأمامية إلى جانب مسارات API على النطاق نفسه. يُوجّه Nginx طلبات /api/* إلى خلفية منفصلة مع تسليم الأصول الساكنة المُحسَّنة لكل شيء آخر.

الدليل

نشر Astro Stack على خادم VPS الخاص بك

  1. إنشاء VPS

    اختر قالب "Astro Stack". يكفي 1 جيجابايت RAM لموقع ساكن؛ و2 جيجابايت إذا كنت بحاجة إلى SSR مع PM2.

  2. اختيار وضع الإخراج

    في astro.config.mjs، اضبط output: 'static' لموقع مُولَّد مسبقًا بالكامل، أو output: 'server' مع adapter: node({ mode: 'standalone' }) لـSSR.

  3. أول وصول

    يُثبّت هذا القالب سلسلة أدوات (Node.js LTS وPM2 وNginx). لا توجد واجهة ويب — تواصل عبر SSH ونشر مشروع Astro الخاص بك.

  4. البناء والنقل

    شغّل npm run build محليًا أو في CI. للمخرجات الساكنة، انسخ dist/ إلى /var/www/astro/dist. لـSSR، شغّل pm2 start dist/server/entry.mjs --name astro.

  5. إعداد Nginx

    للوضع الساكن: root /var/www/astro/dist; وtry_files $uri $uri/ /404.html;. لـSSR: proxy_pass http://localhost:4321;. احصل على شهادة Let's Encrypt عبر Certbot.

الأسئلة الشائعة

أسئلة حول Astro Stack

→ العودة إلى التطويركل التطبيقات
يُثبّت Astro Stack Node.js LTS وPM2 وNginx — مناسب لمشاريع Astro الساكنة (SSG) أو SSR. يُضيف Next.js Stack قاعدة بيانات PostgreSQL. Astro أخف لأن وضعه الساكن لا يتطلّب عملية Node أثناء التشغيل.

إضافة زر النشر

هل تدير مشروعًا يستخدم Astro Stack؟ يتيح هذا الزر لقرّائك نشره على خادم VPS بنقرة واحدة، دون قراءة وثائق Docker.

Deploy Astro Stack on ServOrbit
Markdown
[![Deploy Astro Stack on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=astro-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=astro-stack)
HTML
<a href="https://servorbit.com/vps-cloud?template=astro-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=astro-stack"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Astro Stack on ServOrbit" height="40"></a>

يشير الزر إلى طلب خادم ‎VPS مع تحديد القالب مسبقًا. تُقدَّم الصورة من ‎servorbit.com — لا شيء تستضيفه من جهتك.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة