القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

NGINX هو خادم ويب مشهور ومجاني ومفتوح المصدر. تكوينات NGINX الافتراضية جيدة بما يكفي لتشغيل خادم الويب.

ومع ذلك ، إذا كنت ترغب في استخدام NGINX على أكمل وجه ، فأنت بحاجة إلى اللعب بملفات التكوين الخاصة به وتعيين المعلمات التي من شأنها تحسين أداء الخادم. ستجد ملفات التكوين في ملف /etc/nginx دليل على جهاز لينكس.

ما هو NGINX؟

NGINX هو خادم ويب حديث يمكنك استخدامه كمشغل وسائط أو خادم بريد أو وكيل عكسيوموازن التحميل وخادم ذاكرة التخزين المؤقت والمزيد.

تستخدم من قبل العديد من الملفات الشخصية الكبيرة مثل VMware و IBM و Cisco و Apple و Microsoft LinkedIn و Netflix و Facebook و Twitter وما إلى ذلك ، تشتهر NGINX على نطاق واسع بأدائها المتميز. ميزة أخرى لاستخدام NGINX هي أنه من السهل تكوينها وتعلمها.

المتطلبات الأساسية لضبط أداء NGINX على Linux

تحتاج إلى تلبية المتطلبات التالية قبل البدء في تكوينات NGINX:

  1. تم نشر خادم NGINX وتكوينه على Linux
  2. فهم أساسي لـ NGINX وملفات التكوين الخاصة به
instagram viewer

إذا كنت تستوفي هذه المتطلبات ، فأنت جاهز لضبط NGINX للحصول على الأداء الأمثل. دعونا نرى كيف نفعل ذلك.

1. تكوين عمليات العامل في NGINX

تتكون بنية NGINX من عملية رئيسية واحدة والعديد من العمليات العاملة. تتمثل مهمة العملية الرئيسية في تقييم التكوين وإدارة العمال. من ناحية أخرى ، يتمثل دور العملية العاملة في التعامل مع الطلبات الواردة وإنشاء اتصال بين العميل والخادم.

تم تعيين قيمة العملية على آلي بشكل افتراضي. هذا يحدد عدد العمليات العاملة يساوي عدد مراكز وحدة المعالجة المركزية المتاحة. لمعرفة عدد نوى وحدة المعالجة المركزية الموجودة في نظامك ، قم بتشغيل الأمر التالي:

معالج grep / proc / cpuinfo | مرحاض -l

إذا كنت ترغب في زيادة عدد العمليات العاملة ، فأنت بحاجة إلى تكوين هذا في ملف تكوين NGINX.

افتح الملف باستخدام nano:

nano etc / nginx / nginx.conf

لتكوين المزيد من العمليات العاملة ، قم بتغيير القيمة الافتراضية إلى الحد الأقصى لعدد مراكز وحدة المعالجة المركزية المتاحة في نظامك.

2. تكوين اتصالات العمال

المعلمة الأخرى التي يمكنك تعديلها لتحسين أداء NGINX هي اتصالات العمال. هذا هو الحد الأقصى لعدد اتصالات TCP التي يمكن لكل عملية عاملة معالجتها في وقت واحد.

تحتوي معظم الأنظمة على قيمة افتراضية تبلغ 512 اتصالاً ، لكن العديد من الأنظمة الحديثة تدعم أيضًا عددًا أكبر. يمكنك التحقق من عدد الاتصالات التي يدعمها نظامك:

ulimit

سيكون الإخراج هو الحد الأقصى لعدد الاتصالات المدعومة. يمكنك بعد ذلك تعديل ملف اتصالات العمال متغير في ملف تكوين NGINX لتحسين الأداء.

3. السماح بضغط GZIP في NGINX

يستخدم NGINX GZIP لضغط الملفات وإلغاء الضغط. إذا تم تمكينه في ملف تكوين NGINX ، يمكنك حفظ النطاق الترددي وتحسين وقت تحميل موقع الويب عندما يكون الاتصال بطيئًا.

للسماح بضغط GZIP ، أضف الأسطر التالية في ملف تكوين NGINX:

الخادم {
تشغيل gzip ؛
gzip_vary على ؛
gzip_min_length 10240 ؛
gzip_proxied منتهي الصلاحية no-مخبألا-محلخاص المصادقة ؛
نص gzip_types / نص عادي / نص css / نص xml / تطبيق javascript / تطبيق x-javascript / xml ؛
gzip_disable "MSIE [1-6] \.";
}

