ديف أوبس

تكوين Nginx و Apache على Ubuntu 18.04

إعداد Nginx كخادم ويب وكوسيط عكسي (Reverse Proxy) لـ Apache على خادم Ubuntu 18.04 يمثل تكاملًا هامًا لتحسين أداء الخادم وتعزيز قدرته على تلبية الطلبات. يسمح هذا الإعداد بتحسين استجابة الخادم وتوزيع حمل العمل بين Nginx و Apache بشكل فعّال. سأقدم لك توجيهات شاملة لتحقيق هذا الإعداد.

أولاً وقبل أي شيء، تأكد من تثبيت Nginx و Apache على الخادم الخاص بك. يمكنك استخدام أمر التثبيت في نظام Ubuntu لتحقيق ذلك:

bash
sudo apt update sudo apt install nginx apache2

بعد تثبيت كل من Nginx و Apache، يجب تعيين Apache للعمل على منفذ غير الافتراضي (80)، مثلاً منفذ 8080. قم بتحرير ملف الضبط لـ Apache باستخدام محرر نصوص، مثل nano:

bash
sudo nano /etc/apache2/ports.conf

قم بتغيير خط Listen إلى:

conf
Listen 127.0.0.1:8080

ثم، قم بتعيين Apache ليستمع فقط على عنوان الاستماع المحلي. قم بتحرير ملف الضبط الخاص بموقعك:

bash
sudo nano /etc/apache2/sites-available/000-default.conf

وقم بتعديل السطر:

conf

بدلاً من:

conf

الآن، قم بإعادة تشغيل Apache لتطبيق التغييرات:

bash
sudo service apache2 restart

بعد ذلك، تحتاج إلى تكوين Nginx للقيام بدور الخادم الويب والوسيط العكسي. قم بتحرير ملف التكوين الرئيسي لـ Nginx:

bash
sudo nano /etc/nginx/nginx.conf

أضف تكوين للخادم كالتالي:

conf
server { listen 80; server_name your_domain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

لاحظ أنك يجب تغيير your_domain.com بنطاق خادمك الفعلي. ثم، قم بإعادة تشغيل Nginx:

bash
sudo service nginx restart

الآن، يعمل Nginx كواجهة أمامية توجه الطلبات إلى Apache عبر المنفذ 8080. يمكنك تخصيص هذه الإعدادات وتكوين المزيد حسب احتياجات خادمك وتطبيقك المحدد.

المزيد من المعلومات

بالتأكيد، سأقدم لك مزيدًا من التفاصيل حول تكوين Nginx كخادم ويب ووسيط عكسي لـ Apache على خادم Ubuntu 18.04.

  1. تكوين مواقع فرعية (Virtual Hosts) في Nginx:

    يمكنك تكوين مواقع فرعية في Nginx لدعم عدة مواقع على نفس الخادم. قم بإنشاء ملفات تكوين خاصة بكل موقع في دليل /etc/nginx/sites-available/. على سبيل المثال، لإضافة موقع فرعي باسم “subdomain.your_domain.com”، أنشئ ملفًا جديدًا مثل:

    bash
    sudo nano /etc/nginx/sites-available/subdomain

    وأضف التكوين التالي:

    conf
    server { listen 80; server_name subdomain.your_domain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

    بعد ذلك، قم بإنشاء رابط رمزي للتكوين في sites-enabled:

    bash
    sudo ln -s /etc/nginx/sites-available/subdomain /etc/nginx/sites-enabled/

    ثم قم بإعادة تشغيل Nginx:

    bash
    sudo service nginx restart
  2. تكوين SSL/TLS:

    يمكنك تحسين أمان الاتصال بواسطة تكوين شهادة SSL/TLS. يمكنك الحصول على شهادة SSL مجانية من Let’s Encrypt وتثبيتها باستخدام Certbot. للقيام بذلك، قم بتنفيذ الخطوات التالية:

    bash
    sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com -d subdomain.your_domain.com

    اتبع التعليمات لإكمال عملية التثبيت.

  3. ضبط أمان Nginx:

    يمكنك تعزيز أمان Nginx عبر تكوين إعدادات مثل قائمة البروتوكولات والتشفير. قم بتحرير ملف /etc/nginx/nginx.conf وقم بإضافة أو تعديل الخيارات التالية:

    conf
    ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers off; ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384'; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off;

    بعد ذلك، قم بإعادة تشغيل Nginx.

    bash
    sudo service nginx restart

    تأكد من أنك قد قمت بفحص تكوين Nginx بشكل دوري لتحسين الأمان وتكوينات الأداء.

  4. مراقبة الأداء والصيانة:

    يُنصح بتثبيت أدوات مراقبة الأداء مثل htop وتفعيل السجلات (logs) لكل Nginx و Apache. ذلك يمكن أن يساعدك في تحديد وحل المشكلات الأدائية.

    bash
    sudo apt install htop

    يمكنك تفعيل السجلات لـ Nginx و Apache باستخدام الأمر:

    bash
    sudo nano /etc/nginx/nginx.conf

    وفي ملف التكوين، قم بتكوين قسم السجلات مثل:

    conf
    error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log;

    كما يمكنك فعل نفس الشيء لـ Apache.

    أخيرًا، قم بتكرار هذه الخطوات بشكل دوري وقم بتحديث نسخ Nginx و Apache للحفاظ على أمان واستقرار الخادم الخاص بك.

الخلاصة

في ختام هذا الدليل الشامل لتكوين Nginx كخادم ويب ووسيط عكسي لـ Apache على خادم Ubuntu 18.04، يمكن القول إن هذا الإعداد يعزز أداء الخادم ويساعد في تحسين توزيع حمل العمل بشكل فعّال. بتوجيه طلبات الويب إلى Nginx الذي يعمل كواجهة أمامية، يمكن تخفيف ضغط Apache وتحسين استجابته. فيما يلي خلاصة للخطوات الرئيسية:

  1. تثبيت Nginx و Apache:

    • استخدم أوامر التثبيت لتثبيت Nginx و Apache على خادم Ubuntu 18.04.
  2. تكوين Apache:

    • قم بتعيين Apache للعمل على منفذ غير الافتراضي (مثل 8080) وقم بتحديد عنوان الاستماع المحلي.
  3. تكوين Nginx كوسيط عكسي:

    • قم بتعيين Nginx للعمل كخادم ويب ووسيط عكسي.
    • قم بتكوين Nginx لتوجيه الطلبات إلى Apache عبر المنفذ المعين.
  4. إضافة مواقع فرعية و SSL:

    • قم بتكوين مواقع فرعية في Nginx لدعم عدة مواقع.
    • قم بتحسين أمان الاتصال باستخدام شهادات SSL من Let’s Encrypt.
  5. تحسين أمان Nginx:

    • قم بتكوين إعدادات الأمان في Nginx لتحسين البروتوكولات وتشفير الاتصال.
  6. مراقبة الأداء والصيانة:

    • استخدم أدوات مراقبة الأداء مثل htop.
    • فعل السجلات لـ Nginx و Apache لتسهيل تشخيص الأخطاء وتحسين الأداء.
  7. الصيانة الدورية:

    • تحديث نسخ Nginx و Apache بانتظام لضمان أمان واستقرار الخادم.

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

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

زر الذهاب إلى الأعلى