الموقع حالياً تحت التطوير (Beta) 🚀. قد تلاحظ بعض التغييرات أو مميزات قيد العمل.
DevOps درس تعليمي

نشر تطبيقات لارافيل على السحابة: دليل شامل

Admin User
Admin User
May 18, 2026
8 دقيقة قراءة

Key Takeaways

  • # نشر تطبيقات لارافيل على السحابة: دليل شامل
  • أحدثت الحوسبة السحابية ثورة في طريقة بناء التطبيقات ونشرها وتوسيع نطاقها. بالنسبة لمطوري لارافيل، يعد فهم استراتيج...

نشر تطبيقات لارافيل على السحابة: دليل شامل

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

ما هو نشر "لارافيل السحابي"؟ #

يشير نشر "لارافيل السحابي" إلى عملية استضافة وتشغيل تطبيق لارافيل الخاص بك على بنية تحتية سحابية توفرها خدمات مثل AWS، Google Cloud، Azure، DigitalOcean، أو غيرها. بدلاً من إدارة الخوادم المادية، فإنك تستفيد من الموارد الافتراضية، مما يتيح مرونة أكبر وقابلية للتوسع وفعالية من حيث التكلفة.

لماذا يجب نشر لارافيل على السحابة؟ #

  • قابلية التوسع (Scalability): التعامل بسهولة مع ذروة حركة المرور عن طريق توسيع الموارد أو تقليصها حسب الحاجة.
  • الموثوقية والتوفر العالي (Reliability & High Availability): توزيع تطبيقك عبر مناطق توفر متعددة لتقليل وقت التوقف عن العمل.
  • فعالية التكلفة (Cost-Efficiency): الدفع فقط مقابل الموارد التي تستهلكها، مما يؤدي غالبًا إلى خفض تكاليف التشغيل.
  • الوصول العالمي (Global Reach): النشر بالقرب من المستخدمين لتقليل زمن الاستجابة.
  • الخدمات المدارة (Managed Services): التخلص من عبء إدارة البنية التحتية (قواعد البيانات، التخزين المؤقت، طوابير الانتظار) لمزودي الخدمات السحابية.

استراتيجيات النشر السحابي الشائعة للارافيل #

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

1. البنية التحتية كخدمة (IaaS) - الأجهزة الافتراضية #

تُعد هذه الطريقة الأكثر تقليدية لنشر التطبيقات السحابية. تقوم بتوفير جهاز افتراضي (VM) وإعداد حزمة البرامج بالكامل يدويًا. يشمل المزودون AWS EC2، Google Cloud Compute Engine، Azure Virtual Machines، DigitalOcean Droplets، وLinode Instances.

المزايا: تحكم كامل في بيئة الخادم. العيوب: يتطلب إعدادًا وتكوينًا وصيانة يدوية كبيرة (تحديثات نظام التشغيل، تصحيحات الأمان).

خطوات الإعداد النموذجية:

  1. توفير جهاز افتراضي (VM): اختر نظام تشغيل (مثل Ubuntu، Debian).
  2. تثبيت خادم الويب: Nginx أو Apache.
  3. تثبيت PHP والإضافات: تأكد من إصدار PHP الصحيح والإضافات الضرورية (mbstring, dom, fileinfo, gd, json, mysql, openssl, pdo, tokenizer, xml, zip).
  4. تثبيت Composer: مدير تبعيات PHP.
  5. تثبيت قاعدة البيانات: MySQL، PostgreSQL، أو استخدام خدمة قاعدة بيانات مُدارة (مثل AWS RDS، Google Cloud SQL).
  6. استنساخ مشروع لارافيل: من مستودع Git الخاص بك.
  7. تكوين البيئة: تعيين متغيرات .env.
  8. تثبيت التبعيات: composer install.
  9. تشغيل الترحيلات (Migrations): php artisan migrate.
  10. ربط التخزين (Storage): php artisan storage:link.
  11. تعيين الأذونات: لدلائلي storage و bootstrap/cache.
  12. تكوين Nginx/Apache: للإشارة إلى دليل public الخاص بك.
  13. إعداد عامل طابور الانتظار (اختياري): Supervisor لـ php artisan queue:work.
  14. تكوين SSL/TLS: باستخدام Certbot مع Let's Encrypt.

