إتقان تكوينات Nginx لتحقيق الأداء الأمثل لخادم الويب
أريد مواقع ويب أسرع وأفضل أداء الخادم؟ Nginx يمكن أن يساعدك. بفضل تصميمه القائم على الأحداث، يتعامل Nginx مع آلاف الاتصالات بكفاءة، مما يجعله الخيار الأفضل لمواقع الويب عالية الحركة والتطبيقات في الوقت الفعلي. ولكن لإطلاق العنان لإمكاناته الكاملة، فإن التكوين المناسب هو المفتاح.
النقاط الرئيسية:
- تعزيز الأداء: ضبط عمليات العمال وتمكين الضغط لتقليل استخدام الموارد وتسريع الاستجابات.
- التعامل مع حركة المرور: استخدم موازنة التحميل لتوزيع حركة المرور عبر الخوادم وتحسينها للأحمال الثقيلة.
- اتصالات آمنة: قم بتكوين إنهاء SSL لتحسين الأمان دون زيادة تحميل خوادم الواجهة الخلفية.
- تطبيقات الوقت الحقيقي: إعداد دعم WebSocket للتواصل السلس في المنصات في الوقت الفعلي.
- مراقبة فعالة: استخدم أدوات مثل Prometheus وGrafana لتتبع صحة الخادم وأدائه.
أمثلة الإعداد السريع:
- عمليات العامل: المطابقة مع نوى وحدة المعالجة المركزية (
عمليات العامل 4؛). - ضغط: تمكين Gzip (
gzip على؛ gzip_comp_level 6؛). - التخزين المؤقت: تكوين التخزين المؤقت للوكيل للسرعة (
مسار الوكيل_للذاكرة المؤقتة /var/cache/nginx؛). - موازنة التحميل: توزيع حركة المرور باستخدام الاتصالات الدائرية أو الأقل عددا.
نصيحة احترافية: قم بمراقبة إعداداتك وضبطها بانتظام للحفاظ على تشغيل الخادم بسلاسة. سواء كنت تدير مواقع ويب ذات حركة مرور عالية أو محتوى ثابتًا أو تطبيقات في الوقت الفعلي، فإن هذه التكوينات يمكن أن تحدث فرقًا كبيرًا.
ضبط الأداء لـ NGINX مفتوح المصدر وNGINX Plus

