انجین‌اکس

اِنجین‌اِکس (به انگلیسی: nginx) یک کارساز وب با حجم پایین و کارایی بالا است که تحت مجوز بی‌اس‌دی منتشر می‌شود. این کارساز وب در یونیکس، گنو/لینوکس، بی‌اس‌دی، مک او اس و ویندوز اجرا می‌شود. بر طبق گفتهٔ نت‌کرافت، در حال حاضر ۱۲٫۰۷٪ از دامنه‌های اینترنت از این کارساز استفاده می‌کنند.

اِنجین اِکس[1]
نویسنده(های) اصلی.Igor Sysoev
توسعه‌دهنده(ها).Nginx, Inc
انتشار ابتدایی۴ اکتبر ۲۰۰۴ (۲۰۰۴-۱۰-04)[2]
انتشار پایدار
۱٫۱۶٫۱
۱۳ اوت ۲۰۱۹ (۲۰۱۹-۰۸-13)[2]
انتشار آزمایشی
۱٫۱۷٫۳
۱۳ اوت ۲۰۱۹ (۲۰۱۹-۰۸-13)[2]
مخزن
نوشته‌شده باسی (زبان برنامه‌نویسی)[3]
سیستم‌عاملشبه-یونیکس،

ویندوز، آی‌بی‌ام ای‌آی‌اکس، لینوکس، مک‌اواس، سولاریس،

اچ‌پی-یواکس
بن‌سازه رایانشچند سکویی[4]
گونهوب سرور، پراکسی سرورایمیل
پروانهپروانه بی‌اس‌دی[5]
وبگاه

این پروژه در سال ۲۰۰۱ بنیان نهاده شد و توسط یک توسعه‌دهنده مستقل به نام ایگور سیسووف (به انگلیسی: Igor Sysoev) به مرحله اجرا درآمد تا در یکی از وب‌سایت‌های پرترافیک به نام رامبرلر به خدمت گرفته شود که این وب‌سایت در تاریخ سپتامبر ۲۰۰۸، روزانه بیش از ۵۰۰ میلیون درخواست HTTP داشته‌است. در حال حاضر وب‌سایت‌های سرشناسی همچون فیس‌بوک، نت‌فلیکس، وردپرس، سورس‌فورج و … از انجین‌اکس استفاده می‌کنند.[6] در نسخه ۵٫۲ اوپن‌بی‌اس‌دی که در نوامبر ۲۰۱۲ عرضه شد هم نرم‌افزار انجین‌اکس به صورت پیشفرض در سیستم قرار داده شد تا جایگزینی باشد برای آپاچی ۱٫۳. در نهایت در سال ۲۰۱۴ آپاچی از درخت کد منبع اوپن‌بی‌اس‌دی حذف شد.[7][8]

محبوبیت

برطبق نظرسنجی نوامبر سال ۲۰۱۶ سایت نت‌کرافت، انجین‌اکس به عنوان دومین وب‌سرور پرکاربرد در تمامی وب‌سایت‌های فعال[9]و همچنین در بزرگترین وب‌سایت‌هایی که ترافیک آن‌ها میلیونی است شناخته شد و همچنین، بر اساس آمار سایت «W3Techs»، انجین‌اکس در ۳۷٫۷ درصد از ۱ میلیون وب‌سایت برتر، ۴۹٫۷ درصد از ۱۰۰هزار وب‌سایت برتر و ۵۷ درصد از ۱۰ هزار وبسایت برتر استفاده شده‌است.[10] نظرسنجی سال ۲۰۱۸ داکر نیز نشان می‌دهد که، وب‌سرور انجین‌اکس یکی از پراستفاده‌ترین فناوری‌های استفاده شده بر بستر داکرکانتینر است.[11]

به عنوان نمونه، ویکی‌پدیا نیز از انجین‌اکس به عنوان یک «TLS termination proxy» استفاده می‌کند.[12]

امکانات

انجین‌اکس می‌تواند برای اجرا محتوای پروتکل انتقال ابرمتن(Http) بر روی شبکه با به‌کارگیری کنترل‌کننده واسط دروازه مشترک سریع یا واسط دروازه کارساز وب، برای متعادل نمودن بار ترافیکی استفاده شود.[13] برای رسیدگی به درخواست‌های وب، انجین‌اکس از روش رویداد (رایانش) غیرهمزمان به جای استفاده از رسیدگی همزمان به درخواست‌ها، استفاده می‌کند.[14] استفاده از معماری رویداد ناهمگام باعث می‌شود که انجین‌اکس بتواند تحت درخواست‌های زیاد عملکرد قابل پیش‌بینی ای از خود نشان دهد.[15][16]

فایل تنظیمات پیش‌فرض انجین‌اکس در «nginx.conf» ذخیره می‌شود.[17]

پروکسی پروتکل انتقال ابرمتن و امکانات وب‌سرور

امکانات پروکسی ایمیل

برخی امکانات دیگر، شامل: پیکربندی و ارتقا اطلاعات بدون قطع شدن اتصالات سمت کاربر،[21] ماژول مبتنی بر معماری دو هسته ای[22] و پشتیبانی از ماژول‌های شخص ثالث (third-party module) می‌باشد.[24]

انجین‌اکس و انجین‌اکس پلاس

