جميع الخدمات تعمل بشكل طبيعي
اختيار المنتج ·

استضافة Laravel للإنتاج: ماذا يجب أن يتضمن عرض المزود؟

دليل شراء وتشغيل Laravel يختبر استمرار العمال والجدولة والنشر والملفات والاستعادة، مع حدود مسؤولية بين الاستضافة والمطور.

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

قبل اعتماد استضافة Laravel، اطلب جرداً لمكونات مشروعك ومسؤوليات تشغيلها واختبارات قبولها. لا تحتاج كل التطبيقات إلى البنية نفسها؛ بعض المشاريع بسيطة، وأخرى تستخدم Redis أو Horizon أو اتصالات مستمرة أو معالجة ملفات، وكل مكون مستخدم يجب أن يظهر في العرض.

ملف المتطلبات الذي يختصر التقدير

المكون بيانات ترسلها للمزود ما تطلب التحقق منه؟
بيئة التطبيق إصدار Laravel وPHP والامتدادات والمكتبات توليفة مدعومة وطريقة تثبيت اعتماديات قابلة للتكرار
قاعدة البيانات المحرك والإصدار والحجم ونمط الاستخدام الاتصال والصلاحيات والنسخ وخطة النمو
الطوابير المشغل والمهام وأوقات إنجازها المطلوبة تشغيل العمال ومراقبتهم وحدودهم
الجدولة المهام وتواترها ومنطقتها الزمنية التنفيذ والتسجيل ومنع التكرار غير المقصود
الملفات رفع ومعالجة وتخزين محلي أو خارجي الصلاحيات والاستمرارية والنسخ والوصول
النشر المستودع وخطوات البناء والتغييرات على القاعدة طريقة إصدار جديد والتحقق والرجوع

اكتب بجانب كل مكون من يملكه: فريق التطبيق أم مزود الاستضافة أم جهة ثالثة. إذا استثنى العرض تحسين الكود، فهذا يحتاج وضوحاً في التصعيد، خصوصاً عندما يظهر العطل داخل مهمة أو استعلام لا يستطيع مسؤول النظام إصلاحه بتغيير الموارد.

تهيئة الويب والصلاحيات قبل الإطلاق

يوضح دليل Laravel للنشر ضرورة توجيه الويب إلى مجلد public، وضبط صلاحيات المجلدات اللازمة للتشغيل، وتعطيل عرض تفاصيل التصحيح في الإنتاج. اطلب اختباراً يثبت تشغيل التطبيق وحماية الملفات غير العامة، بدلاً من الاكتفاء بنسخ المشروع إلى مجلد الويب.

حدد طريقة إدارة الإعدادات والأسرار، ومن يستطيع قراءتها وتعديلها، وكيف تصل إلى الويب والعمال والجدولة. قد تعمل الواجهة بإعداد صحيح بينما تستخدم عملية خلفية بيئة مختلفة. لا ترسل مفاتيح الإنتاج مع طلب التسعير؛ يكفي وصف الخدمات والمتطلبات، ثم تُمنح الصلاحيات عبر مسار مناسب للتنفيذ.

العمال يجب أن يستمروا خارج جلسة المطور

إذا كان التطبيق يستخدم الطوابير، اختبر وصول مهمة إلى العامل وتنفيذها وتسجيل نتيجتها، ثم عودة العملية بعد خروجها أو إعادة تشغيل السيرفر. اطلب مدير عمليات أو آلية إشراف ملائمة للبيئة، وحدوداً تمنع عدد العمال من استنفاد الذاكرة أو اتصالات القاعدة.

تحتاج سياسة واضحة للمهام الفاشلة والمحاولات والانتظار. ليست كل مهمة آمنة لإعادة التنفيذ دون مراجعة، خصوصاً إذا أنشأت أثراً في خدمة خارجية. حدد مسؤول المتابعة وما يعد فشلاً يحتاج تدخلاً، وكيف يُربط التنبيه بالمهمة أو العميل دون كشف محتوى حساس غير لازم.

وعند استخدام Horizon، تأكد من إدراج متطلباته ومراقبته ضمن النطاق. وجود صفحة لوحة تحكم لا يثبت أن عملية المعالجة مستمرة أو أن عدد العمال مناسب للحمل.

الجدولة تحتاج اختبار التوقيت والتداخل

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

