nginx

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Gnome-colors-emblem-development-2.svg
WIKI AND ACADEMIA.PNG
הערך נמצא בשלבי עבודה במסגרת מיזם "עבודות ויקידמיות". נא לא לערוך ערך זה עד להסרת התבנית. הערות לערך נא להוסיף בדף השיחה.
העבודה על הערך עתידה להסתיים בתאריך 31 בינואר 2016. ניתן להסיר את התבנית משחלפו שלושה שבועות מן התאריך הנקוב.


nginx
Nginx logo.svg
מפתח איגור סיסוייב
גרסה אחרונה 1.6.0 ב־21 באפריל 2015[1]
מערכת הפעלה Windows[2] ,linux, BSD variants, OS X, AIX, HP-UX
רישיון רישיון BSD (שני סעיפים)
קטגוריה שרת HTTP
www.nginx.org

אנג'ין-אקס המוכר בשם nginx (מבטאים "engine X") הוא שרת אינטרנט שמתמקד בעיקר בשימוש נמוך בזיכרון וביצועים גבוהים. בנוסף, הוא יכול לשמש כשרת פרוקסי הפוך עבור הפרוטוקולים HTTP, SMTP, HTTPS, POP3 ו-IMAP. פותח על ידי איגור סיסוייב בשנת 2002, ורץ על windows, linux, BSD variants, OS X, AIX, HP-UX ושוחרר לראשונה ב-4 באוקטובר 2004, הוא מופץ בקוד פתוח תחת רישיון BSD.

שרתי nginx נפוצים בעיקר בקרב אתרים גדולים המספקים תוכן רב, היות שהוא ידוע בהיותו שרת זריז, המספק ביצועים טובים יותר ממתחריו[דרוש מקור]. נכון לאוגוסט 2011 כעשירית מהאתרים באינטרנט משתמשים ב-nginx‏[3].

תכונות (Features)[עריכת קוד מקור | עריכה]

Nginx יכול להיפרס כדי לשרת תוכן HTTP דינמי ברשת, בעזרת FastCGI. הוא משתמש בSCGI בתור מפעיל שפת תסריט, ובמודולים של שרתי WSGI. בנוסף, הוא יכול לשמש כמאזן עומסים באפליקציות מסוימות‏[4].

Nginx משתמש בגישה אסינכרונית מבוססת-אירועים(Event-Driven) כדי לטפל בבקשות, זאת במקום המודל של Apache HTTP Server שגישתו הדיפולטיבית משתמשת בתהליכונים, כאשר כאן האירוע עצמו נדרש בשביל לעבד בצורה א-סינכרונית את הבקשה. הארכיטקטורה המודולרית של גישתו מבוססת-האירועים של Nginx‏[5], יכולה לספק לנו ביצועים צפויים תחת עומסים גבוהים. כלומר, שנוכל לחזות בדיוק בכמה משאבים נצטרך להשתמש כאשר העומס יהיה גדול.

