انجین‌اکس

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

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

اچ‌پی-یواکس
سکوچند سکویی[۴]
گونهوب سرور، پراکسی سرورایمیل
پروانهپروانه بی‌اس‌دی[۵]
وبگاهوبگاه رسمی انجین‌اکس، nginx.org

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

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

محبوبیت[ویرایش]

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

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

امکانات[ویرایش]

انجین‌اکس می‌تواند برای اجرا محتوای پروتکل انتقال ابرمتن(Http) بر روی شبکه با به‌کارگیری کنترل‌کننده واسط دروازه مشترک سریع یا واسط دروازه کارساز وب، برای متعادل نمودن بار ترافیکی استفاده شود.[۱۳] برای رسیدگی به درخواست‌های وب، انجین‌اکس از روش رویداد (رایانش) غیرهمزمان به جای استفاده از رسیدگی همزمان به درخواست‌ها، استفاده می‌کند.[۱۴] استفاده از معماری رویداد ناهمگام باعث می‌شود که انجین‌اکس بتواند تحت درخواست‌های زیاد عملکرد قابل پیش‌بینی ای از خود نشان دهد.[۱۵] [۱۶]

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

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

امکانات پروکسی ایمیل[ویرایش]

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

انجین‌اکس و انجین‌اکس پلاس[ویرایش]

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

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

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

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

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

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  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.

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

پیوند به بیرون[ویرایش]