انجین‌اکس

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

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

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

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

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

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

### پروکسی [[پروتکل انتقال ابرمتن]] و امکانات وب‌سرور
* توانایی رسیدگی و پاسخ گویی بیشتر از ۱۰هزار درخواست همزمان در یک لحظه حتی با حافظه محدود
* رسیدگی به فایل‌های استاتیک یا ایستا، فهرست بندی فایل‌ها به‌طور خودکار
* پراکسی سرور معکوس همراه با ذخیره‌سازی
* متعادل نمودن بار ترافیکی همراه با بررسی حفظ پایداری داخلی
* امنیت لایه انتقال همراه با پشتیبانی از «SNI» و «OCSP stapling»، توسط اپن‌اس‌اس‌ال
* پشتیبانی از نسخه ۱٫۱۳٫۱۰ «gRPC» از مارس ۲۰۱۸ تا به امروز
* سازگاری کامل با IPv6
* پشتیبانی از پروتکل انتقال ابرمتن نگارش ۲، ۱ و وب‌سوکت
* پشتیبانی از تغییر مسیر نشانی وب و «URL rewriting»

### امکانات پروکسی ایمیل
* پشتیبانی از امنیت لایه انتقال (TLS)
* پشتیبانی از «Opportunistic TLS»
* پشتیبانی از قرارداد ساده نامه‌رسانی (SMTP)، پاپ (پروتکل) و پروتکل پروکسی IMAP
* نیاز به احراز هویت توسط یک سرور پروتکل انتقال ابرمتن خارجی

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

## انجین‌اکس و انجین‌اکس پلاس
دو نسخه متفاوت از انجین‌اکس به نام‌های انجین‌اکس(OSS) و انجین‌اکس پلاس وجود دارند.
انجین‌اکس پلاس شامل قابلیت‌هایی اضافه بر انجین‌اکس(OSS) است که شامل ویژگی‌های زیر می‌شوند:
* بررسی درستی کارکرد سیستم به‌طور مداوم و فعال
* ماندگاری سشن‌ها مبتنی بر کوکی
* سرویس تشخیص و ادغام دی‌ان‌اس
* پاک سازی حافظه نهان API

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

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

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

## جستارهای وابسته
* مقایسه نرم‌افزارهای وب سرور
* تغییر مسیر نشانی وب

## منابع

## پیوند به بیرون
* وبگاه رسمی انجینکس

رده:اختراع‌های روسی
رده:پراکسی سرورهای آزاد
رده:پراکسی معکوس
رده:سرویس‌دهنده‌های وب آزاد
رده:شرکت‌های بنیان‌گذاری‌شده در ۲۰۱۱ (میلادی)
رده:شرکت‌های روسی بنیان‌گذاری‌شده در ۲۰۱۱ (میلادی)
رده:شرکت‌های نرم‌افزاری روسیه
رده:فوروارد پراکسی
رده:کارساز وب
رده:نرم‌افزار آزاد
رده:نرم‌افزارهای ۲۰۰۲ (میلادی)
رده:نرم‌افزارهای آزاد چندسکویی
رده:نرم‌افزارهای آزاد نوشته‌شده با سی
رده:نرم‌افزارهای پراکسی سرور برای لینوکس
رده:نرم‌افزارهای چندسکویی
رده:نرم‌افزارهای یونیکس مرتبط با شبکه
رده:نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند
رده:ادغام‌ها و اکتساب‌های ۲۰۱۹ (میلادی)
رده:شرکت‌های نرم‌افزاری بنیان‌گذاری‌شده در ۲۰۱۱ (میلادی)