NGINX چیست؟

NGINX چیست؟ معرفی

فهرست مطالب

NGINX چیست؟NGINX ، به عنوان "engine-ex" تلفظ می شود ، یک نرم افزار معروف وب سرور منبع باز است. در نسخه اولیه ، برای وب سرویس HTTP کارایی داشت. با این حال ، امروز همچنین به عنوان پروکسی معکوس ، تعادل دهنده بار HTTP و پروکسی ایمیل برای IMAP ، POP3 و SMTP نیز عمل می کند. NGINX در اکتبر 2004 عرضه رسمی خود را آغاز کرد. سازنده این نرم افزار ، ایگور سیسوف ، پروژه خود را در سال 2002 به عنوان تلاشی برای پاسخگویی به مشکل C10k آغاز کرد .  C10k چالش مدیریت همزمان ده هزار اتصال است. امروزه حتی ارتباطات بیشتری وجود دارد که سرورهای وب باید از عهده آنها برآیند.  به همین دلیل ، NGINX معماری همزمان و رویداد محور را ارائه می دهد.  این ویژگی NGINX را به یکی از قابل اعتمادترین سرورها برای سرعت و مقیاس پذیری تبدیل می کند. به دلیل توانایی فوق العاده آن در مدیریت بسیاری از اتصالات و سرعت ، بسیاری از وب سایت های پر بازدید از خدمات NGINX استفاده می کنند. برخی از این غول های آنلاین Google ، Netflix ، Adobe ، Cloudflare ، WordPress.com و بسیاری دیگر هستند.

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

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

NGINX در مقابل Apache

در میان وب سرورهای محبوب ، Apache یکی از اصلی ترین رقبای NGINX است.  این از دهه 90 وجود دارد و همچنین دارای جامعه کاربران زیادی است. اگر کنجکاو هستید که کدام وب سرور برای نیازهای شما مناسب است ، نگاهی به این مقایسه کوتاه و آموزنده بین NGINX و Apache بیندازید.
  • پشتیبانی سیستم عامل سازگاری یکی از جزئیاتی است که باید هنگام انتخاب نرم افزار در نظر بگیرید. NGINX و Apache می توانند روی بسیاری از سیستم عامل های پشتیبانی کننده سیستم Unix کار کنند. متأسفانه عملکرد NGINX در ویندوز به اندازه سایر سیستم عامل ها نیست.
  • پشتیبانی کاربر کاربران ، از افراد ساکن اول کار گرفته تا افراد حرفه ای ، همیشه به یک انجمن خوب نیاز دارند که در صورت مواجه شدن با مشکل بتواند به آنها کمک کند. در حالی که هر دو NGINX و Apache از پشتیبانی پستی و انجمن Stack Overflow برخوردار هستند ، Apache فاقد پشتیبانی شرکت خود ، بنیاد Apache است.
  • عملکرد می تواند همزمان 1000 اتصال محتوای استاتیک را دو برابر سریعتر از Apache اجرا کند و از حافظه کمی کمتر استفاده می کند. اگرچه برای عملکرد خود در اجرای محتوای پویا مقایسه می شوند ، سرعت هر دو یکسان است. NGINX برای کسانی که وب سایت ایستا تری دارند انتخاب بهتری است.

نتیجه

NGINX یک وب سرور است که به عنوان پروکسی ایمیل ، پروکسی معکوس و متعادل کننده بار نیز عمل می کند.  ساختار این نرم افزار ناهمگام و مبتنی بر رویداد است. که پردازش همزمان بسیاری از درخواست ها را امکان پذیر می کند.  NGINX نیز بسیار مقیاس پذیر است ، به این معنی که خدمات آن همراه با ترافیک مشتریان خود رشد می کند. NGINX و Apache در واقع دو تا از بهترین وب سرورهای بازار هستند.