مثال (جزء من تكوين Nginx):

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html/your-laravel-app/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.env {
        deny all;
    }
}

2. المنصة كخدمة (PaaS) #

تُجرد عروض PaaS الكثير من البنية التحتية الأساسية، مما يسمح لك بالتركيز فقط على الكود الخاص بك. تتضمن الأمثلة Heroku، Google App Engine، وAWS Elastic Beanstalk.

المزايا: نشر أسرع، عبء تشغيلي أقل، توسيع تلقائي. العيوب: تحكم أقل في الخادم الأساسي، احتمال الارتباط بمزود معين، قد يكون أكثر تكلفة من IaaS لبعض حالات الاستخدام.

النشر باستخدام Heroku (مثال):

  1. تثبيت Heroku CLI.
  2. تسجيل الدخول: heroku login.
  3. إنشاء تطبيق: heroku create your-app-name.
  4. إضافة حزمة بناء (Buildpack): heroku buildpacks:set heroku/php.
  5. دفع الكود: git push heroku main.
  6. توفير قاعدة البيانات: heroku addons:create heroku-postgresql:hobby-dev.
  7. تشغيل الترحيلات: heroku run php artisan migrate.

3. النشر بدون خادم (Serverless Deployment) #

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

Laravel Vapor هو منصة النشر الرسمية بدون خادم التي أنشأها تايلور أوتويل (مبتكر لارافيل) خصيصًا لـ Laravel على AWS Lambda.

المزايا: قابلية توسع شبه لا نهائية، الدفع حسب التنفيذ، الحد الأدنى من إدارة الخادم. العيوب: تطبيقات بلا حالة (تتطلب تخزينًا خارجيًا مثل S3 للتحميلات)، "بدء بارد" (cold starts)، قد يكون تصحيح الأخطاء معقدًا، خاص بـ AWS.

النشر باستخدام Laravel Vapor:

  1. تثبيت Vapor CLI: composer global require laravel/vapor-cli.
  2. تكوين مشروع Vapor: أضف ملف vapor.yml إلى جذر مشروعك.
  3. النشر: vapor deploy production (أو البيئة التي اخترتها).

مثال على جزء من vapor.yml:

id: 12345
name: my-laravel-app

environments:
    production:
        memory: 1024
        cli-memory: 512
        runtime: php-8.2
        build:
            - 'composer install --no-dev'
            - 'php artisan event:cache'
            - 'php artisan optimize'
        domain: yourdomain.com
        queue:
            driver: sqs
            visibility: 90
        database: my-rds-database
        cache: my-redis-cache
        storage: my-s3-bucket

4. الحاويات (Docker & Kubernetes) #

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

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

مثال Dockerfile لـ Laravel:

FROM php:8.2-fpm-alpine

# Install system dependencies
RUN apk add --no-cache \
    nginx \
    git \
    curl \
    onig-dev \
    libxml2-dev \
    zip \
    unzip \
    icu-dev \
    libzip-dev \
    postgresql-dev \ # Or mysql-dev
    && docker-php-ext-install pdo_mysql pdo_pgsql opcache bcmath exif pcntl gd iconv intl zip

# Copy Composer into the image
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Set working directory
WORKDIR /var/www/html

# Copy application code
COPY . .

# Install PHP dependencies
RUN composer install --no-dev --optimize-autoloader

# Optimize Laravel
RUN php artisan config:cache \
    && php artisan route:cache \
    && php artisan view:cache

# Expose port 9000 for PHP-FPM
EXPOSE 9000

# Start PHP-FPM
CMD ["php-fpm"]