4. قيمة المهلة المحددة في NGINX

تلعب قيم المهلة المخفضة أيضًا دورًا رئيسيًا في تحسين أداء NGINX. ال حافظ على حياتك تقلل الوصلات من حمل المعالج والشبكة عند فتح وإغلاق التوصيلات.

يمكنك تعديل المعلمات التالية في ملف التكوين للحد من المهلات:

http
{
client_body_timeout 12 ؛
client_header_timeout 12 ؛
keepalive_timeout 15 ؛
send_timeout 10 ؛
}

5. ضبط حجم المخزن المؤقت

يمكنك أيضًا ضبط المخازن المؤقتة NGINX لتحسين أداء الخادم. إذا كان حجم المخزن المؤقت منخفضًا جدًا ، فسيقوم NGINX بالكتابة إلى ملف مؤقت يؤدي إلى تشغيل عمليات إدخال / إخراج ضخمة باستمرار.

تحتاج إلى تعيين معلمات المخزن المؤقت التالية حتى تعمل NGINX في أفضل حالاتها:

http
{
client_body_buffer_size 10 كيلو ؛
client_header_buffer_size 1 كيلو ؛
client_max_body_size 8m ؛
Large_client_header_buffers 4 4k ؛
}

6. تعطيل سجلات الوصول أو تمكين التخزين المؤقت لسجلات الوصول

تستهلك السجلات قدرًا كبيرًا من مساحة القرص ودورات CPU / IO التي يمكن أن تؤثر على أداء الخادم إذا كان يسجل كل طلب.

يمكنك تعطيل سجلات الوصول التي ستوفر بعض مساحة القرص ومعالجة وحدة المعالجة المركزية. لتعطيل سجلات الوصول ، أضف السطر التالي إلى ملف تكوين NGINX:

access_log إيقاف ؛

السجلات مهمة لأنها تساعد في استكشاف المشكلة وإصلاحها. لا يعد تعطيل السجلات تمامًا ممارسة جيدة. في هذه الحالة ، يمكنك تمكين التخزين المؤقت لسجلات الوصول. سيسمح ذلك لـ NGINX بتخزين سلسلة من السجلات مؤقتًا وكتابتها في ملف السجل معًا مرة واحدة بدلاً من تطبيق عمليات تسجيل مختلفة على كل طلب.

أضف السطر التالي في ملف تكوين NGINX للسماح بالوصول إلى التخزين المؤقت لسجلات:

access_log/var/log/nginx/access.logرئيسيالمخزن المؤقت = 16 كيلو

7. ضبط فترة التخزين المؤقت للمحتوى الثابت في NGINX

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

عندما يطلب العميل محتوى ثابتًا ، سيقوم الخادم بتقديم نسخة مخبأة من المحتوى. أضف الأسطر التالية في ملف المضيف الظاهري الموجود في ملف /etc/nginx/sites-available الدليل:

الموقع ~ * \. (jpg | jpeg | png | gif | ico | css | js) $ {
تنتهي 90 د
}

سيؤدي هذا التكوين إلى تخزين الملفات مؤقتًا لمدة 90 يومًا منذ آخر وقت وصول إلى المتصفح.

8. قم بتمكين Open File Cache في NGINX

يمكنك أيضًا استخدام معلمات ذاكرة التخزين المؤقت للملف المفتوح في ملف تكوين NGINX لتحسين أدائه. يتيح هذا التوجيه تخزين واصف الملف والملفات التي تتم زيارتها بشكل متكرر إلى الخادم.

أضف الأسطر التالية في ملف http قسم في ملف التكوين لتمكين ذاكرة التخزين المؤقت للملف المفتوح:

http {
open_file_cache max = 1024 غير نشط = 10 ثوانٍ ؛
open_file_cache_valid 60s ؛
open_file_cache_min_uses 2 ؛
open_file_cache_errors على ؛
}

احصل على أفضل ما في NGINX من خلال تعديل ملفات التكوين الخاصة به

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

من خلال تعديل المعلمات التي تم تكوينها في ملفات تكوين NGINX مثل nginx.conf وملفات المضيف الافتراضية ، يمكنك اختراق NGINX لتقديم أفضل أداء.