[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-sveltekit-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},53,"deployer-sveltekit-vps","نشر تطبيق SvelteKit على خادم VPS","انشر تطبيق SvelteKit على خادم VPS Cloud مع محوّل Node، وDocker، وPM2، ووكيل عكسي، وSSL. درس تعليمي لمطوّري الواجهة الأمامية.",7,361,false,"2026-04-28T00: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-sveltekit-vps-poster.svg",{"categorySlug":18,"appSlug":27},"sveltekit","يُنتج SvelteKit تطبيقات full-stack عالية الأداء، لكنّ معظم الدروس تفترض نشرًا بلا خادم (serverless). على خادم VPS، يمنحك محوّل Node خادمًا حقيقيًا طويل العمل، دون إقلاع بارد ولا حدّ للتنفيذ. إليك كيفية نشره بشكل نظيف باستخدام Docker ووكيل عكسي.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","لماذا الاستضافة الذاتية لـ SvelteKit على خادم VPS","يتكيّف SvelteKit مع أهداف عديدة عبر محوّلاته (Vercel وNetlify وCloudflare…)، لكنّ المحوّل الرسمي `@sveltejs\u002Fadapter-node` يُنتج خادم Node مستقلًّا، وهو مثالي لخادم VPS. فبدلًا من تقسيم تطبيقك إلى دوال serverless خاضعة للإقلاع البارد ولحدود زمن التنفيذ، تحصل على عملية دائمة تُبقي اتصالاتها بقاعدة البيانات مفتوحة وتستجيب دون زمن كمون عند البدء. تعمل إجراءات النماذج ودوال `load` من جانب الخادم ونقاط نهاية `+server.ts` في بيئة تشغيل واحدة تتحكّم فيها. على خادم VPS، تتجنّب أيضًا الفوترة لكلّ استدعاء، الشائعة على منصّات الواجهة الأمامية، والتي تصبح غير قابلة للتوقّع بمجرّد ارتفاع حركة المرور.",{"type":35,"title":36,"items":37},"ul","الفوائد الملموسة",[38,39,40,41,42,43],"خادم Node دائم عبر adapter-node: لا إقلاع بارد على مسارات الخادم","اتصالات قاعدة البيانات تُبقى مفتوحة في مجمّع، دون إعادة اتصال عند كلّ طلب","لا فوترة لكلّ استدعاء: تكلفة مستقرّة حتى مع حركة مرور مرتفعة وغير منتظمة","إجراءات النماذج ونقاط نهاية `+server.ts` تُنفَّذ دون حدّ زمني مفروض","WebSockets وSSE ممكنة، حيث يمنعها أو يعقّدها نموذج serverless","متغيّرات البيئة والأسرار تُدار مباشرةً، دون لوحة تحكّم لمنصّة تابعة لطرف ثالث",{"type":31,"title":45,"body":46},"المتطلّبات العتادية والبرمجية","يستهلك تطبيق SvelteKit في وضع Node باعتدال: يناسب خادم VPS بمعالج افتراضي واحد (1 vCPU) و2 جيجابايت من الذاكرة موقعًا متوسّط حركة المرور، ارتقِ إلى 2 vCPU \u002F 4 جيجابايت إذا وضعت قاعدة بيانات PostgreSQL في الموقع نفسه ولديك دوال `load` ثقيلة من جانب الخادم. ثبّت Node.js 20 LTS، وإمّا Docker أو PM2 لإدارة العملية كخدمة خفيّة (daemon). سيعمل Nginx كوكيل عكسي. وجّه نطاقك نحو عنوان IP الخاص بخادم VPS. يبقى البناء (`build\u002F` المُولَّد بواسطة adapter-node) خفيفًا، وتكفي 5 إلى 10 جيجابايت من القرص مع `node_modules`.",{"type":48,"title":49,"steps":50},"steps","النشر خطوة بخطوة",[51,54,57,60,63,66],{"title":52,"body":53},"تثبيت محوّل Node وإعداده","أضف `@sveltejs\u002Fadapter-node` وصرّح عنه في `svelte.config.js` (`adapter: adapter()`). فهو الذي يحوّل تطبيقك إلى خادم Node مستقلّ بدلًا من حزمة serverless.",{"title":55,"body":56},"بناء التطبيق","شغّل `npm run build`. يُولّد SvelteKit مجلّد `build\u002F` يحتوي على `index.js`، وهو نقطة دخول الخادم. تختبره محليًا باستخدام `node build`؛ وهو يستمع افتراضيًا على المنفذ 3000.",{"title":58,"body":59},"الحوسبة في حاوية أو تحويل العملية إلى خدمة خفيّة","مع Docker: ملفّ Dockerfile بصورة `node:20-alpine` ينسخ `build\u002F` و`package.json`، ويثبّت تبعيات الإنتاج (`npm ci --omit=dev`) ويُشغّل `node build`. دون Docker: استخدم PM2 مع `pm2 start build\u002Findex.js --name svelte-app` لإعادة التشغيل التلقائي.",{"title":61,"body":62},"حقن إعداد وقت التشغيل","مرّر `PORT` و`ORIGIN` (لا غنى عنه كي يتحقّق SvelteKit من إجراءات النماذج) وأسرارك عبر البيئة: `ORIGIN=https:\u002F\u002Fmydomain.com`. دون `ORIGIN` صحيح، ستفشل إجراءات النماذج في بيئة الإنتاج بخطأ CSRF.",{"title":64,"body":65},"إعداد Nginx كواجهة أمامية","أنشئ مضيفًا افتراضيًا مع `proxy_pass http:\u002F\u002F127.0.0.1:3000;` والترويستين `proxy_set_header Host` و`X-Forwarded-Proto $scheme`. فعّل `proxy_http_version 1.1` وترويسات `Upgrade` إذا كنت تستخدم WebSockets.",{"title":67,"body":68},"التأمين باستخدام Let's Encrypt","شغّل `certbot --nginx -d mydomain.com`. بمجرّد تثبيت الشهادة، تحقّق من أنّ `ORIGIN` يطابق عنوان URL النهائي بـ HTTPS، وإلّا ستُرفض عمليات إرسال النماذج.",{"type":70,"body":71},"tip","خزّن مخرجات المسارات الساكنة مؤقّتًا بترويسة `Cache-Control` في دوال `load` الخاصة بك، وفعّل الضغط المسبق: يقدّم adapter-node تلقائيًا ملفّات `.gz` و`.br` إن وُجدت. ابنِ مع الضغط المسبق بتعيين `precompress: true` في خيارات المحوّل. أمّا من جهة إدارة العمليات، ففضّل وضع العنقود (cluster) الخاص بـ PM2 (`pm2 start build\u002Findex.js -i max`) لاستغلال جميع أنوية خادم VPS تحت حمل معالج مرتفع.","انشر تطبيق SvelteKit الخاص بك دون إقلاع بارد","يمنحك خادم VPS Cloud من ServOrbit بيئة Node دائمة بموارد مخصّصة: مثالية لتشغيل adapter-node باستمرار وتقديم مسارات SvelteKit دون زمن كمون عند البدء.","اكتشف خادم VPS Cloud","\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},5,"deployer-laravel-vps","نشر Laravel على خادم VPS: دليل الإنتاج","انقل Laravel إلى بيئة الإنتاج على خادم VPS: PHP وworkers والذاكرة المؤقتة وقاعدة البيانات وreverse proxy وHTTPS مُهيّأة بشكل نظيف.",2840,"2026-02-09T00: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\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":89},"laravel-stack",{"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},43,"deployer-nodejs-vps","نشر تطبيق Node.js على VPS","انشر تطبيق Node.js في بيئة الإنتاج على VPS: PM2 وبروكسي عكسي Nginx وشهادة SSL من Let's Encrypt وبدء تشغيل تلقائي عند الإقلاع.",8,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":95,"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",1785097283150]