NginX چیست معرفی دومین وب سرور محبوب جهان

NginX چیست معرفی دومین وب سرور محبوب جهان

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

 

 مطلب NginX چیست معرفی دومین وب سرور محبوب جهان در تاریخ چهارم فروردین ماه بازنویسی و به طور کامل بروزرسانی شد

 

NginX چیست

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

ساختار NginX

 

نقطه شروع NginX چیست

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

 

علت رشد سعودی NginX چیست

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

علت رشد NginX

همواره یکی از بزرگ‌ترین چالش‌ های یک معمار وب‌ سایت، همزمانی درخواست‌ ها بوده است. از ابتدای به وجود آمدن سرویس‌ های وب، تعداد درخواست‌ های همزمان در حال رشد است. برای یک وب‌سایت محبوب اصلا غیر معمول نیست که بتواند به صد ها هزار یا حتی میلیون‌ها کاربر به‌طور همزمان سرویس دهد. در دهه گذشته علت اصلی همزمانی، اتصال‌ های کند بود -کاربرانی با ارتباطات تماسی یا Dial-up– اما امروزه افزایش همزمانی علت دیگری دارد؛ ترکیبی از کاربران موبایل و معماری‌ های جدیدتر برنامه‌ های کاربردی که معمولا برپایه نگه‌ داشتن ارتباطی پایدار هستند و به کاربران اجازه می‌ دهند با اخبار و اطلاعاتی که از طریق دوستان خود دریافت می‌ کنند، به‌ روز شوند. عامل مهم دیگری که به افزایش همزمانی کمک می‌ کند، تغییر رفتار مرورگر های نوین است؛ این‌گونه مرورگر ها برای بالا بردن سرعت بارگذاری، چهار یا شش اتصال همزمان را با یک وب‌سایت برقرار می‌کنند.

 

نقش NginX در فراهم کردن همزمانی

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

نقش NginX در همزمانی

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

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

 

مزایای استفاده از NginX چیست

تا اینجای کار در مورد این موضوع که مزایای NginX چیست کم و بیش مطالبی را ارائه داده ایم. اگر بخواهیم به صورت تیتر وار و خلاصه بگوییم که مزایای NginX چیست و استفاده از آن چه فوایدی برای ما خواهد داشت میتوان به این موارد اشاره کرد:

  1. سرعت بالا(2.5 برابر سریعتر از وب سرور آپاچی)
  2. همزمانی در پاسخ به درخوست ها
  3. تقسیم بار و لود بالانس به صورت کاملا اصولی و کاربردی
  4. انعطاف پذیری خوب برای فایل های ایستا و پویا
  5. بازدهی فوق العاده در کار با ایمیل
  6. همگامی خوب با سرویس های استریمینگ

و موراد دیگر که در ادامه به بررسی و معرفی آنها خواهیم پرداخت.

مزایای NginX

 

دیگر فواید nginx

کنترل همزمانی بالا با بهره‌وری و تاثیرپذیری بالا از فواید مهم به‌کارگیری انجین‌ایکس بوده است، ولی این سرور وب، فواید جالب دیگری نیز دارد. در چند سال گذشته، معماری‌های وب، ایده تجزیه و جداسازی زیرساخت نرم‌افزاری‌ شان از سرور وب را در پیش گرفته‌ اند؛ همانند آنچه قبلا در وب‌ سایت‌ های مبتنی بر Linux، MySQL، PHP،Python  یا Perl، وجود داشت.

اگر بخواهیم بگوییم که در بین وب سرور های مختلف، علت مناسب بودن NginX چیست، میتوانیم بگوییم که قابلیت‌های کلیدی مورد نیاز برای کنترل همزمانی، پردازش تاخیر، لایه امن سوکت‌ها یا همان SSL، محتوای ایستا، فشرده‌ سازی و ذخیره در حافظه نهان، از‌ بین‌ بردن اتصال‌ ها و درخواست‌ های غیر ضروری و حتی جریان HTTP رسانه از لایه کاربردی به لایه موثر تر سرور وب را ارائه می‌ کند. همچنین امکان یکپارچه‌ سازی مستقیم با راه‌ حل‌ های بدون SQL یا NoSQL مانند memcached‌/‌Redis را برای بالا بردن کارایی هنگام ارائه سرویس به تعداد زیادی از کاربران همزمان فراهم می‌ سازد.

 

شرایط به کارگیری NginX چیست

با وجود کیت‌ ها و زبان‌ های برنامه‌ نویسی جدید توسعه، شرکت‌ های بیشتری اقدام به تغییر نحوه توسعه و به‌کارگیری برنامه‌ های کاربردی خود کردند و انجین‌ ایکس به یکی از اصلی‌ ترین اجزای این تغییرات تبدیل شد که توانست به بسیاری از شرکت‌ ها در جهت توسعه سریع سرویس‌ های وب‌ شان کمک کند. خیلی از شرکت ها و کسب و کارهایی که با شرایط ساختاری NginX سازگار هستند در حال استفاده از این وب سرور هستند و شما نیز میتوناید براحتی از آن استفاده کنید. در ادامه در مورد اینکه ساختار NginX چیست با هم صحبت خواهیم کرد.

 

ساختار NginX چیست

اولین خط‌ های انجین‌ ایکس در سال ۲۰۰۲ نوشته شد و سال ۲۰۰۴ به‌ عرضه عمومی رسید. تعداد کاربران انجین ایکس در حال افزایش است که این مساله باعث افزایش ایده‌ های مشارکتی، خطا های گزارش‌ شده، پیشنهاد ها و نظارت‌ ها شده است. اساس کد انجین‌ ایکس مختص به خودش است که به‌ صورت کامل و از ابتدا با زبان برنامه‌ نویسی C نوشته شده است. انجین ایکس به بسیاری از معماری‌ ها و سیستم‌ عامل‌ها مانند لینوکس، ویندوز،Mac OS  FreeBSD و نفوذ کرده است. این سرور وب، با داشتن کتابخانه‌ های خود از ماژول‌ های استاندارد کتابخانه‌ ای C استفاده زیادی نمی‌ کند.

ساختار NginX

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

 

نتیجه گیری

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

واکنش شما چیست؟
+1
1
+1
1
+1
1
+1
1
+1
+1
+1
برچسب‌ها:, , ,

نظر دهید

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