استضافة Laravel

استضافة Laravelبلا قيود الاستضافة المشتركة

اربط المستودع واضبط المتغيرات ليُنشر التطبيق. تعمل الطوابير والمجدول أيضًا، دون cron يدوي ودون تذكرة لكل composer install.

  • SSL مجاني
  • فوترة ساعية
  • مجموعتا إيران وألمانيا
  • نطاق فرعي مجاني
lexoya / laravel-shopmain
$ git push origin main
✓ repository cloned
✓ composer install
✓ npm run build
✓ php artisan migrate
live your-project.lexoyacloud.ir

هذه الأسطر الستة هي النشر كله: بلا SSH وبلا cron يدوي.

ما هي استضافة Laravel؟

استضافة Laravel هي استضافة تجهز متطلبات إطار العمل مسبقًا: نسخة PHP المناسبة وComposer وartisan وجذر المستند على public وإمكانية تشغيل الأعمال الخلفية كالطوابير والمجدول. وهنا الفرق الحقيقي عن الاستضافة المشتركة: هناك لا تعيش PHP إلا مدة طلب واحد، ولا مكان لعامل دائم.

يعمل مشروع Laravel على ثلاثة أنواع من البنية: استضافة مشتركة للمواقع قليلة الزيارات، وخادم افتراضي للتحكم الكامل مقابل تكلفة الصيانة، ومنصة سحابية تقدم النشر والتوسع والمعالجة الخلفية دون إدارة خوادم. يعتمد الاختيار على حاجة المشروع إلى عامل طوابير دائم.

ما يحتاجه مشروع Laravel فعلاً

هذه قائمة الشراء. إن غاب بند منها عند مزوّد، سيظهر لاحقًا كخطأ لا في صفحة البيع.

نسخة PHP والإضافات

يحتاج Laravel 11 إلى PHP 8.2 أو أحدث، مع تفعيل PDO وmbstring وopenssl وintl وgd وzip، وإمكانية تغيير النسخة لا تثبيتها.

جذر المستند على public

إذا أشار النطاق إلى جذر المشروع صار .env والكود مقروءًا من الخارج. يجب أن يكون جذر المستند مجلد public.

أدوات البناء: Composer وartisan

يجب أن يتم تثبيت التبعيات وتشغيل migrate وconfig:cache وقت النشر، دون تذكرة.

خطوة بناء للواجهة

مع Vite أو Mix تحتاج مكانًا لتشغيل npm ci وnpm run build، وإلا لم تُبنَ الأنماط.

عامل دائم

تعتمد الطوابير على عملية طويلة الأمد. بدون عامل تبقى المهام في الطابور وينتظر المستخدم بلا نهاية.

مجدول كل دقيقة

يجب أن يعمل schedule:run كل دقيقة، وهنا عادةً يفشل cron المحدود في الاستضافة المشتركة.

التخزين المؤقت والطوابير على Redis

يعمل التخزين على الملفات والطابور على قاعدة البيانات إلى حدّ ما. ومع حركة حقيقية يظهر فرق Redis.

تخزين خارج الخادم

ملفات المستخدمين على قرص الحاوية المحلي تختفي مع كل نشر، فمكانها S3.

استضافة مشتركة أم خادم افتراضي أم منصة سحابية؟

لا أحدها أفضل بإطلاق. اقرأ الجدول بحسب ما يفعله مشروعك فعلاً.

المعياراستضافة مشتركةخادم افتراضيمنصة لكسويا السحابية
المواردمشتركة مع عشرات المستخدمينمخصصة تديرها بنفسكمخصصة لكل مشروع
الطوابير والعواملغائبة عادةً أو محدودةبـSupervisor، تعدّه بنفسكمشروع منفصل للعامل
المجدولcron محدودcron كاملاستدعاء كل دقيقة
النشررفع يدوي أو Git على الخادمسكربتات خاصة بكpush إلى المستودع وبناء تلقائي
الصيانة والأمانعند المزوّدعندكعندنا
التكلفةمنخفضة وثابتةمنخفضة، لكن وقتك ليس كذلكحسب الاستخدام، بالساعة

لموقع شركة بسيط ببضع مئات من الزيارات يوميًا، تبقى الاستضافة المشتركة الأرخص. ومع الطوابير والعوامل والنشر المتكرر يتجاوز وقت صيانة الخادم فرق السعر.

نشر Laravel على لكسويا

