DevOps 2 دقيقة للقراءة 1,339 مشاهدات

كيفية نشر Laravel على خادم Ubuntu مع Nginx في 2026

دليل نشر شامل لتطبيقات Laravel على Ubuntu مع Nginx وشهادات SSL وتحسين الأداء.

Server deployment

المتطلّبات المسبقة

  • خادم Ubuntu 22.04+
  • اسم نطاق يشير إلى عنوان IP الخادم
  • وصول SSH إلى الخادم

الخطوة 1: تثبيت الحزم المطلوبة

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mysql-server php8.3-fpm php8.3-mysql \
    php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip \
    php8.3-bcmath php8.3-redis git composer -y

الخطوة 2: إعداد MySQL

sudo mysql_secure_installation

sudo mysql
CREATE DATABASE laravel_app;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL ON laravel_app.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
EXIT;

الخطوة 3: نشر تطبيق Laravel

cd /var/www
sudo git clone https://github.com/your/repo.git laravel-app
cd laravel-app
sudo chown -R www-data:www-data .
sudo chmod -R 755 storage bootstrap/cache

composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache

الخطوة 4: إعداد Nginx

# /etc/nginx/sites-available/laravel
server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/laravel-app/public;

    index index.php;

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

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

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

الخطوة 5: تثبيت SSL باستخدام Certbot

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
sudo systemctl reload nginx

الخطوة 6: إعداد عامل الطابور (اختياري)

# /etc/supervisor/conf.d/laravel-worker.conf
[program:laravel-worker]
command=php /var/www/laravel-app/artisan queue:work
user=www-data
autostart=true
autorestart=true
numprocs=2

sudo supervisorctl reread
sudo supervisorctl update

تطبيق Laravel الخاص بك أصبح الآن مباشراً!

مشاركة هذه المقالة:
ES
كتبه

Edrees Salih

مهندس برمجيات متكامل يتمتع بخبرة 9 سنوات. شغوف ببناء حلول قابلة للتطوير ومشاركة المعرفة مع مجتمع المطورين.

عرض الملف الشخصي

التعليقات (0)

اترك تعليقًا

لن يتم نشر بريدك الإلكتروني.

لا توجد تعليقات بعد. كن أول من يشارك أفكاره!

مقالات ذات صلة

مقالات ذات صلة

هل تحتاج مساعدة في مشروعك؟

احجز استشارة مجانية لمدة 30 دقيقة لمناقشة تحدياتك التقنية واستكشاف الحلول معًا.