[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-symfony-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},48,"deployer-symfony-vps","نشر تطبيق Symfony على VPS","انشر Symfony على VPS: PHP-FPM وNginx وMySQL وComposer وSSL. دليل كامل لمطوّري PHP الراغبين في الاستضافة الذاتية.",8,776,false,"2026-05-03T00: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-symfony-vps-poster.svg",{"categorySlug":18,"appSlug":27},"symfony","Symfony هو إطار عمل PHP للتطبيقات المؤسسية الصعبة، المبني حول مكوّنات قابلة لإعادة الاستخدام وحاوية خدمات قوية. ونشره على VPS يمنحك التحكم في PHP-FPM وOPcache وقاعدة البيانات والتخزين المؤقت، لتحقيق أداء لا تتيحه سوى قلّة من خدمات الاستضافة المشتركة.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","لماذا تستضيف Symfony ذاتيًا على VPS؟","يتطلب Symfony إعداد PHP دقيقًا: الامتدادات (intl وopcache وpdo)، وإصدار PHP، وإعدادات الذاكرة، والصلاحيات على مجلدي `var\u002Fcache` و`var\u002Flog`. وغالبًا ما تفرض الاستضافة المشتركة إصدارات مجمّدة وتعطّل امتدادات أساسية، في حين تُخفي منصة PaaS طبقة PHP-FPM. على VPS، تختار PHP 8.2\u002F8.3، وتفعّل وتضبط OPcache وpreloading لتحقيق مكاسب أداء كبيرة، وتضبط PHP-FPM (عدد العمليات، pm.max_children) وفق حِملك. كما تتحكم في MySQL أو PostgreSQL وفي ذاكرة Redis المؤقتة للجلسات ولـDoctrine. ولتطبيق Symfony في الإنتاج، يحدّد هذا المستوى من التحكم زمن الاستجابة بشكل مباشر.",{"type":35,"title":36,"items":37},"ul","فوائد ملموسة لاستضافة Symfony ذاتيًا",[38,39,40,41,42,43],"اختيار إصدار PHP وجميع الامتدادات المطلوبة دون قيود.","تفعيل OPcache وpreloading في Symfony لتقليل أزمنة الاستجابة بشكل ملحوظ.","ضبط دقيق لـPHP-FPM (`pm.max_children`، workers) وفق ذاكرة RAM المتاحة.","قاعدة بيانات MySQL\u002FPostgreSQL وذاكرة Redis المؤقتة تحت سيطرتك، مع نسخ احتياطية مجدولة.","تنفيذ أوامر console ومكوّن Messenger (workers) بشكل متواصل عبر systemd أو Supervisor.","عمليات نشر ذرّية (atomic) باستخدام روابط رمزية، دون انقطاع الخدمة.",{"type":31,"title":45,"body":46},"المتطلبات المسبقة للعتاد والبرمجيات","يعمل تطبيق Symfony مع قاعدة بيانات بأريحية على 2 vCPU و2 غيغابايت من ذاكرة RAM؛ وارتفع إلى 4 غيغابايت إذا أضفت Redis أو Elasticsearch أو workers الخاصة بـMessenger. ثبّت PHP 8.2+ مع FPM والامتدادات `intl` و`opcache` و`pdo_mysql` و`mbstring` و`xml`، إضافةً إلى Composer 2. يعمل Nginx كواجهة أمامية، وMySQL 8 أو PostgreSQL كقاعدة بيانات. ويمكنك تعبئة كل شيء في حاويات باستخدام Docker (صورة `php:8.3-fpm`) أو التثبيت الأصلي. يلزم نطاق مُوجَّه نحو VPS لأجل TLS. جهّز بيئة `APP_ENV=prod` وتوليد الأصول عبر AssetMapper أو Webpack Encore.",{"type":48,"title":49,"steps":50},"steps","نشر Symfony خطوة بخطوة",[51,54,57,60,63,66],{"title":52,"body":53},"تجهيز الخادم والشيفرة","عبر SSH، ثبّت PHP-FPM 8.3 والامتدادات وComposer (أو Docker). استنسخ المستودع وأنشئ `.env.local` مع `APP_ENV=prod` و`APP_SECRET` و`DATABASE_URL`. نفّذ `composer install --no-dev --optimize-autoloader`.",{"title":55,"body":56},"تصريف الذاكرة المؤقتة والأصول","نفّذ `php bin\u002Fconsole cache:clear --env=prod` ثم `cache:warmup`. صرِّف الأصول باستخدام `php bin\u002Fconsole asset-map:compile` (AssetMapper) أو `npm run build` (Encore). تحقّق من الصلاحيات على `var\u002F`.",{"title":58,"body":59},"ترحيل قاعدة البيانات","نفّذ `php bin\u002Fconsole doctrine:migrations:migrate --no-interaction` لتطبيق المخطط (schema). واضبط اتصال Redis للجلسات ولذاكرة Doctrine المؤقتة إذا كان تطبيقك بحاجة إلى ذلك.",{"title":61,"body":62},"إعداد Nginx وPHP-FPM","وجّه جذر Nginx نحو `public\u002F`، ووجّه جميع الطلبات إلى `index.php` عبر `try_files`، ومرّر ملفات `.php` إلى مقبس PHP-FPM باستخدام `fastcgi_pass`. اضبط `pm.max_children` وفق ذاكرة RAM وفعّل OPcache في `php.ini`.",{"title":64,"body":65},"التأمين بشهادة SSL","احصل على شهادة Let's Encrypt عبر Certbot لـ`yourdomain.com`، وافرض HTTPS وفعّل التجديد التلقائي. واحظر الوصول المباشر إلى مجلدات `config\u002F` و`src\u002F` و`var\u002F` على مستوى Nginx.",{"title":67,"body":68},"الإشراف على workers الخاصة بـMessenger","إذا كنت تستخدم مكوّن Messenger، فعرّف خدمة systemd أو Supervisor تنفّذ `php bin\u002Fconsole messenger:consume async` بشكل متواصل، مع إعادة تشغيل تلقائية. وجدْوِل مهمة cron لـ`messenger:stop-workers` بعد النشر من أجل إعادة تحميل الشيفرة الجديدة.",{"type":70,"body":71},"tip","فعّل preloading في Symfony بتوجيه `opcache.preload` نحو `var\u002Fcache\u002Fprod\u002FApp_KernelProdContainer.preload.php` في ملف `php.ini` الخاص بك. عندئذٍ تُحمَّل حاوية الخدمات وأصناف إطار العمل مرة واحدة في الذاكرة عند بدء تشغيل PHP-FPM، ما يزيل جزءًا كبيرًا من تكلفة الـautoloading في كل طلب ويقلّل زمن الاستجابة في الإنتاج بشكل ملحوظ.","ضع تطبيق Symfony الخاص بك في الإنتاج","يوفّر VPS السحابي من ServOrbit قالبًا مع PHP-FPM وNginx وقاعدة بيانات وشهادات SSL تلقائية، جاهزًا لاستضافة تطبيقات Symfony المُحسَّنة بـOPcache.","انشر VPS الخاص بـSymfony","\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",1785097283334]