انجین‌اکس

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از Nginx)
اِنجین اِکس[۱]
نویسنده(های)
اصلی
.Igor Sysoev
توسعه‌دهنده(ها).Nginx, Inc
انتشار ابتدایی۴ اکتبر ۲۰۰۴؛ ۱۹ سال پیش (۲۰۰۴-04}})[۲]
انتشار آزمایشی
1.25.4[۳] ویرایش در ویکی‌داده
14 فوریه 2024
مخزن
نوشته‌شده باسی (زبان برنامه‌نویسی)[۴]
سیستم‌عاملشبه یونیکس, مایکروسافت ویندوز
بن‌سازه رایانشچند سکویی[۵]
گونهوب سرور، پراکسی سرورایمیل
وبگاه

اِنجین‌اِکس (به انگلیسی: 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. "Changes with nginx 1.25.4 14 Feb 2024". 14 فوریه 2024. Archived from the original on 15 February 2024. Retrieved 14 February 2024.
  4. "The NGINX Open Source Project on Ohloh". ohloh.net. Archived from the original on 26 June 2012. Retrieved 7 March 2013. {{cite web}}: Italic or bold markup not allowed in: |work= (help)
  5. "nginx". Retrieved 7 March 2013.
  6. https://github.com/nginx/nginx; زمان بازیابی داده‌ها: 16 اوت 2018.
  7. Nedelcu، 1.
  8. OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen
  9. OpenBSD Following -current: 2014/03/13 - httpd(8) removed
  10. "November 2016 Web Server Survey". 22 November 2016. Retrieved 19 December 2016.
  11. "Usage of web servers broken down by ranking". 19 December 2016. Retrieved 19 December 2016.
  12. "8 surprising facts about real Docker adoption". 13 June 2018. Retrieved 21 June 2018.
  13. "Wikitech: HTTPS". Wikitech.wikimedia.org. 3 October 2011. Retrieved 3 December 2011.[پیوند مرده]
  14. "Use NGINX as a Front-end Proxy and Software Load Balancer". Linode Guides & Tutorials. Retrieved 1 June 2018.
  15. "Welcome to NGINX Wiki! - NGINX". nginx.com. {{cite web}}: Italic or bold markup not allowed in: |website= (help)
  16. "The Architecture of Open Source Applications (Volume 2): nginx". aosabook.org. Retrieved 10 June 2015. {{cite web}}: Italic or bold markup not allowed in: |work= (help)
  17. "How to Configure NGINX". Linode Guides & Tutorials. 8 March 2018.
  18. "Beginner's Guide". nginx.org. Retrieved 1 June 2018. {{cite web}}: Italic or bold markup not allowed in: |website= (help)
  19. "Module ngx_http_upstream_module". nginx.org. Retrieved 14 August 2012.
  20. ۲۰٫۰ ۲۰٫۱ "Proxy: support for connection upgrade (101 Switching Protocols)". trac.nginx.org. 19 February 2013. Retrieved 21 February 2013.
  21. "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012.
  22. ۲۲٫۰ ۲۲٫۱ ۲۲٫۲ "Official documentation: Controlling nginx". nginx.org. Retrieved 3 December 2011.
  23. ۲۳٫۰ ۲۳٫۱ "nginx documentation". nginx.org. Retrieved 9 June 2015. {{cite web}}: Italic or bold markup not allowed in: |website= (help)
  24. "Module ngx_mail_auth_http_module". nginx.org. Retrieved 13 September 2012.
  25. "3rdPartyModules – Nginx Community". wiki.nginx.org. Retrieved 9 June 2015.
  26. "NGINX vs. Apache: Our View of a Decade-Old Question". NGINX. 9 October 2015. Retrieved 28 December 2016.
  27. "Web server performance comparison". DreamHost. Retrieved 28 December 2016.
  28. Jankov, Tonino (13 June 2018). "Apache vs Nginx Performance: Optimization Techniques — SitePoint". SitePoint. Retrieved 22 October 2018.
  29. "Which web server should you use – Apache or NGINX?".
  30. "Choosing Between Apache and NGINX for Your Web Hosting Needs". Hosting Canada.
  31. "CHANGES-1.10". nginx.org. 31 January 2017. {{cite web}}: Italic or bold markup not allowed in: |website= (help)
  32. "Introducing Dynamic Modules in NGINX 1.9.11 - NGINX". NGINX. 9 February 2016. Retrieved 13 January 2017.
  33. "Nginx: the High-Performance Web Server and Reverse Proxy". Linux Journal. 1 September 2008. Retrieved 16 August 2009.

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

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