ملفات تكوين وإعدادات Nginx الرئيسية
يبدأ تحقيق أقصى استفادة من خادم Nginx الخاص بك بفهم ملفات التكوين الخاصة به وضبط الإعدادات الأساسية. فيما يلي تفصيل لما تحتاج إلى معرفته.
فهم ملفات تكوين Nginx
يتم تنظيم إعدادات Nginx في منطقتين رئيسيتين:
- الإعدادات العالمية:تم العثور عليه في
/etc/nginx/nginx.conf - الإعدادات الخاصة بالموقع:تقع في
/etc/nginx/المواقع المتاحة/
قبل تطبيق التغييرات، اختبر تكوينك باستخدام nginx -t للتأكد من أنه خالي من الأخطاء.
ضبط عمليات العمال والاتصالات
تلعب عمليات العمال والاتصالات دورًا كبيرًا في مدى أداء الخادم لديك. فيما يلي دليل سريع لإعدادها:
| جلسة | وصف | مثال على القيمة |
|---|---|---|
عمليات العامل | عدد عمليات العمال | تطابق نوى وحدة المعالجة المركزية |
اتصالات العامل | الحد الأقصى للاتصالات لكل عامل | 1024 – 2048 |
مهلة البقاء على قيد الحياة | انتهاء مهلة الاتصال | 65 ثانية |
نصيحة: قم بتعديل هذه القيم استنادًا إلى الأجهزة المتوفرة على الخادم لديك.
على سبيل المثال، إذا كان الخادم الخاص بك يحتوي على 4 نوى وحدة معالجة مركزية، فقد يبدو تكوينك كما يلي:
عمليات العامل 4؛ الأحداث {اتصالات العامل 1024؛ } بعد تحسين عمليات العامل، يمكنك تحسين الأداء بشكل أكبر عن طريق تمكين الضغط والتخزين المؤقت.
استخدام ضغط Gzip والتخزين المؤقت
يساعد الضغط والتخزين المؤقت في تقليل النطاق الترددي وتحسين أوقات التحميل. وإليك كيفية تكوينهما:
تمكين ضغط Gzip:
gzip على؛ gzip_comp_level 6؛ gzip_types نص/نص عادي/تطبيق css/تطبيق json/javascript؛ إعداد التخزين المؤقت:
مسار ذاكرة التخزين المؤقت للوكيل /var/cache/nginx المستويات=1:2 منطقة المفاتيح=واحد:10م غير نشط=60م؛ ذاكرة التخزين المؤقت للوكيل واحد؛ ذاكرة التخزين المؤقت للوكيل صالحة 200 302 10م؛ ذاكرة التخزين المؤقت للوكيل صالحة 404 1م؛ ال مسار_ذاكرة_التخزين_الوكيل يؤدي التوجيه إلى إنشاء منطقة تخزين مؤقت للمحتوى الذي يتم الوصول إليه بشكل متكرر، مما يقلل الحمل على الواجهة الخلفية لديك. يمكنك أيضًا استخدام ذاكرة التخزين المؤقت للملفات المفتوحة لتخزين الملفات التي يتم الوصول إليها بشكل متكرر في الذاكرة، مما يقلل من استخدام القرص.
تقنيات متقدمة لموازنة التحميل وSSL
بناءً على تحسين عملية العامل والتخزين المؤقت، تركز هذه التقنيات على تحسين توزيع حركة المرور والأمان.
إعداد موازنة التحميل
توفر Nginx أدوات قوية لتوزيع حركة المرور الواردة عبر خوادم متعددة. فيما يلي تكوين أساسي:
الخلفية العلوية { # افتراضيًا: دورة روبن للتوزيع المتوازن الخادم localhost:8080؛ الخادم localhost:8081؛ الخادم localhost:8082؛ # إلغاء التعليق لأقل عدد من الاتصالات (أفضل لأحمال العمل غير المتساوية) # less_conn؛ } الخادم { استمع 80؛ الموقع / { ممر الوكيل http://backend؛ رأس مجموعة الوكيل المضيف $host؛ رأس مجموعة الوكيل X-Real-IP $remote_addr؛ } } - دوري المجموعات يعد مثاليًا للمخدمات ذات أوقات الاستجابة المماثلة.
- أقل الاتصالات يعمل بشكل أفضل عندما تختلف الطلبات في التعقيد، مما يساعد على تجنب التحميل الزائد على الخوادم الأبطأ.
- للحفاظ على استمرارية الجلسة، قم بتمكين تجزئة IP لتوجيه المستخدمين إلى نفس الخادم بشكل متسق.
تكوين إنهاء SSL
يؤدي إنهاء بروتوكول SSL إلى نقل مهام التشفير إلى Nginx، مما يُخفف عبء العمل على خوادم الواجهة الخلفية. وتشير أبحاث Bobcares إلى أن هذا يُمكن أن يُقلل زمن وصول مصافحة SSL بما يصل إلى 50%.
فيما يلي كيفية الجمع بين إنهاء SSL وموازنة التحميل:
http {الواجهة الخلفية العلوية {خادم localhost:8080؛ خادم localhost:8081؛} الخادم {استمع إلى 443 ssl؛ اسم الخادم example.com؛ شهادة ssl /path/to/certificate.crt؛ مفتاح شهادة ssl /path/to/private/key.key؛ بروتوكولات ssl TLSv1.2 TLSv1.3؛ تشغيل تشفير خادم ssl المفضل؛ ذاكرة التخزين المؤقت لجلسات ssl المشتركة: SSL:10m؛ الموقع / {كلمة مرور الوكيل http://backend؛ رأس مجموعة الوكيل المضيف $host؛ رأس مجموعة الوكيل X-Real-IP $remote_addr؛} } } نصائح هامة حول SSL:
- التمسك بـ TLS 1.2 و1.3 من أجل أمن أفضل.
- إعطاء الأولوية لتشفير جانب الخادم للحصول على تشفير أقوى.
- تمكين تخزين الجلسة مؤقتًا لتحسين الأداء.
تخصيص Nginx لتلبية احتياجات محددة
تحسين Nginx لمواقع الويب ذات الزيارات العالية
بالنسبة لمواقع الويب ذات حركة المرور الكثيفة، يجب ضبط تكوين Nginx بشكل دقيق للتعامل مع الأحمال الثقيلة بشكل فعال. يمكن أن يؤدي ضبط المعلمات الرئيسية إلى تحسين استجابة الخادم والأداء العام بشكل كبير.
تعديلات حجم المخزن المؤقت
http { حجم مخزن جسم العميل 16 كيلو بايت؛ حجم مخزن رأس العميل 4 كيلو بايت؛ الحد الأقصى لحجم جسم العميل 8 ميجا بايت؛ مخازن رأس العميل الكبيرة 4 8 كيلو بايت؛ } تعطي هذه الإعدادات الأولوية لاستخدام الذاكرة على حساب إدخال/إخراج القرص، مما يؤدي إلى تسريع معالجة الطلبات. على سبيل المثال، زيادة حجم مخزن جسم العميل يقلل من الحاجة إلى كتابة الملفات المؤقتة أثناء الطلبات.
إدارة السجلات بكفاءة
http { access_log /var/log/nginx/access.log combined buffer=32k flush=5s; error_log /var/log/nginx/error.log warn; } يؤدي استخدام مخزن مؤقت بحجم 32 كيلوبايت وفترة مسح مدتها 5 ثوانٍ إلى تقليل عمليات القرص مع الحفاظ على دقة السجلات وتحديثها.
إعدادات مهلة الانتظار
http { مهلة جسم العميل 12؛ مهلة رأس العميل 12؛ مهلة الإرسال 10؛ } تساعد قيم مهلة الانتظار هذه على منع العملاء البطيئين من استهلاك موارد الخادم بشكل غير ضروري.
بمجرد وضع هذه التعديلات موضع التنفيذ، يمكن أيضًا تخصيص Nginx للتطبيقات التي تتطلب اتصالاً مستمراً، مثل WebSockets.
تكوين Nginx لدعم WebSocket
تُعد WebSockets مكونًا أساسيًا للتطبيقات في الوقت الفعلي. يضمن إعداد Nginx بشكل صحيح للتعامل مع اتصالات WebSocket أداءً سلسًا حتى تحت الحمل.
الخريطة $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name example.com; location /websocket { proxy_pass http://backend_server; proxy_http_version 1.1; proxy_set_header ترقية $http_upgrade; proxy_set_header اتصال $connection_upgrade; proxy_set_header مضيف $host; proxy_cache_bypass $http_upgrade; # إعدادات مهلة لاتصالات WebSocket مهلة قراءة الوكيل 300 ثانية؛ مهلة إرسال الوكيل 300 ثانية؛ } } تفاصيل تكوين WebSocket الرئيسية:
| التوجيه | هدف |
|---|---|
| إصدار الوكيل http | تمكين HTTP/1.1 لدعم WebSocket |
| انتهاء مهلة قراءة الوكيل | تعيين الحد الأقصى للوقت بين حزم البيانات |
| انتهاء مهلة إرسال الوكيل | يحدد الحد الأقصى للوقت لإرسال البيانات |
| تجاوز ذاكرة التخزين المؤقت للوكيل | تعطيل التخزين المؤقت لحركة مرور WebSocket |
ال خريطة تدير التوجيهات ترقيات الاتصال بكفاءة، مما يضمن اتصالاً سلسًا عبر WebSocket.
لمنع إساءة الاستخدام، يمكن تطبيق الحد من المعدل على اتصالات WebSocket:
http { limit_req_zone $binary_remote_addr zone=websocket_limit:10m rate=5r/s; location /websocket { limit_req zone=websocket_limit burst=20 nodelay; # ... بقية تكوين WebSocket } } يقيد هذا الإعداد عناوين IP بخمسة طلبات في الثانية مع اندفاعة مكونة من 20 طلبًا، مما يوفر حماية ضد هجمات الحرمان من الخدمة مع الحفاظ على توفر الخدمة.
إس بي بي-آي تي بي-59إي1987
أفضل الممارسات لتحسين أداء Nginx ومراقبته
إلى جانب الإعداد الأولي، فإن الحفاظ على تكوين Nginx المُحسَّن يضمن قدرته على التعامل مع أحمال العمل المتغيرة بشكل فعال.
المجالات الرئيسية التي يجب التركيز عليها
يتضمن تحسين أداء Nginx ضبط إعدادات محددة تؤثر بشكل مباشر على كفاءة تشغيل الخادم لديك.
إدارة عمليات العمال
ال عامل_حد_لا_ملف يعد التوجيه أمرًا بالغ الأهمية لإدارة أوصاف الملفات. فهو يضمن أن يتمكن الخادم الخاص بك من التعامل مع اتصالات متعددة متزامنة دون الوصول إلى حدود خلال فترات حركة المرور العالية:
عامل_حد_عدم_الملف 65535؛ استخدام ذاكرة التخزين المؤقتة للملفات المفتوحة
تعمل ذاكرة التخزين المؤقت للملفات المفتوحة على تقليل عمليات إدخال/إخراج القرص من خلال تخزين البيانات الوصفية للملفات التي يتم الوصول إليها بشكل متكرر، مما يؤدي إلى تسريع تسليم المحتوى الثابت:
http { open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; } وبمجرد تنفيذ هذه التحسينات، يصبح المراقبة المنتظمة ضرورية لضمان استمرار الأداء وتحديد المناطق التي تحتاج إلى مزيد من التعديل.
مراقبة أداء Nginx
تساعد المراقبة في تتبع أداء الخادم الخاص بك واكتشاف أي اختناقات أو عدم كفاءة. تتضمن المقاييس الرئيسية التي يجب مراقبتها معدلات الطلب ومعدلات الخطأ واستخدام الموارد. تسهل أدوات مثل Prometheus وGrafana جمع هذه البيانات وتصورها.
مُستَحسَن أدوات المراقبة
| أداة | هدف | المقاييس الرئيسية |
|---|---|---|
| بروميثيوس | يجمع بيانات الأداء المباشر | معدلات الطلب وأوقات الاستجابة ومعدلات الخطأ |
| جرافانا | يصور اتجاهات الأداء | استخدام وحدة المعالجة المركزية، واستهلاك الذاكرة، وأنماط المرور |
| هتوب | تتبع استخدام موارد النظام | استخدام العملية وتخصيص الذاكرة |
إعداد مقاييس الأداء
قم بتمكين مراقبة الحالة في Nginx عن طريق تكوين ما يلي:
الموقع /nginx_status { حالة stub_status قيد التشغيل؛ إيقاف تشغيل سجل الوصول؛ السماح بـ 127.0.0.1؛ رفض الكل؛ } يوفر هذا الإعداد رؤى حول:
- اتصالات نشطة
- إجمالي الاتصالات المقبولة
- إحصائيات التعامل مع الطلبات
- القراءة والكتابة والانتظار
تحليل السجلات بشكل فعال
يمكن أن يؤدي التسجيل المؤقت إلى تقليل ضغط القرص من خلال تجميع عمليات كتابة السجل. يساعد هذا في الحفاظ على أداء الخادم دون التضحية بدقة سجلاتك.
"إن المراقبة المنتظمة والتعديل بناءً على بيانات الأداء أمر بالغ الأهمية لتحقيق نتائج مثالية. ومن الضروري تجنب إجراء الكثير من التغييرات في وقت واحد، لأن هذا قد يؤدي إلى تعقيد استكشاف الأخطاء وإصلاحها."
خيارات الاستضافة لـ Nginx
يعد اختيار بيئة الاستضافة المناسبة بنفس أهمية ضبط تكوينات Nginx. تضمن المنصة المناسبة أن تقدم عمليات التحسين الخاصة بك أفضل النتائج.
مميزات Serverion استضافة

توفر Serverion منصة استضافة مصممة خصيصًا لـ Nginx، مما يوفر أداءً وموثوقية استثنائية.
التخزين والأداء
يستخدم Serverion تخزين SSD المحسّن لـ Nginx، مما يقلل من زمن انتقال الإدخال/الإخراج لتسريع الوصول إلى ملفات التكوين والسجلات.
البنية التحتية للأمن
بفضل الحماية من هجمات الحرمان من الخدمة الموزعة على مستوى المؤسسة، يعمل Serverion على تعزيز أمان Nginx. وهذا يضمن التشغيل أثناء الهجمات ويكمل ميزات موازنة التحميل في Nginx.
| نوع المورد | تحديد | فوائد Nginx |
|---|---|---|
| وحدة المعالجة المركزية | زيون رباعي النواة | يتعامل مع عمليات العمال بكفاءة |
| كبش | حتى 16 جيجابايت | تعزيز أداء التخزين المؤقت |
| تخزين | يعتمد على SSD | تسريع الوصول إلى الملفات |
| عرض النطاق | ذات سعة عالية | يدعم موازنة التحميل بشكل موثوق |
البنية التحتية القابلة للتطوير
تم تصميم خطط Serverion للتكيف مع احتياجاتك المتزايدة من حركة المرور. وهذا يضمن أن إعداد Nginx الخاص بك يمكنه التعامل مع الطلب المتزايد دون فقدان الأداء.
"إن المراقبة المنتظمة وتحسين الأداء أمران ضروريان عند استضافة Nginx. يجب أن توفر بيئة الاستضافة المناسبة الموارد والأدوات اللازمة للحفاظ على أداء الخادم الأمثل."
دعم الخبراء
يتضمن فريق دعم Serverion المتوفر على مدار الساعة طوال أيام الأسبوع متخصصين في Nginx يمكنهم المساعدة في إجراء تعديلات التكوين وضبط الأداء بما يتناسب مع احتياجاتك.
الخاتمة والنصائح النهائية
ملخص النقاط الرئيسية
إن تحقيق أقصى استفادة من Nginx يعني التركيز على نهج واضح ومتدرج. ابدأ بفهم حدود الأجهزة وأنماط حركة المرور الخاصة بخادمك. ومن هناك، قم بضبط الإعدادات مثل عمليات العامل والتخزين المؤقت وموازنة التحميل للتأكد من تشغيل خادمك بسلاسة وكفاءة.
خطوات البدء
- التحقق من صحة التكوينات:قبل إجراء أي تغييرات مباشرة، استخدم
nginx -tللتحقق من تكويناتك بحثًا عن الأخطاء. - تحسينات أساسية:
- مباراة
عمليات العاملإلى نوى وحدة المعالجة المركزية الخاصة بخادمك (على سبيل المثال،عمليات العامل 4لخادم رباعي النواة). - قم بتمكين ضغط gzip لتقليص حجم الملفات بمقدار 50-70%.
- ضبط أحجام المخزن المؤقت للتعامل مع الطلبات بكفاءة أكبر.
- مباراة
- الميزات المتقدمة:
- إعداد إنهاء SSL لتأمين الاتصالات.
- قم بتكوين تخزين المحتوى مؤقتًا باستخدام إعدادات انتهاء الصلاحية المناسبة.
- استخدم موازنة التحميل المخصصة لأنماط حركة المرور لديك.
- قم بتثبيت أدوات مثل Prometheus وGrafana لمراقبة الأداء.
مراقبة الأداء:إن مراقبة أداء الخادم أمر بالغ الأهمية. تتبع المقاييس مثل معدلات الطلب وأوقات الاستجابة واستخدام الموارد للقبض على أي مشكلات قبل أن تؤثر على المستخدمين.
"يعد المراقبة المنتظمة وتحسين الأداء أمرًا ضروريًا عند استضافة Nginx. يضمن المزيج الصحيح من إعدادات التكوين وأدوات المراقبة أداءً مثاليًا للخادم بمرور الوقت."
الأسئلة الشائعة
فيما يلي إجابات لبعض الأسئلة الشائعة حول تكوينات Nginx لمساعدتك في استكشاف الأخطاء وإصلاحها وتحسين الأداء.
كيف يمكنني التحقق من قيام Nginx بالتخزين المؤقت؟
للتحقق مما إذا كان Nginx يخزن المحتوى مؤقتًا، افحص رؤوس استجابة HTTP. ابحث عن:
- ذاكرة التخزين المؤقتة X:تعني قيمة "HIT" أن المحتوى تم تخزينه مؤقتًا.
- حالة ذاكرة التخزين المؤقت X: يشير إلى حالة التخزين المؤقت الحالية.
يمكنك استخدام هذا الأمر لعرض الرؤوس:
تجعيد الشعر -I https://yourwebsite.com ملحوظة:تأكد من تكوين هذه الرؤوس في إعداد Nginx الخاص بك؛ وإلا فلن تظهر في الاستجابة.
ما هي إعدادات المخزن المؤقت الموصى بها؟
فيما يلي مثال على التكوين لإعداد المخازن المؤقتة بكفاءة:
حجم مخزن جسم العميل 10 كيلو بايت؛ حجم مخزن رأس العميل 1 كيلو بايت؛ الحد الأقصى لحجم جسم العميل 8 ميجا بايت؛ مخازن رأس العميل الكبيرة 4 كيلو بايت؛ كيف أقوم بتمكين دعم WebSocket؟
لتفعيل دعم WebSocket، تأكد من أن الوكيل_المرور تشير التوجيهات إلى خادم WebSocket الخلفي. للحصول على تعليمات مفصلة، راجع القسم السابق حول تكوين WebSocket.
كيف يمكنني إعداد SSL بشكل آمن؟
استخدم التكوين التالي لإعداد SSL بشكل آمن:
الخادم {استمع 443 ssl؛ اسم الخادم example.com؛ شهادة ssl /path/to/cert.crt؛ مفتاح شهادة ssl /path/to/cert.key؛ بروتوكولات ssl TLSv1.2 TLSv1.3؛ تشفير ssl مرتفع:!aNULL:!MD5؛ } كيف أقوم بتحسين Nginx للتعامل مع حركة المرور العالية؟
بالنسبة لمواقع الويب ذات الزيارات الكثيفة، ركز على المجالات الرئيسية التالية:
- مباراة
عمليات العاملإلى عدد نوى وحدة المعالجة المركزية وزيادةاتصالات العاملللتعامل مع المزيد من الاتصالات. - إعداد التخزين المؤقت الفعال لتقليل تحميل الخادم.
- ضبط أحجام المخزن المؤقت لمعالجة الطلبات بكفاءة أكبر.
"يعد المراقبة المنتظمة وتحسين الأداء أمرًا ضروريًا عند استضافة Nginx. يضمن المزيج الصحيح من إعدادات التكوين وأدوات المراقبة أداءً مثاليًا للخادم بمرور الوقت."