يتضمن نشر هذا على Kubernetes (EKS، GKE، AKS) كتابة ملفات تعريف Kubernetes (Deployment, Service, Ingress, PersistentVolume, وما إلى ذلك) واستخدام kubectl لتطبيقها.

اعتبارات رئيسية لنشر السحابة #

  • قاعدة البيانات: استخدم خدمات قواعد البيانات المدارة (AWS RDS، Google Cloud SQL) لتسهيل التوسع، النسخ الاحتياطي، والتوفر العالي.
  • التخزين المؤقت (Caching): قم بدمج Redis أو Memcached، ويفضل استخدام الخدمات المدارة.
  • التخزين (Storage): قم بتخزين الملفات التي يرفعها المستخدمون على تخزين الكائنات مثل AWS S3 أو Google Cloud Storage، وليس مباشرة على الخادم.
  • طوابير الانتظار (Queues): استخدم خدمات طوابير الانتظار المدارة (AWS SQS، Google Cloud Pub/Sub) أو قم بتشغيل عمال طوابير انتظار مخصصين.
  • CI/CD: نفذ مسارات التكامل المستمر/النشر المستمر (على سبيل المثال، GitHub Actions، GitLab CI، Jenkins) للاختبار والنشر الآلي.
  • متغيرات البيئة: لا تقم أبدًا بتضمين بيانات الاعتماد الحساسة في الكود. استخدم متغيرات البيئة (عبر مديري أسرار موفري السحابة أو ملفات .env بشكل مناسب).
  • المراقبة والتسجيل (Monitoring & Logging): قم بإعداد المراقبة السحابية (AWS CloudWatch، Google Cloud Monitoring) والتسجيل (AWS CloudTrail، Stackdriver Logging) لتتبع صحة التطبيق وأدائه.
  • الأمان: طبق أفضل ممارسات الأمان، بما في ذلك عزل الشبكة (VPCs)، جدران الحماية (Security Groups, Network ACLs)، أدوار IAM، وعمليات تدقيق الأمان المنتظمة.

أدوات النشر الخاصة بـ Laravel #

  • Laravel Forge: خدمة توفير الخوادم والنشر التي تبسط إدارة الخوادم على مختلف مزودي IaaS (AWS، DigitalOcean، Linode، Vultr). إنها تعمل على أتمتة Nginx، PHP-FPM، MySQL، Redis، وعمليات النشر.
  • Laravel Vapor: منصة النشر الرسمية بدون خادم لـ Laravel على AWS Lambda، وتوفر قابلية توسع وكفاءة لا تصدق للتطبيقات المتوافقة.

الخلاصة #

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

FAQs

ما هو الفرق الرئيسي بين IaaS و PaaS و Serverless لنشر لارافيل؟
تمنحك IaaS (مثل EC2) تحكمًا كاملاً في الخادم ولكنها تتطلب المزيد من الإدارة اليدوية. تجرد PaaS (مثل Heroku، Elastic Beanstalk) البنية التحتية، مما يوفر نشرًا أسرع ولكن تحكمًا أقل. تزيل Serverless (مثل Laravel Vapor على AWS Lambda) إدارة الخادم بالكامل، وتفوتر على أساس وقت التنفيذ، وهي مثالية للتطبيقات القابلة للتوسع للغاية والموجهة بالأحداث.
متى يجب أن أفكر في استخدام Laravel Vapor؟
يُعد Laravel Vapor الأنسب للمشاريع الجديدة أو التطبيقات التي يمكن إعادة هيكلتها لتكون بلا حالة، ولديها أنماط حركة مرور متغيرة، وتستفيد من قابلية التوسع القصوى ونموذج التكلفة حسب التنفيذ. إنه يستفيد من AWS Lambda وخدمات AWS الأخرى، مما يجعله خيارًا قويًا لتطبيقات لارافيل الحديثة.

Want more content like this?

Explore more tutorials in the DevOps section.

Explore DevOps

You might also like