קוראים כמוך עוזרים לתמוך ב-MUO. כאשר אתה מבצע רכישה באמצעות קישורים באתר שלנו, אנו עשויים להרוויח עמלת שותף. קרא עוד.

NGINX הוא שרת אינטרנט פופולרי, חינמי וקוד פתוח. תצורות ברירת המחדל של NGINX טובות מספיק כדי לגרום לשרת האינטרנט לעבוד.

עם זאת, אם אתה רוצה להשתמש ב-NGINX במלואו, אתה צריך לשחק עם קבצי התצורה שלו ולהגדיר את הפרמטרים שייטיבו את ביצועי השרת. אתה תמצא את קבצי התצורה ב- /etc/nginx ספרייה במחשב לינוקס.

מה זה NGINX?

NGINX הוא שרת אינטרנט מודרני שאתה יכול להשתמש בו כסטרימר מדיה, שרת דואר, פרוקסי הפוך, מאזן עומסים, שרת מטמון ועוד.

בשימוש על ידי פרופילים גדולים רבים כגון VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter וכו', NGINX ידועה בביצועים מהשורה הראשונה שלה. יתרון נוסף בשימוש ב-NGINX הוא שקל להגדיר וללמוד.

תנאים מוקדמים לכוונון ביצועי NGINX ב-Linux

עליך לעמוד בדרישות הבאות לפני שתתחיל בתצורות NGINX:

  1. שרת NGINX שנפרס ומוגדר על לינוקס
  2. הבנה בסיסית של NGINX וקבצי התצורה שלו

אם אתה עומד בדרישות אלה, אתה מוכן לכוון את NGINX לביצועים מיטביים. בוא נראה איך עושים את זה.

instagram viewer

1. הגדר תהליכי עבודה ב-NGINX

ארכיטקטורת NGINX מורכבת מתהליך אב אחד ומספר תהליכי עבודה. תפקידו של תהליך המאסטר הוא להעריך את התצורה ולנהל עובדים. מצד שני, תפקידו של תהליך עבודה הוא לטפל בבקשות נכנסות וליצור חיבור בין הלקוח לשרת.

ערך התהליך מוגדר ל אוטומטי כברירת מחדל. זה מגדיר את מספר תהליכי העבודה שווה למספר ליבות המעבד הזמינות. כדי לדעת כמה ליבות CPU קיימות במערכת שלך, הפעל את הפקודה הבאה:

מעבד grep /proc/cpuinfo | wc -l

אם ברצונך להגדיל את מספר תהליכי העבודה, עליך להגדיר זאת בקובץ התצורה של NGINX.

פתח את הקובץ עם ננו:

nano etc/nginx/nginx.conf

כדי להגדיר תהליכי עבודה נוספים, שנה את ערך ברירת המחדל למספר המרבי של ליבות CPU זמינות במערכת שלך.

2. הגדר את חיבורי העובדים

פרמטר נוסף שאתה יכול לשנות כדי לשפר את הביצועים של NGINX הוא חיבורי עובדים. זהו המספר המרבי של חיבורי TCP שכל תהליך עובד יכול לטפל בו זמנית.

לרוב המערכות יש ערך ברירת מחדל של 512 חיבורים, אך מערכות מודרניות רבות תומכות גם במספר גדול יותר. אתה יכול לבדוק עם כמה חיבורים המערכת שלך תומכת:

ulimit

הפלט יהיה המספר המרבי של חיבורים נתמכים. לאחר מכן תוכל לשנות את חיבורי_עובדים משתנה בקובץ התצורה של NGINX כדי לשפר את הביצועים.

3. אפשר דחיסת GZIP ב-NGINX

NGINX משתמש ב-GZIP עבור דחיסה ופירוק קבצים. אם מופעל בקובץ התצורה של NGINX, תוכל לחסוך ברוחב פס ולשפר את זמן הטעינה של האתר כאשר החיבור איטי.

כדי לאפשר דחיסת GZIP, הוסף את השורות הבאות בקובץ התצורה של NGINX:

שרת {
gzip על;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied פג לא-מטמוןלא-חנותפְּרָטִי אישור;
gzip_types text/טקסט רגיל/css text/xml text/יישום 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 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;
}

6. השבת יומני גישה או הפעל חציצה של יומני גישה

יומנים צורכים כמות גדולה של שטח דיסק ומחזורי CPU/IO שיכולים להשפיע על ביצועי השרת אם הוא רושם כל בקשה.

אתה יכול להשבית יומני גישה שיחסכו קצת מקום בדיסק ועיבוד מעבד. כדי להשבית יומני גישה, הוסף את השורה הבאה לקובץ התצורה של NGINX:

access_log off;

יומנים חשובים מכיוון שהם עוזרים בפתרון בעיה. השבתת יומנים לחלוטין אינה נוהג טוב. במקרה זה, תוכל להפעיל אחסון יומני גישה. זה יאפשר ל-NGINX לאחסן סדרה של יומנים ולכתוב אותם לקובץ היומן יחד בבת אחת במקום להחיל פעולות יומן שונות על כל בקשה.

הוסף את השורה הבאה בקובץ התצורה של NGINX כדי לאפשר אחסון יומני גישה:

access_log/var/log/nginx/access.logרָאשִׁיחיץ=16k

7. התאם את תקופת מטמון התוכן הסטטי ב-NGINX

התוכן באתר שנותר זהה על פני הדפים מכונה תוכן סטטי. שמירה במטמון של תוכן זה מאפשר למקם אותו במקומות נגישים בקלות. מנגנון זה מקטין את השימוש ברוחב הפס, מאפשר נגישות מהירה, ובהמשך משפר את ביצועי האתר.

כאשר לקוח מבקש תוכן סטטי, השרת ישרת גרסה שמור של התוכן. הוסף את השורות הבאות בקובץ המארח הווירטואלי המוצב ב- /etc/nginx/sites-available מַדרִיך:

מיקום ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
יפוג 90ד;
}

תצורה זו תשמור את הקבצים במטמון למשך 90 יום מאז מועד הגישה האחרון לדפדפן.

8. הפעל מטמון פתח קבצים ב-NGINX

אתה יכול גם להשתמש בפרמטרים של מטמון קבצים פתוחים בקובץ התצורה של NGINX כדי לשפר את הביצועים שלו. הנחיה זו מאפשרת לאחסן את מתאר הקבצים ואת הקבצים שבהם אתה מבקר לעתים קרובות לשרת.

הוסף את השורות הבאות ב- http סעיף בקובץ התצורה כדי לאפשר מטמון קובץ פתוח:

http {
open_file_cache max=1024 inactive=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}

הוציאו את המיטב מ-NGINX על ידי שינוי קבצי התצורה שלו

תרגול טוב שכדאי לעקוב אחריו בזמן שינוי תצורות הוא להתמודד עם הגדרה אחת בכל פעם ולבדוק אותה. אם זה עובד, עבור להגדרה הבאה. אם לא, אתה תמיד יכול לשנות את התצורה בחזרה לערך ברירת המחדל.

על ידי שינוי הפרמטרים המוגדרים בקבצי התצורה של NGINX כגון nginx.conf וקבצי מארח וירטואלי, אתה יכול לפרוץ ל-NGINX כדי לתת את הביצועים הטובים ביותר.