לפי סקר‏[6] שרתי האינטרנט של חברת Netcraft, שפורסם באוקטובר 2015, Nginx נמצא במקום השני כשרת האינטרנט הנפוץ ביותר לאורך כל האתרים ה"פעילים" (15.33% מכל האתרים שנסקרו), וגם עבור מיליון האתרים ה"עסוקים" ביותר (האתרים שמכילים הכי הרבה כניסות, סה"כ 23.66% מהאתרים שנסקרו). לפי W3Techs, השתמשו בו 29.7% אתרים מתוך רשימת טופ-מיליון האתרים, 39.5% מתוך רשימת טופ 100,000 האתרים, ו-47.6% מתוך רשימת טופ 10,000 האתרים‏[7]. לפי BuiltWith, השתמשו בו 36.6% מתוך רשימת טופ 10,000 האתרים, והחלק שלו בטופ 10,000, 100,000 ומיליון האתרים הפעילים, גדל משמעותית‏[8]. ויקיפדיה משתמשת ב-Nginx בתור ה-SSL termination proxy[9]. החל משחרור OpenBSD, גרסת 5.2 (1 לנובמבר 2012), Nginx הפך חלק מבסיס מערכת ההפעלה OpenBSD, כאשר הוא נותן אלטרנטיבה לפיצול של המערכת המקורית מ-Apache 1.3, אותה הוא היה אמור להחליף‏[10], אבל בסופו של דבר הוחלף על ידי httpd‏[11]

תכונות פרוקסי ושרת HTTP[עריכת קוד מקור | עריכה]

  • היכולת להתמודד עם יותר מ-10,000 חיבורים סימולטניים, כאשר משתמשים במעט מאוד זיכרון (~2.5 מגה בייט עבור 10,000 חיבורים בתצורת "השאר בחיים" - Keep Alive)
  • טיפול בקבצים סטטיים, קובצי אינדקס ואינדוקס אוטומטי
  • פרוקסי הפוך והטמנת זיכרון
  • איזון עומסים עם בדיקת תקינות פנימית‏[12].
  • עמידות בפני תקלות
  • TLS/SSL עם SNI, בעזרת OpenSSL.
  • תמיכה ב-FastCGI, SCGI, uWSGI עם הטמנה.
  • כתובת IP ושם מבוססי שרתים וירטואלים
  • תמיכה ב-IPv6
  • תמיכה בפרוטוקולי התקשורת HTTP/2[13] ו- SPDY[14]
  • Websockets כתכונה מובנת, ותמיכה בכותרת HTTP/1.1 Upgrade header[15]
  • סטרימינג של FLV[16] ובנוסף גם MP4[17]
  • אימות כניסה לדפים ברשת (מנגון בקרת אימון)
  • כיווץ והרחבה בעזרת gzip[18]
  • כתיבה מחודשת של כתובת URL‏[19][20][21]
  • כיווץ יומני לוג במהלך הריצה הסטנדרטית‏[22]
  • הגבלות על כמות החיבורים המקביליים‏[23]
  • הגבלת קצב טיפול בבקשות‏[24]
  • ויסות רוחב פס[25]
  • כתובת IP מבוססת מיקום גאוגרפי - גאולוקיישן[26]
  • מעקב אחר משתמשים
  • בניית סקריפטים מוטבעת בשפת Perl[27]

תכונות דואר פרוקסי[עריכת קוד מקור | עריכה]

תכונות אחרות כוללות עדכון קובצי exe, והגדרות מערכת מחדש ללא איבוד חיבורים‏[28], בנוסף קיימת ארכיטקטורה שמבוססת על תמיכה במודולים (חיבור וניתוק פשוט) גם צד שלישי‏[29] וגם רשמיים (Core)‏[30] המוצר Nginx Plus, שהוא הגרסה בתשלום של המוצר הרגיל, כוללת תכונות כמו איזון עומסים מתקדם‏[31] וניטור מתקדם של ביצועי השרת‏[32].

היסטוריה[עריכת קוד מקור | עריכה]

איגור סוסייס החל את הפיתוח של Nginx בשנת 2002‏[33]. במקור, התוכנה פותחה כדי למלא את החוסרים עבור שרתים כמו Rambler, שהיה משרת מעל 500 מיליון בקשות בכל יום, נכון לספטמבר 2008‏[34] החברה, Nginx inc, נוסדה ביולי 2011 על ידי סוסייב, זאת כדי לספק מוצרים לשימוש מסחרי, ולספק תמיכה לתוכנה שפיתח.‏[35] המיקום העיקרי של החברה הוא בסן פרנסיסקו, קליפורניה.‏[36]. החברה הציעה תמיכה מסחרית במוצר בפברואר 2012‏[37][38], ותמיכה במוצר Nginx Plus באוגוסט 2013.‏[39] באוקטובר 2013, דווח על השקעה של 10 מיליון דולר, על ידי New Enterprise Associates בחברה.‏[40] מבין המשקעים האחרים בחברה, ניתן למצוא את אהרון ליווי (מקים שירות הענן Box)‏[41], את אוטומטיק (החברה שפיתחה את פלטפורמת הבלוגים וורדפרס) ואת MaxCDN.‏[42]

גרסה תאריך שחרור מקורי גרסה אחרונה תאריך שחרור סטטוס נוכחי
0.5 2006-12-04 0.5.38 2009-09-14‏[43] Legacy
0.6 2007-06-14 0.6.39 2009-09-14‏[44] Legacy
0.7 2008-05-19 0.7.69 2011-07-19‏[45] Legacy
0.8 2009-06-02 0.8.55 2011-07-19‏[46] Legacy
1.0 2011-04-12 1.0.15 2012-04-12‏[47] Legacy
1.2 2012-04-23 1.2.9 2013-05-13‏[48] Legacy
1.4 2013-04-24 1.4.7 2014-03-18‏[49] Legacy
1.6 2014-04-24 1.6.3 2015-04-07‏[50] Legacy
1.8 2015-04-21 1.8.0 2015-04-21‏[51] Stable
1.9 2015-04-28 1.9.6 2015-10-27‏[52] Mainline

משתמשים[עריכת קוד מקור | עריכה]

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

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ http://mailman.nginx.org/pipermail/nginx-announce/2015/000156.html גרסה יציבה אחרונה
  2. ^ http://nginx.org/en/docs/windows.html אנג'ין איקס למערכת ההפעלה windows
  3. ^ סקר המרשתת של אוגוסט 2011 של חברת Netcraft
  4. ^ https://www.linode.com/docs/uptime/loadbalancing/how-to-use-nginx-as-a-front-end-proxy-server-and-software-load-balancer/
  5. ^ http://www.aosabook.org/en/nginx.html
  6. ^ http://news.netcraft.com/archives/2015/10/16/october-2015-web-server-survey.html
  7. ^ http://w3techs.com/technologies/cross/web_server/ranking
  8. ^ http://trends.builtwith.com/Web-Server/nginx
  9. ^ ראו כאן
  10. ^ www.openbsd.org/faq/upgrade52.html#nginx
  11. ^ http://undeadly.org/cgi?action=article&sid=20140827065755
  12. ^ http://nginx.org/en/docs/http/ngx_http_upstream_module.html
  13. ^ http://nginx.org/en/docs/http/ngx_http_v2_module.html
  14. ^ http://mailman.nginx.org/pipermail/nginx-devel/2012-June/002343.html
  15. ^ https://trac.nginx.org/nginx/changeset/5073/nginx
  16. ^ http://nginx.org/en/docs/http/ngx_http_flv_module.html
  17. ^ http://nginx.org/en/docs/http/ngx_http_mp4_module.html
  18. ^ http://nginx.org/en/docs/http/ngx_http_gunzip_module.html
  19. ^ http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite
  20. ^ http://mailman.nginx.org/pipermail/nginx/2013-February/037592.html
  21. ^ http://mdoc.su/
  22. ^ http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
  23. ^ http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
  24. ^ http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
  25. ^ http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate
  26. ^ http://nginx.org/en/docs/http/ngx_http_geoip_module.html
  27. ^ http://nginx.org/en/docs/http/ngx_http_perl_module.html
  28. ^ http://nginx.org/en/docs/control.html
  29. ^ https://www.nginx.com/resources/wiki/community/
  30. ^ http://nginx.org/en/docs/
  31. ^ https://www.nginx.com/products/application-load-balancing/
  32. ^ https://www.datadoghq.com/blog/how-to-monitor-nginx/
  33. ^ http://www.freesoftwaremagazine.com/articles/interview_igor_sysoev_author_apaches_competitor_nginx
  34. ^ http://www.linuxjournal.com/article/10108
  35. ^ https://www.nginx.com/company/
  36. ^ http://www.sec.gov/Archives/edgar/data/1588848/000158884813000001/xslFormDX01/primary_doc.xml
  37. ^ http://www.eweek.com/c/a/Linux-and-Open-Source/NGINX-Launches-Commercial-Support-for-OpenSource-Web-Server-457321
  38. ^ http://www.zdnet.com/article/commercial-support-now-available-for-the-open-source-nginx-web-server/
  39. ^ http://nginx.com/news/nginx-inc-launches-nginx-plus/
  40. ^ www.eweek.com/servers/nginx-raises-10-million-in-new-funding-for-server-development.html
  41. ^ http://venturebeat.com/2013/10/15/nginx-ties-up-a-sweet-10m-funding-deal-and-hundreds-of-millions-of-users/
  42. ^ http://www.cnet.com/news/nginx-upgrade-funded-by-fans-of-googles-spdy-web-protocol/
  43. ^ http://nginx.org/en/CHANGES-0.5
  44. ^ http://nginx.org/en/CHANGES-0.6
  45. ^ http://nginx.org/en/CHANGES-0.7
  46. ^ http://nginx.org/en/CHANGES-0.8
  47. ^ http://nginx.org/en/CHANGES-1.0
  48. ^ http://nginx.org/en/CHANGES-1.2
  49. ^ http://nginx.org/en/CHANGES-1.2
  50. ^ http://nginx.org/en/CHANGES-1.6
  51. ^ http://nginx.org/en/CHANGES-1.8
  52. ^ http://nginx.org/en/CHANGES