اختبر مهمة فعلية في وقت معلوم، وتحقق من مخرجاتها وسجلاتها والوقت الذي استغرقته. إذا كانت أطول من الفترة بين التشغيلات، اسأل كيف يُدار التداخل. وإذا توجد نسخ اختبار وإنتاج، تأكد من عدم تنفيذ مهمة إنتاجية على نسخة الاختبار أو إرسالها آثاراً حقيقية إلى العملاء.

وثق المنطقة الزمنية للأعمال المجدولة بما يناسب إجراءات الشركة. ظهور التوقيت الصحيح في واجهة المستخدم لا يثبت أن كل عامل وجدولة يستخدمان المرجع نفسه.

النشر يشمل الخدمات طويلة العمر والبيانات

بعد تحديث الكود، قد تحتاج العمليات المستمرة إلى إعادة تحميل أو تشغيل لاستخدام الإصدار الجديد؛ يوضح دليل Laravel للنشر هذا للمكونات طويلة العمر. حدد كيف تُنهى الأعمال الجارية وكيف يعود التشغيل تحت الإشراف، مع مراعاة إصدار المشروع والآلية التي يدعمها.

افصل نشر الملفات عن تغييرات قاعدة البيانات. بعض التغييرات لا يمكن عكسها بمجرد الرجوع إلى كود سابق، وقد تتطلب توافقاً مرحلياً بين إصدارين. اطلب من المطور ومسؤول التشغيل خطة لكل تغيير مؤثر، مع نقطة تحقق ومسؤول قرار عند الفشل.

تحتاج بيئة البناء أيضاً إلى موارد إذا كان التجهيز يتم على السيرفر. لا تفترض أن نجاح التشغيل المعتاد يثبت قدرة البيئة على بناء الأصول أو تثبيت الاعتماديات تحت حمل الإنتاج نفسه. يمكن فصل هذه العملية وفق تصميم النشر المختار.

الملفات والحالة عند زيادة النسخ

إذا شغلت أكثر من نسخة تطبيق، حدد مكان الملفات المرفوعة والجلسات والذاكرة المؤقتة وأقفال المهام. ملف موجود على قرص نسخة واحدة قد لا يظهر عبر نسخة أخرى. ولا ينبغي أن تكون صحة التطبيق معتمدة على وصول المستخدم دائماً إلى الجهاز نفسه إلا ضمن تصميم مفهوم ومختبر الحدود.

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

اختبار قبول إنتاجي في سيناريو واحد

في مثال افتراضي، يرفع المستخدم ملفاً، ويُنشأ سجل في القاعدة، وتُعالج مهمة في الطابور، ثم يظهر تقرير يمكن تنزيله للمستخدم المخول فقط. يشمل الاختبار التحقق من كل مرحلة، ثم إعادة تشغيل الخدمات والتأكد من عودتها، وتجربة نشر تحديث يحافظ على البيانات والمهام.

أضف فحصاً مستقلاً للنسخ والاستعادة، وقياساً للانتظار والأخطاء تحت حمل ممثل. صفحة صحة تعني أن التطبيق بدأ بنجاح قد لا تختبر جميع التبعيات؛ حدد ما يجب أن تغطيه المراقبة وما يُختبر دورياً بوظيفة عمل كاملة.

راجع أخطاء النسخ الاحتياطي لتقييم ما يلزم استعادته، واستخدم دليل نقل الاستضافة لجرد المكونات قبل الانتقال. لا تغلق المصدر حتى اعتماد البيانات والمهام والتكاملات على الوجهة.

أسئلة شائعة عن استضافة Laravel للإنتاج

هل كل مشروع Laravel يحتاج Redis؟

لا. يعتمد ذلك على المكونات والمشغلات التي يستخدمها المشروع. جهز الجرد أولاً، وتحقق من متطلبات أدوات مثل Horizon إذا كانت ضمن التطبيق، بدلاً من إضافة خدمة لا تستخدمها.

متى أحتاج ترقية الموارد؟

عندما تثبت القياسات نقصاً تحت حمل مشروع بعد مراجعة الإعدادات والعمليات المكلفة. قد تحتاج توسعة العمال أو القاعدة أو التخزين بصورة مختلفة؛ زيادة سيرفر الويب وحده ليست حلاً لكل قيد.

ماذا يجب أن تتضمن الإدارة الاحترافية؟

الأعمال التي تتفق عليها صراحة: إشراف العمليات والجدولة والمراقبة والنسخ والتحديث والنشر أو أجزاء منها. اطلب مخرجات واختبارات وحدود مسؤولية واضحة مع فريق التطوير.

اطلب عرض تشغيل كامل لتطبيق Laravel

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