عرب نت | Ar4bnet
تسجيل الدخول
الدرس السادس: أسرار إدارة خوادم الويب (Apache & Nginx) عبر Plesk
TUTORIAL السيرفرات و الاستضافه

الدرس السادس: أسرار إدارة خوادم الويب (Apache & Nginx) عبر Plesk

الغوص العميق في محركات الويب. كيف يعمل Nginx كبروكسي عكسي أمام Apache في Plesk؟ وكيف نكتب توجيهات Nginx (Directives) مخصصة لتطبيقات الحديثة كـ Node.js و Laravel؟

📅 2026-05-25 02:28 👁️ 521 مشاهدة 🧠 متقدم ⏱️ 4 دقيقة قراءة
إعلان

بنية خوادم الويب في Plesk: Nginx كبروكسي عكسي أمام Apache

في بيئات الاستضافة التقليدية، كان يُستخدم خادم Apache منفرداً. ورغم قوته ومرونته بفضل ملفات .htaccess، إلا أنه يستهلك كمية هائلة من الذاكرة العشوائية (RAM) عند التعامل مع الزيارات العالية، لأنه يفتح (Process) جديد لكل زائر. من هنا، أدخل Plesk نظاماً معمارياً مزدوجاً يعتمد على Nginx كبروكسي عكسي (Reverse Proxy) أمام Apache.

كيف يعمل هذا المزيج؟ (Under the Hood)

عندما يطلب زائر صورة، أو ملف CSS، أو صفحة PHP من موقعك، يصل الطلب أولاً إلى Nginx الذي يستمع للمنفذ 80 و 443.

  • الملفات الثابتة (Static Files): إذا كان الطلب لصورة أو ستايل، يقوم Nginx بخدمتها وإرسالها للزائر فوراً من الذاكرة (Caching) دون إزعاج Apache إطلاقاً! هذا يسرع الموقع بنسبة 300% ويوفر معالج السيرفر.
  • الملفات الديناميكية (PHP): إذا كان الطلب لصفحة PHP، يدرك Nginx أنه لا يستطيع معالجتها، فيمرر الطلب (Proxy Pass) داخلياً إلى Apache (أو مباشرة إلى PHP-FPM)، والذي يقوم بدوره بمعالجة الكود وإرجاع النتيجة لـ Nginx ليرسلها للزائر.

الاستغناء عن Apache تماماً: (FPM application served by nginx)

لتحقيق الأداء الأقصى (Ultimate Performance) للمواقع الحديثة مثل Laravel أو WordPress، يمكنك الاستغناء عن Apache تماماً. في لوحة Plesk، اذهب إلى Apache & nginx Settings وقم بإلغاء تحديد خيار (Proxy mode). عندما تفعل ذلك، سيقوم Nginx بالتحدث مباشرة مع محرك PHP-FPM. تحذير خطير للمحترفين: عند إيقاف Apache، ستتوقف جميع ملفات .htaccess عن العمل فوراً! أي قواعد إعادة توجيه (Rewrite Rules) كتبتها هناك يجب تحويلها إلى قواعد Nginx وكتابتها في صندوق (Additional nginx directives) في Plesk.

إعلان

كتابة توجيهات Nginx المخصصة (Custom Directives)

إذا قمت بإيقاف Apache لتطبيق Laravel، سيحتاج مسار التوجيه للعمل بشكل مختلف لكي لا يعطيك خطأ 404 في كل الصفحات الفرعية. في قسم Additional nginx directives أضف القاعدة الذهبية لـ Laravel:

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

# لتفعيل ضغط GZIP الاحترافي
gzip on;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

بهذا أنت تمنح موقعك سرعة خرافية لا يمكن لـ Apache الوصول إليها.

تشغيل تطبيقات Node.js باستخدام Phusion Passenger

ماذا لو كان مشروعك مبنياً بـ React Server-side أو Express.js؟ Plesk يدعم Node.js أصلياً عبر إضافة مدمجة. يقوم Plesk بتهيئة Phusion Passenger، وهو تطبيق وسيط يقوم بتشغيل كود الـ Node.js في الخلفية ويربطه بـ Nginx. لنجاح ذلك، تأكد من وضع ملف التشغيل الأساسي (مثل app.js أو server.js) في جذر المشروع، وأخبر Plesk باسم الملف من واجهة (Node.js Extension). سيقوم Plesk تلقائياً بتكوين البروكسي الداخلي ليتمكن الزوار من تصفح موقعك على المنفذ 80 بدلاً من الحاجة لكتابة domain.com:3000.


[توسعة المحترفين] أسرار Nginx المخفية و Micro-Caching للتطبيقات السريعة

توقفنا في الجزء السابق عند الاستغناء عن Apache. الآن سنتعمق في تقنيات سحرية باستخدام Nginx لا يعرفها إلا مهندسو الأداء العالي.

تقنية الـ Micro-Caching للتعامل مع الـ Viral Traffic

ماذا لو نشرت مقالاً في مدونتك وانتشر كالنار في الهشيم (Viral) وجلب لك 10 آلاف زائر في دقيقة واحدة؟ PHP وقاعدة البيانات سينهاران فوراً (502 Bad Gateway). الحل السحري لإنقاذ السيرفر هو Micro-Caching (التخزين المؤقت الدقيق). الفكرة هي أن نطلب من Nginx أن يحفظ نتيجة صفحة الـ PHP في الذاكرة لمدة ثانية واحدة فقط!

