ما هو NGINX
خادم ويب وبروكسي عكسي
NGINX هو خادم ويب عالي الأداء مفتوح المصدر، وبروكسي عكسي، وموازن حمل، وذاكرة تخزين مؤقت HTTP. أنشأه Igor Sysoev في عام 2004، وهو الآن مملوك لشركة F5 Networks.
الوظائف الأساسية
- خادم الويب — تقديم المحتوى الثابت
- البروكسي العكسي — توجيه الطلبات إلى خوادم الخلفية
- موازنة الحمل — توزيع حركة المرور عبر الخوادم
- إنهاء SSL/TLS — معالجة اتصالات HTTPS
- التخزين المؤقت HTTP — تخزين استجابات الخوادم الأمامية
المزايا
- بنية غير متزامنة قائمة على الأحداث
- استهلاك منخفض للذاكرة
- أداء عالي (أكثر من 10 آلاف اتصال)
- تكوين بسيط
- بنية معيارية
حالات الاستخدام النموذجية
- تقديم الملفات الثابتة (HTML، CSS، JS، الصور)
- بروكسي عكسي لـ Node.js، Python، PHP، Java
- بوابة API
- موازنة الحمل بين حاويات Docker
- إلغاء تحميل SSL للخدمات المصغرة
التكوين الأساسي
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
location /static/ {
root /var/www;
expires 30d;
}
}
NGINX مقابل Apache
| المعامل | NGINX | Apache | |---------|-------|--------| | البنية | قائمة على الأحداث | عملية/خيط | | الملفات الثابتة | أسرع | أبطأ | | .htaccess | لا | نعم | | التكوين | مركزي | موزع |
الوحدات الشائعة
- ngx_http_gzip_module — ضغط الاستجابات
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — التوكيل
- ngx_http_upstream_module — موازنة الحمل
- ngx_http_rewrite_module — إعادة كتابة URL