مهمترین ویژگی Nginx که نقطه تمایز آن با دیگر رقبایش هم هست ، این است که درخواستهای مشابه را در کنار هم بررسی میکند و برای هرکدام یک فرایند جداگانه درست نمیکند.
#
وب سرور ها و انواع آن
در این قسمت درمورد مفهوم کلی وب سرور و انواع آن برای شما توضیح دادیم. در ادامه می خواهیم شما را با نمونه ای از بهترین و محبوب ترین آن ها با عنوان وب سرور Nginx آشنا کنیم و درمورد مزیت ها و کاربرد هایی که دارد بیشتر توضیح دهیم.
برای بیان قابلیت های بیشتر این وب سرور که روی کارکرد آن تاثیر می گذارد می توان توازن در بارگذاری حافظه، کنترل دسترسی پهنای باند و قابلیت یک پارچه سازی موثر با سایر برنامه های کاربردی را نام برد. در واقع انجین ایکس یک گزینه بسیار مناسب برای معماران وب سایت هایی است که در حال راه اندازی سایت های جدیدی می باشند. هم اکنون این وب سرور در جایگاه دوم محبوب ترین وب سرورهای منبع باز اینترنت قرار دارد. برترین امتیاز این وب سرور در پشتیبانی فایل های استاتیک قرار دارد. این سرویس مصرف رم بسیار پایینی دارد اما سرعت پاسخگویی آن برای درخواست ها بسیار بالا می باشد. از این سرویس برای سیستم های لود بالانس استفاده میشود. شما می توانید برای خرید بهترن سرویس انجین ایکس به سایت سیوان هاست مراجعه کنید.
#
تاریخچه NGINX
Nginx از روسیه میآید. در سال 2002 یک برنامه نویس به نام ایگور سسوئف (Igor Sessoev) شروع به کار بر روی nginx کرد، زیرا عمیقا نگران مشکل C10K بود. به بیان ساده بهینهسازی سوکتهای شبکه برای رسیدگی به تعداد زیادی از مشتریان در یک زمان (نقطه ضعف اصلی آپاچی) یک چالش واقعی برای وب مدرن بود. انتشار اولیه آن در سال 2004 بر اساس معماری مبتنی بر رویداد (events-driven) عمومی شد.
حتی خود سیسویف هم باور نمیکرد nginx اینقدر به موفقیت برسد. مزایای فوقالعاده، سرعت آن و استفاده کم از منابع با گذشت زمان آشکار شد. Nginx روشی عالی برای ارائه محتوای استاتیک است اما نمیتواند محتوای داینامیک را مدیریت کند. این نیز یک مزیت بود، زیرا محتوای داینامیک به worker محدود نمیشد بنابراین میتوانست خیلی سریعتر کار کند.
Nginx در ارائه محتوای سریعتر با حجم بسیار بالاتری از اتصالات نسبت به Apache برتری دارد و در حال حاضر گزینهای برای میزبانی سرویسهایی است که میخواهند بهترین عملکرد ممکن را ارائه دهند. معماری رویداد محور و ماهیت ناهمزمان بودن، نقاط قوت عملکرد آن هستند.
#
وب سرور های NGINX
وب سرور Nginx قابلیت های بسیار زیادی دارد که موجب شده است تا محبوبیت آن در میان وبمستران بسیار بالا باشد. یکی از مهم ترین قابلیت های آن رایگان بودن و اوپن سورس بودن است. همچنین وجود پلتفرم های مناسب برای استفاده از سرورهای لینوکس و ویندوز باعث شده است تا کاربر بتواند به راحتی ازاین سرورها استفاده کند. البته لازم به گفتن است که Nginx در ویندوز نقش نمایشی دارد و نمی تواند پرفرنس بالایی را نمایش دهد.اما وب سایت هایی که به وسیله ی php ساخته شده اند معمولا این برنامه را به عنوان حافظه ی پنهان محتوا و پروکسی معکوس مستقر می کنند تا بار از سرورهای برنامه کاهش یابد .
#
مزایا , امکانات و قابلیت های وب سرور NGINX
-
1سرویس دهی به فایل های استاتیک
-
2پروکسی معکوس
-
3بالانس کردن بار سرور
-
4پشتیبانی از Fast CGI
-
5کنسول مدیریتی آسان و کاربر پسند
-
6دوباره نوشتن URL ها (URL Rewriting)
-
7متن باز است
-
8مدیریت کانکشن همزمان
-
9منابع کمتری مصرف میکند
-
10کانفیگ ساده
-
11کشینگ
-
12پیکربندی آن راحت است
-
کاربرد Load Balancing
برخی وبسایت ها روزانه توسط هزاران یا حتی میلیون کاربر استفاده می شوند و بازدید روزانه بسیار بالایی دارند. برای رسیدگی به این مقدار از کاربر و بازدید، یک سرور کافی نمی باشد و به همین دلیل از تعداد بسیار زیادی سرور به صورت همزمان استفاده می شود. در این بین وب سرور NGINX بین کاربران و این سرور ها قرار می گیرد و وظیفه هندل کردن درخواست ها را بر عهده می گیرد که به این موضوع لود بالانسینگ گفته می شود , در واقع لود بالانسینگ یکی از کاربردهای ویژه وب سرور انجیناکس است. این قابلیت، با پخش ترافیک روی سرورهای دیگر، خصوصاً در ساعات پر ترافیک، موجب افزایش سرعت و بهره وری سرور میشود. با نصب انجین اکس روی سرور اختصاصی، از جمله سرور اختصاصی ایران میتوان از این قابلیت NGINX بهره برد.
-
کاربرد پارکسی معکوس Reverse Proxy
در پراکسی معکوس NGINX بین کاربران و سرور اصلی قرار می گیرد و در تامین امنیت سرور اصلی امنیت بسیاری بر قرار می کند. در نظر داشته باشید که تفاوت ظریف ولی مهمی بین پراکسی معکوس (Reverse Proxy) و فورواردینگ پراکسی (Forwarding Proxy) وجود دارد؛ پراکسی معکوس مقابل وب سرور قرار می گیرد و مطمئن می شود که هیچ کاربری مستقیما با سرور اصلی ارتباط برقرار نکند.
در طرف مقابل، فوروارد پراکسی در مقابل کاربر قرار می گیرد و مطمئن می شود که هیچ سروری به طور مستقیم با کاربر ارتباط برقرار نکند.
-
مصرف پایین RAM
یکی از اصلی ترین قابلیت های Nginx را می توان مصرف ثابت رم در فشارهای بالا را نام برد. تکنولوژی های پیشرفته در پردازش این سرور باعث شده است تا در درخواست های بالا نیز شاهد ثبات استفاده از میزان استفاده Ram سرور باشیم. وب سرورها به روش های مختلفی می تواند درخواست ها را پردازش کند. Nginx نیز از روش خاصی استفاده می کند که در این روش برای درخواست های متفاوت Thread جدید ایجاد میشود و درpool این Thread ها نیز نگهداری میشوند تا درخواستهای جدید از Thread های بیکار در Pool استفاده کنند.
#
معایب NGINX
اگرچه گفتیم که این وب سرور با بیشتر سیستم عاملها سازگار است. اما با این حال به نظر میرسد که مهمترین عیب انجین اکس این است که با سیستم عامل ویندوز، همچون لینوکس، سازگار نیست. به عبارت دیگر عملکرد آن در لینوکس به مراتب بهتر است. همچنین وب سرور انجیناکس، ماژولهای کمتری نسبت به رقیب خود دارد و انجمن پشتیبانی رقبای اصلی این وب سرور قوی تر از آن هستند .
-
1ماژولهای کمتری نسبت به اپاچی و iis دارد.
-
2روی ویندوز اصلا جالب نیست
-
3انجمن های پشتیبانی
به نسبت اپاچی و iis انجمن پشتیبانی اش ضعیفتر است
#
جمع بندی
nginx تقریبا از هر نظر ایدهآل است به خصوص در لینوکس و به خصوص در کاربرد برای وردپرس . این بدان معناست که بلافاصله پس از اجرا از مزایای آن بهرهمند خواهید شد. اگر یک مدیر سیستم هستید، نصب nginx کار عاقلانهای نیست. اما اگر قصد طراحی پروژهای را دارید و میخواهید وب سایت خود را میزبانی کنید یا آن را در جای دیگری قرار دهید، احتمال اینکه هاست شما روی nginx سریعتر کار کند بسیار زیاد است.
شرکتهای هاستینگ باکیفیت مانند WP Engine و Flywheel در حال حاضر روی nginx کار میکنند. اما اگر قصد دارید از خدمات یک شرکت میزبانی متفاوت استفاده کنید، تحقیقات خود را انجام دهید یا از یک پشتیبانی فنی سوال کنید که آیا فناوری وب سرور شامل nginx است یا خیر. من تضمین میکنم که اگر سرویس باکیفیتی باشد، قطعا nginx در بخشی از آن گنجانده شده است.