ست خطوات من المستودع إلى النطاق، دون حاجة إلى SSH.

  1. اربط المستودع

    اربط GitHub أو GitLab أو Gitea واختر الفرع الرئيسي.

  2. اختر نوع المشروع

    اختر نوع Laravel. إن كان للمستودع Dockerfile فحدّد مساره، وإلا استُخدم القالب الجاهز.

  3. متغيرات البيئة

    أدخل APP_KEY واتصال قاعدة البيانات وQUEUE_CONNECTION. تبقى الأسرار في اللوحة لا في المستودع.

  4. انشر

    يُبنى الإصدار وتُثبَّت التبعيات ويُنشر. سجل كل مرحلة متاح ويبيّن المرحلة الفاشلة.

  5. عامل الطابور

    أنشئ مشروع Supervisor يشغّل php artisan queue:work لتعالج المهام بعيدًا عن حركة الويب.

  6. النطاق وSSL

    اربط نطاقك أو استخدم النطاق الفرعي المجاني؛ تُصدر شهادة SSL وتُجدَّد تلقائيًا.

الطوابير والمجدول والمعالجة الخلفية

خمسة إعدادات تفصل بين «يعمل على الخادم» و«يعمل في الإنتاج».

الطوابير على Redis

اجعل مشغّل الطابور Redis وشغّل العامل منفصلًا. تحتاج المهام الفاشلة إلى إعادة محاولة وسجلات.

المجدول

يُستدعى schedule:run كل دقيقة وينفّذ kernel الخاص بك؛ لا حاجة لتعريف cron في لوحة.

WebSocket مع Reverb

يأخذ Reverb منفذًا ونطاقًا خاصًا ويعمل إلى جانب التطبيق. للأحمال الثقيلة افصل العامل عن خادم المقبس.

لوحة Horizon

إن عملت على Redis فعّل Horizon أيضًا، واحمِ مساره بالمصادقة.

ملفات المستخدمين على S3

اضبط FILESYSTEM_DISK=s3 لتبقى الملفات بعد كل نشر ومشتركة بين الإصدارات.

كيف تُحسب التكلفة

تُحسب التكلفة حسب الموارد التي يستهلكها المشروع: المعالج والذاكرة والقرص والحركة، بالساعة. لا خطة ثابتة بسقف خفي؛ تختار التركيبة وتدفع مقابلها.

  • فوترة ساعية بلا رسوم تأسيس
  • قاعدة بيانات مُدارة كبند منفصل وواضح
  • تقدير شهري قبل الشراء
احسب التكلفة الشهرية

الانتقال من الاستضافة الحالية

معظم انقطاع الانتقال يأتي من أمرين: البريد المعاملاتي وبوابة الدفع. خطط لهما منفصلين.

  1. نسخة كاملة

    خذ نسخة من قاعدة البيانات وانسخ storage/app/public.

  2. الكود إلى Git

    ارفع المستودع دون .env أو vendor.

  3. المتغيرات

    اضبط APP_URL وSESSION_DOMAIN واتصال قاعدة البيانات الجديدة.

  4. انشر واهجر

    شغّل migrate --force ثم اختبر بوابة الدفع وتسجيل الدخول.

  5. غيّر DNS

    غيّر سجل النطاق وأبقِ الاستضافة القديمة حتى يستقر الجديد.

الأخطاء الشائعة وحلولها

هذه أكثر الأخطاء تكرارًا في الدعم.

خطأ 500 بعد النشر

الحل

غالبًا APP_KEY فارغ أو storage غير قابل للكتابة. أنشئ المفتاح وصحّح صلاحيات المجلدات.

مهام الطابور لا تُنفَّذ

الحل

العامل متوقف أو QUEUE_CONNECTION يشير إلى مشغّل خاطئ. شغّل مشروع العامل وصحّح المشغّل.

الصور المرفوعة تختفي بعد كل نشر

الحل

كُتبت الملفات على قرص الحاوية المحلي. غيّر FILESYSTEM_DISK إلى S3.

تسجيل الدخول يفشل بخطأ 419

الحل

نطاق الجلسة لا يطابق الحالي أو الوكيل غير موثوق. اضبط SESSION_DOMAIN والوكلاء الموثوقين.

composer install ينقطع من إيران

الحل

الوصول إلى packagist من داخل إيران غير مستقر. نفّذ النشر في مجموعة ألمانيا.

الأنماط تبقى قديمة بعد النشر

الحل

لم تُنفَّذ خطوة بناء الواجهة أو بقي تخزين الإعدادات قديمًا. أضف npm run build وconfig:cache.

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

في المشتركة تعمل PHP لطلب واحد فقط ولا مكان لعامل دائم. استضافة Laravel تبقي الطوابير والمجدول وأوامر artisan تعمل.

أطلق مشروع Laravel اليوم

اربط المستودع واضبط المتغيرات وشاهد أول نشر. النطاق الفرعي وSSL جاهزان من البداية.

ابدأ نشر Laravel