خلال هذه الثانية الواحدة، إذا جاء 100 زائر، الزائر الأول فقط هو من سيستهلك موارد PHP، بينما الـ 99 الآخرين سيحصلون على الصفحة المخبأة (Cached) من Nginx فوراً. هذا يعني أن سيرفرك سيعالج 1 طلب فقط في الثانية لـ PHP، بدلاً من 100! لتنفيذ ذلك، قم بإضافة هذه التوجيهات في صندوق Nginx في Plesk:

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=MICRO:10m inactive=5m max_size=1g;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

# داخل location /
fastcgi_cache MICRO;
fastcgi_cache_valid 200 1s;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;

بهذا الإعداد البسيط، سيرفرك بقوة 2GB رام يمكنه الصمود أمام 100 ألف زائر في الدقيقة دون أن يتعرق!

منع الـ Hotlinking لسرقة الباندويث

العديد من المنتديات أو المواقع المنافسة قد تقوم بنسخ رابط الصورة من موقعك (Copy Image Address) ولصقها في مواقعهم. هذا يعني أن زوار مواقعهم سيقومون باستهلاك البيانات (Bandwidth) الخاص بسيرفرك أنت مع كل مشاهدة! لحماية ملفاتك في Plesk، أضف الكود التالي في إعدادات Nginx الإضافية:

location ~ \.(jpe?g|png|gif|webp)$ {
    valid_referers none blocked server_names *.yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

إذا حاول موقع غريب عرض صورتك، سيقوم Nginx بكسر الصورة وإظهار خطأ 403 فوراً.

التحكم في معدل الطلبات (Rate Limiting) لحماية الـ APIs

إذا كان لديك واجهة برمجية (API)، قد تتعرض لهجمات DDoS بسيطة أو استهلاك مجنون من قبل البوتات. Nginx يمكنه فرض قيود صارمة. أضف توجيه الـ limit_req_zone في قسم הـ http (تحتاج لتدخل عبر הـ CLI أو إضافة Custom Configuration)، وحدد الطلبات بـ 5 طلبات في الثانية لكل عنوان IP (Rate Limit = 5r/s). أي طلب إضافي سيتم طرده بخطأ 429 Too Many Requests، مما يحمي قاعدة بياناتك من الانهيار.

إعلان

مواضيع تهمك

عرض كل الدروس
الدرس الثامن: إدارة شهادات الـ SSL وتأمين المواقع (Let's Encrypt & HSTS)
🧠 متقدم
درس
25 مايو 2026 285

الدرس الثامن: إدارة شهادات الـ SSL وتأمين المواقع (Let's Encrypt & HSTS)

لا يكفي تركيب SSL، بل يجب تفعيل HSTS و OCSP Stapling. سنتعلم كيفية تأمين لوحة Plesk نفسها،...

الدرس السابع: إعداد وتأمين خوادم البريد الإلكتروني (Mail Server Mastery)
🧠 متقدم
درس
25 مايو 2026 296

الدرس السابع: إعداد وتأمين خوادم البريد الإلكتروني (Mail Server Mastery)

بريدك الإلكتروني دائماً في الـ Spam؟ في هذا الدرس سنتعلم إعداد Postfix و Dovecot، وتكوين س...

الدرس العاشر: النسخ الاحتياطي السحابي والانتقال الآلي (Migration & Backups)
🧠 متقدم
درس
25 مايو 2026 576

الدرس العاشر: النسخ الاحتياطي السحابي والانتقال الآلي (Migration & Backups)

النسخ الاحتياطي هو الملاذ الأخير. سنتعلم كيفية ربط Plesk بالسحابة (Google Drive/S3)، وكيفي...

الدرس التاسع: أمان السيرفر و Fail2Ban وجدار حماية Plesk المدمج
🧠 متقدم
درس
25 مايو 2026 280

الدرس التاسع: أمان السيرفر و Fail2Ban وجدار حماية Plesk المدمج

كيف تجعل سيرفرك قلعة لا تُخترق؟ شرح مفصل لاستخدام Plesk Firewall لإغلاق المنافذ، تكوين Fai...

الدرس الخامس: إدارة قواعد البيانات المتقدمة في Plesk
🧠 متقدم
درس
25 مايو 2026 704

الدرس الخامس: إدارة قواعد البيانات المتقدمة في Plesk

كيف يدير Plesk محرك قواعد البيانات MySQL/MariaDB في الخلفية؟ سنتعلم إنشاء قواعد البيانات،...

الدرس الرابع: إضافة وإدارة النطاقات والاستضافة (Domains & Hosting)
🧠 متقدم
درس
25 مايو 2026 302

الدرس الرابع: إضافة وإدارة النطاقات والاستضافة (Domains & Hosting)

إضافة نطاق ليس مجرد كتابة اسمه. سنتعلم الفروق المعمارية بين Domains و Subdomains و Aliases...

💬 التعليقات

0 تعليقات

لتتمكن من كتابة تعليق، يجب تسجيل الدخول. تسجيل الدخول
لا توجد تعليقات حتى الآن. كن أول من يكتب تعليقًا.
📑 محتويات المقال