نجین ایکس (NGINX)، که به عنوان “انجین-اکس” تلفظ میشود، در ماه اکتبر سال 2004 به صورت رسمی منتشر شد. آیگور سیسوف، خالق این نرمافزار، پروژه خود را در سال 2002 به عنوان یک تلاش برای پاسخ به مشکل C10k آغاز کرد. مشکل C10k به چالش مدیریت ده هزار اتصال به صورت همزمان اشاره دارد.
امروزه، تعداد اتصالاتی که سرورهای وب باید مدیریت کنند حتی بیشتر شده است. به همین دلیل، انجین ایکس (NGINX) با معماری رویداد-محور و ناهمگام ارائه شده است. این ویژگی باعث میشود که انجین ایکس یکی از پایدارترین سرورها برای سرعت و قابلیت مقیاسپذیری باشد.
به دلیل اینکه انجین ایکس NGINX توانایی بینظیری در مدیریت تعداد زیادی اتصال و سرعت دارد، بسیاری از وب سایتهای پرترافیک از سرویس انجین ایکس استفاده میکنند. که برخی از این شرکتهای بزرگ شامل گوگل، نتفلیکس، ادوب، کلودفلر، وردپرس و بسیاری دیگر هستند.
از دیگر سرویس هایی که می تواند سرعت بالایی داشته باشد می توان به سرور مجازی NVME اشاره کرد که به راحتی می توانید آن را از سایت روناک هاست با بهترین قیمت و پلن های مختلف خریداری کنید.
دقیقا NGINX چیست
NGINX یک نرمافزار وب سرور منبع باز است که به عنوان یک پروکسی معکوس، بارگیری توزیعشده HTTP و پروکسی ایمیل برای پروتکلهای IMAP، POP3 و SMTP عمل میکند.
نحوه عملکرد انجین ایکس NGINX چیست
قبل از اینکه بیشتر در مورد انجین ایکس بدانید، بیایید به چگونگی عملکرد یک سرور وب نگاهی بیندازیم. زمانی که کسی درخواست باز کردن یک صفحه وب را دارد، مرورگر با سرور وب آن وبسایت ارتباط برقرار می کند. سپس سرور وب به دنبال فایلهای درخواستی برای صفحه مورد نظر میگردد و آنها را به مرورگر ارسال میکند. این فقط سادهترین نوع درخواست کاربر به سرور است.
مثال فوق همچنین به عنوان یک نخ واحد در نظر گرفته میشود. یک سرور وب سنتی برای هر درخواست یک نخ ایجاد میکند، اما NGINX به این شکل عمل نمیکند. همانطور که قبلا گفته شد، NGINX با یک معماری نمایشی رویدادگر، ناهمگام عمل میکند. این بدان معناست که نخهای مشابه تحت یک فرایند کارگر مدیریت میشوند و هر فرایند کارگر شامل واحدهای کوچکتری به نام اتصال کارگر است. کل این واحد در پاسخگویی به درخواستهای همزمان مشغول به کار است. اتصالات کارگر درخواستها را به یک فرایند کارگر ارسال میکنند که سپس آنها را به فرایند اصلی ارسال میکند. در نهایت، فرایند اصلی نتیجه آن درخواستها را ارائه میدهد.
این موضوع ممکن است ساده به نظر برسد، اما یک اتصال کارگر میتواند تا ۱۰۲۴ درخواست مشابه را مدیریت کند. به همین دلیل، NGINX میتواند هزاران درخواست را بدون مشکل پردازش کند. این موضوع همچنین دلیلی است که NGINX به عنوان سریع ترین وب سرور جهان شناخته شده است که برای وب سایتهای با ترافیک بالا مانند فروشگاههای آنلاین، موتورهای جستجو و ذخیرهسازی ابری عالی عمل میکند.
تفاوت وب سرور Apache با وب سرور NGINX چیست
آپاچی یک وب سرور محبوب دیگر و یکی از رقبای اصلی برای NGINX است. این وب سرور از دهه 90 وجود دارد و جامعه کاربری بزرگی نیز دارد. اگر شما درباره سرور وبی که برای نیازهای خودتان مناسب است، کنجکاو هستید، می تواند در ادامه تفاوت این دو را متوجه شوید.
پشتیبانی از سیستم عامل
سازگاری یکی از جزئیات کوچکی است که باید در هنگام انتخاب نرم افزار به آن توجه کنید. هر دو سرور وب NGINX و Apache میتوانند بر روی بسیاری از سیستمعاملهایی که سیستم Unix را پشتیبانی میکنند، اجرا شوند. متأسفانه، عملکرد NGINX در ویندوز بهتر از سایر پلتفرمها نیست.
پشتیبانی کاربر
کاربران، از تازهکاران تا حرفهایان، همیشه به یک جامعه خوب نیاز دارند که در هنگام مواجه شدن با مشکلات، به آنها کمک کند. در حالی که هر دو NGINX و Apache از پشتیبانی ایمیلی و یک انجمن Stack Overflow پشتیبانی میکنند، اما Apache از پشتیبانی شرکت خود، Apache Foundation، محروم است.
عملکرد
NGINX میتواند به طور همزمان 1000 اتصال محتوای استاتیک را دو برابر سریعتر از Apache اجرا کند و کمی کمتر از حافظه استفاده کند. با این حال، در مقایسه عملکرد آنها برای اجرای محتوای پویا، هر دو سرعت یکسانی دارند. NGINX گزینه بهتری برای کسانی است که یک وبسایت استاتیکتری دارند.
نتیجهگیری
NGINX یک سرور وب منبع باز محبوب است که به عنوان پروکسی ایمیل، پروکسی معکوس و توازن بار هم عمل میکند. ساختار نرمافزار نیز به صورت همزمان و مبتنی بر رویداد است که امکان پردازش بسیاری درخواست در یک زمان را فراهم میکند. همچنین NGINX بسیار قابل انطباق است، به این معنی که خدمات آن به همراه ترافیک مشتریانش رشد میکند.