معرفی وب سرور Nginx

معرفی وب سرور Nginx

NGINX چیست؟

NGINX لوگو

NGINX که به صورت “انجین اِکس” تلفظ می شود، در اکتبر 2004 منتشر شد. خالق این نرم افزار، ایگور سیسوف، پروژه خود را در سال 2002 به عنوان تلاشی برای پاسخ به مشکل C10k آغاز کرد. C10k چالش مدیریت ده هزار اتصال به طور همزمان در یک سرور است.

امروزه، ارتباطات حتی  گسترده تری وجود دارند که وب سرورها باید به آن رسیدگی کنند. به همین دلیل، NGINX یک معماری رویداد محور و غیرهمزمان را ارائه می دهد. این ویژگی این سرویس را به یکی از قابل اعتمادترین سرورها برای سرعت و مقیاس پذیری بالا تبدیل می کند.
با توجه به توانایی فوق‌العاده آن در مدیریت اتصالات و سرعت زیاد و همچین متن باز بودن آن، بسیاری از وب‌سایت‌های پربازدید از سرویس NGINX استفاده می‌کنند. برخی از این غول های آنلاین عبارتند از: Google، Netflix، Adobe، Cloudflare، WordPress و بسیاری دیگر.

NGINX چگونه کار می کند؟

قبل از کسب اطلاعات بیشتر در مورد NGINX، بیایید نگاهی به نحوه عملکرد یک وب سرور بیندازیم.

وب سرور چیست؟

هنگامی که شخصی برای باز کردن یک صفحه وب درخواست می کند، مرورگر با سرور وب آن وب سایت تماس می گیرد. سپس وب سرور فایل های درخواستی صفحه را جستجو می کند و آن را برای مرورگر ارسال می کند. این ساده ترین نوع درخواست است.

مثال بالا به عنوان یک رشته در نظر گرفته می شود. یک وب سرور سنتی برای هر درخواست یک رشته ایجاد می کند، اما NGINX به این شکل کار نمی کند. همانطور که قبلا گفته شد، NGINX با معماری ناهمزمان و رویداد محور عمل می کند. این بدان معنی است که رشته های مشابه تحت یک فرآیند مدیریت می شوند و هر فرآیند شامل واحدهای کوچکتری به نام اتصالات Worker connections است.

سپس کل این واحد مسئول رسیدگی به درخواست های همزمان است. اتصالات درخواست ها را به فرآیند تحویل می دهند، که آن را به فرآیند اصلی نیز ارسال می کند. در نهایت، فرآیند اصلی نتیجه آن درخواست ها را ارائه می دهد.

ممکن است ساده به نظر برسد، اما یک اتصال  می تواند تا 1024 درخواست مشابه را برطرف کند. به همین دلیل، NGINX می تواند هزاران درخواست را بدون هیچ مشکلی پردازش کند.  به همین دلیل است که NGINX سریع‌ترین وب سروری است که برای وب‌سایت‌های پر ترافیک مانند وب سایت های تجارت الکترونیک، موتورهای جستجو و ذخیره‌سازهای ابری بسیار عالی خواهد بود.

NGINX در مقابل وب سرور Apache

NGINX در مقابل وب سرور Apache

Apache یا آپاچی یکی دیگر از وب سرورهای محبوب و یکی از رقبای اصلی NGINX است. از دهه 90 میلادی وجود داشته است و همچنین دارای یک جامعه کاربری بسیار بزرگ است. اگر کنجکاو هستید که کدام وب سرور برای نیازهای شما بهترین است، به این مقایسه مختصر و بین NGINX و Apache نگاهی بیندازید.

پشتیبانی از سیستم عامل

لوگو سیستم عامل ها

سازگاری با سیستم عامل یکی از جزئیات کوچکی است که باید هنگام انتخاب نرم افزار در نظر بگیرید. هر دو NGINX و Apache می توانند روی بسیاری از سیستم عامل هایی که از سیستم یونیکس پشتیبانی می کنند اجرا شوند. متأسفانه عملکرد NGINX در ویندوز به اندازه سایر سیستم عامل ها عالی نیست.

پشتیبانی از کاربر

کاربران، از مبتدی گرفته تا حرفه ای ها، همیشه رای انتخاب یک پلتفرم به یک جامعه کاربری خوب نیاز دارند که بتواند در هنگام مواجهه با مشکلات درخواست کمک کنند. در حالی که هر دو NGINX و Apache دارای پشتیبانی الکترونیکی و یک انجمن در  Stack Overflow هستند، Apache فاقد پشتیبانی از طرف شرکت خود است.

میزان کارایی

NGINX می تواند به طور همزمان 1000 اتصال محتوای ثابت را دو برابر سریعتر از Apache اجرا کند و از حافظه کمتری استفاده می کند. با این حال، در مقایسه با عملکرد آنها در اجرای محتوای پویا، هر دو سرعت یکسانی دارند. NGINX برای کسانی که وب سایت استاتیک یا ثابت تری دارند انتخاب بهتری است.

سخن پایانی

NGINX یک وب سرور متن باز محبوب است که به عنوان یک حافظه کش HTTP، پراکسی معکوس (reverse proxying) و متوازن کننده بار(Load Balancing) نیز عمل می کند. ساختار نرم افزار ناهمزمان و رویداد محور است. که پردازش بسیاری از درخواست ها را به طور همزمان امکان پذیر می کند. NGINX همچنین بسیار مقیاس پذیر است، به این معنی که خدمات آن همراه با افزایش ترافیک کاربرانش رشد می کند. NGINX و Apache در واقع دو تا از محبوب ترین سرورهای وب در بازار هستند.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.