دو نسخه متفاوت از انجین‌اکس به نام‌های انجین‌اکس(OSS) و انجین‌اکس پلاس وجود دارند. انجین‌اکس پلاس شامل قابلیت‌هایی اضافه بر انجین‌اکس(OSS) است که شامل ویژگی‌های زیر می‌شوند:

انجین‌اکس درمقابل آپاچی

انجین‌اکس به‌طور آشکار، با هدف عملکرد بهتر از وب‌سرور آپاچی نوشته شده‌است.[25] انجین‌اکس با استفاده کردن از پرونده‌های استاتیک به طرز چشمگیری حافظه کمتری را نسبت به آپاچی اشغال می‌کند به طوریکه تقریباً درهر ثانیه، به چهار برابر درخواست‌ها نسبت به آپاچی رسیدگی می‌کند.[26] با این حال، این افزایش عملکرد با کاهش انعطاف‌پذیری همراه است که شامل توانایی تغییر دسترسی‌های سطح‌سیستمی به شکل فایل به فایل می‌شود (وب‌سرور آپاچی این کار را با استفاده از فایل اچ‌تی‌اکسس انجام می‌دهد درحالی که انجین‌اکس فاقد این قابلیت است) همچنین انجین‌اکس شهرت بیشتری برای نصب و پیکربندی سخت‌تر نسبت به آپاچی دارد.[27][28]

پیش از این، برای اضافه کردن ماژول‌های شخص ثالث به انجین‌اکس نیاز به کامپایل کردن برنامه از کد منبع به‌طور ایستا بود.[29] این مورد در انتشار نسخه ۱٫۹٫۱۱ با اضافه کردن ماژول پیونددهنده پویا، در فوریه سال ۲۰۱۶ بهبود یافت.[30] با این وجود، هنوز ماژول‌ها باید به‌طور همزمان با انجین‌اکس کامپایل شوند، اما همهٔ ماژول‌ها با این سیستم سازگار نیستند و همچنان با استفاده از سیستم قدیمی ایستا کامپایل شوند.[31]

به‌طور کلی، انجین‌اکس در لینوکس دارای پایداری و کارایی بیشتری در مقایسه با ویندوز سرور دارد، این در حالی است که وب سرور آپاچی در هردو سیستم کارایی برابری دارد.[32]

جستارهای وابسته

منابع

  1. nginx که تلفظ آن "engine X" است.
  2. "CHANGES". Retrieved 16 May 2017.
  3. "The NGINX Open Source Project on Ohloh". ohloh.net. Retrieved 7 March 2013.
  4. "nginx". Retrieved 7 March 2013.
  5. "Licensing". Retrieved 18 January 2013.
  6. Nedelcu، 1.
  7. OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen
  8. OpenBSD Following -current: 2014/03/13 - httpd(8) removed
  9. "November 2016 Web Server Survey". 22 November 2016. Retrieved 19 December 2016.
  10. "Usage of web servers broken down by ranking". 19 December 2016. Retrieved 19 December 2016.
  11. "8 surprising facts about real Docker adoption". 13 June 2018. Retrieved 21 June 2018.
  12. "Wikitech: HTTPS". Wikitech.wikimedia.org. 3 October 2011. Retrieved 3 December 2011.
  13. "Use NGINX as a Front-end Proxy and Software Load Balancer". Linode Guides & Tutorials. Retrieved 1 June 2018.
  14. "Welcome to NGINX Wiki! - NGINX". nginx.com.
  15. "The Architecture of Open Source Applications (Volume 2): nginx". aosabook.org. Retrieved 10 June 2015.
  16. "How to Configure NGINX". Linode Guides & Tutorials. 8 March 2018.
  17. "Beginner's Guide". nginx.org. Retrieved 1 June 2018.
  18. "Module ngx_http_upstream_module". nginx.org. Retrieved 14 August 2012.
  19. "Proxy: support for connection upgrade (101 Switching Protocols)". trac.nginx.org. 19 February 2013. Retrieved 21 February 2013.
  20. "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012.
  21. "Official documentation: Controlling nginx". nginx.org. Retrieved 3 December 2011.
  22. "nginx documentation". nginx.org. Retrieved 9 June 2015.
  23. "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012.
  24. "3rdPartyModules – Nginx Community". wiki.nginx.org. Retrieved 9 June 2015.
  25. "NGINX vs. Apache: Our View of a Decade-Old Question". NGINX. 9 October 2015. Retrieved 28 December 2016.
  26. "Web server performance comparison". DreamHost. Retrieved 28 December 2016.
  27. Jankov, Tonino (13 June 2018). "Apache vs Nginx Performance: Optimization Techniques — SitePoint". SitePoint. Retrieved 22 October 2018.
  28. "Which web server should you use – Apache or NGINX?".
  29. "Choosing Between Apache and NGINX for Your Web Hosting Needs". Hosting Canada.
  30. "CHANGES-1.10". nginx.org. 31 January 2017.
  31. "Introducing Dynamic Modules in NGINX 1.9.11 - NGINX". NGINX. 9 February 2016. Retrieved 13 January 2017.
  32. "Nginx: the High-Performance Web Server and Reverse Proxy". Linux Journal. 1 September 2008. Retrieved 16 August 2009.

مشارکت‌کنندگان ویکی‌پدیا. «Nginx». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۷ اکتبر ۲۰۱۹.

پیوند به بیرون

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.