ما هو الـ LEMP Stack؟
الـ LEMP هو اختصار لمجموعة البرمجيات الأساسية لتشغيل الخوادم الحديثة:
- Linux: نظام التشغيل.
- E (Nginx - يُنطق Engine-X): سيرفر الويب العالي الأداء.
- MariaDB / MySQL: نظام إدارة قواعد البيانات.
- PHP: لغة البرمجة.
الخطوة 1: تنصيب Nginx و PHP
على سيرفر Ubuntu، نقوم أولاً بتحديث مستودعات النظام، ثم نثبت البرمجيات الأساسية:
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo apt install php-fpm php-mysql php-mbstring php-xml php-bcmath php-curl php-zip -y
هذه الحزم (Extensions) لـ PHP هي الأساسية والتي يطلبها إطار عمل Laravel ليعمل بشكل صحيح.
الخطوة 2: تنصيب قواعد البيانات MariaDB
تعتبر MariaDB بديلاً أسرع ومفتوح المصدر لـ MySQL. بعد تنصيبها يجب تأمينها:
sudo apt install mariadb-server -y
sudo mysql_secure_installation
سيسألك المعالج عدة أسئلة، مثل تعيين كلمة مرور لـ Root، وحذف القواعد التجريبية، ومنع الدخول عن بُعد. أجب بـ Y على جميع أسئلة الأمان.
الخطوة 3: إعداد Nginx لاستضافة مشروع Laravel
تختلف مشاريع Laravel عن المواقع التقليدية بأن نقطة الدخول الوحيدة (Entry Point) هي مجلد public فقط، وليس الجذر الرئيسي للمشروع، وذلك لحماية الأكواد المصدرية من الوصول المباشر.
قم بإنشاء ملف إعداد جديد لموقعك:
sudo nano /etc/nginx/sites-available/my-laravel-app
ضع فيه الإعدادات التالية (القياسية لـ Laravel):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/my-laravel-app/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
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 ~ /\.(?!well-known).* {
deny all;
}
}
أخيراً، قم بتفعيل الموقع وإعادة تشغيل Nginx:
sudo ln -s /etc/nginx/sites-available/my-laravel-app /etc/nginx/sites-enabled/
sudo systemctl restart nginx
مبروك! سيرفرك الآن جاهز لاستقبال ملفات مشروعك وقاعدة البيانات وتقديم الصفحات للزوار بأقصى سرعة ممكنة بفضل Nginx.
💬 التعليقات
0 تعليقات