معرفی وب سرور Nginx
NGINX چیست؟
NGINX که به صورت “انجین اِکس” تلفظ می شود، در اکتبر 2004 منتشر شد. خالق این نرم افزار، ایگور سیسوف، پروژه خود را در سال 2002 به عنوان تلاشی برای پاسخ به مشکل C10k آغاز کرد. C10k چالش مدیریت ده هزار اتصال به طور همزمان در یک سرور است.
NGINX چگونه کار می کند؟
قبل از کسب اطلاعات بیشتر در مورد NGINX، بیایید نگاهی به نحوه عملکرد یک وب سرور بیندازیم.
وب سرور چیست؟
مثال بالا به عنوان یک رشته در نظر گرفته می شود. یک وب سرور سنتی برای هر درخواست یک رشته ایجاد می کند، اما NGINX به این شکل کار نمی کند. همانطور که قبلا گفته شد، NGINX با معماری ناهمزمان و رویداد محور عمل می کند. این بدان معنی است که رشته های مشابه تحت یک فرآیند مدیریت می شوند و هر فرآیند شامل واحدهای کوچکتری به نام اتصالات Worker connections است.
سپس کل این واحد مسئول رسیدگی به درخواست های همزمان است. اتصالات درخواست ها را به فرآیند تحویل می دهند، که آن را به فرآیند اصلی نیز ارسال می کند. در نهایت، فرآیند اصلی نتیجه آن درخواست ها را ارائه می دهد.
ممکن است ساده به نظر برسد، اما یک اتصال می تواند تا 1024 درخواست مشابه را برطرف کند. به همین دلیل، NGINX می تواند هزاران درخواست را بدون هیچ مشکلی پردازش کند. به همین دلیل است که NGINX سریعترین وب سروری است که برای وبسایتهای پر ترافیک مانند وب سایت های تجارت الکترونیک، موتورهای جستجو و ذخیرهسازهای ابری بسیار عالی خواهد بود.
NGINX در مقابل وب سرور Apache
Apache یا آپاچی یکی دیگر از وب سرورهای محبوب و یکی از رقبای اصلی NGINX است. از دهه 90 میلادی وجود داشته است و همچنین دارای یک جامعه کاربری بسیار بزرگ است. اگر کنجکاو هستید که کدام وب سرور برای نیازهای شما بهترین است، به این مقایسه مختصر و بین NGINX و Apache نگاهی بیندازید.
پشتیبانی از سیستم عامل
سازگاری با سیستم عامل یکی از جزئیات کوچکی است که باید هنگام انتخاب نرم افزار در نظر بگیرید. هر دو NGINX و Apache می توانند روی بسیاری از سیستم عامل هایی که از سیستم یونیکس پشتیبانی می کنند اجرا شوند. متأسفانه عملکرد NGINX در ویندوز به اندازه سایر سیستم عامل ها عالی نیست.
پشتیبانی از کاربر
میزان کارایی
NGINX می تواند به طور همزمان 1000 اتصال محتوای ثابت را دو برابر سریعتر از Apache اجرا کند و از حافظه کمتری استفاده می کند. با این حال، در مقایسه با عملکرد آنها در اجرای محتوای پویا، هر دو سرعت یکسانی دارند. NGINX برای کسانی که وب سایت استاتیک یا ثابت تری دارند انتخاب بهتری است.
سخن پایانی
NGINX یک وب سرور متن باز محبوب است که به عنوان یک حافظه کش HTTP، پراکسی معکوس (reverse proxying) و متوازن کننده بار(Load Balancing) نیز عمل می کند. ساختار نرم افزار ناهمزمان و رویداد محور است. که پردازش بسیاری از درخواست ها را به طور همزمان امکان پذیر می کند. NGINX همچنین بسیار مقیاس پذیر است، به این معنی که خدمات آن همراه با افزایش ترافیک کاربرانش رشد می کند. NGINX و Apache در واقع دو تا از محبوب ترین سرورهای وب در بازار هستند.