وب سرور Nginx یکی دیگر از وبسرورهای محبوب است که به دلیل قدرت و کارایی مناسبی که دارد، در لیست بهترین وبسرورها قرار گرفته شده است. اما اصلاً منظور از وبسرور چیست؟ اگرچه در مقاله «وب سرور چیست؟» به بررسی کامل این نوع سرور پرداختیم. اما اگر بخواهیم بررسی کوتاه و دقیقی از وبسرور داشته باشیم، باید گفت از نظر سختافزاری وبسرور، سروری است که نرمافزار و فایلهای وبسایت را نظیر اسناد html، تصاویر، پروندههای جاوا اسکریپت و… ذخیره میکند. وبسرور به اینترنت متصل شده و به درخواست کاربران جهت انتقال به صفحات مشخص، پاسخ میدهد. در این میان یکی از بهترین وبسرورها، وبسرور Nginx است که از سرعت و عملکرد فوقالعادهای برخوردار است.
درباره این وبسرور باید گفت وب سرور Nginx وبسروری متنباز است که ایده گسترش آن برای اولینبار در سال ۲۰۰۲ توسط شخصی روسی به نام lgor sysoev صورت گرفت. این وب سرور در سال ۲۰۰۴ به طور کامل منتشر شد که تا کنون توانسته حدود ۲۸ درصد از تمامی دامنهها را به خود اختصاص دهد. از آنجایی Nginx از تمامی سیستمعاملها پشتیبانی میکند، از طرفداران زیادی برخوردار است. ازجمله اصلیترین مزیت وبسرور Nginx میتوان به کمترین حد استفاده از حافظه و سرعت و کارایی بالای آن اشاره کرد. ناگفته نماند که از nginx میتوان بهعنوان پروکسی معکوس با وبسرور Apache نیز استفاده کرد تا همزمان از قدرت Apache و سرعت Nginx بهره برد. در ادامه بیشتر به بررسی این و وبسرور خواهیم پرداخت.
تاریخچه وب سرور Nginx
همانطور که اشاره کردیم، توسعه Nginx در سال ۲۰۰۲ آغاز شد. این وب سرور محبوب برای اولینبار در سال ۲۰۰۴ به طور کامل در دسترس قرار گرفت. رفته رفته Nginx عملکرد بهتری را از خود نشان داد که سرانجام در سال ۲۰۱۱ در شرکتی در سانفرانسیسکو کالیفرنیا تغییر شکل داد. عملکرد فوقالعادهای این وبسرور باعث شد تا در سال ۲۰۱۴، Nginx بهعنوان دومین وبسرور پرطرفدار شناخته شود. در این وب سرور از روش asynchronous event-driven استفاده میشود که میزان استفاده ثابت از حافظه RAM را به حداقل میرساند.
اصلی ترین کاربردهای وبسرور Nginx
اگر فراموش نکرده باشید اشاره کردیم که Nginx یکی دیگر از محبوبترین وبسرورها است که از عملکرد و کارایی فوقالعادهای برخوردار است. سرعت بالای این وبسرور باعث شده تا امروزه شرکتهای معتبری از این وبسرور برای مدیریت وبسایتشان استفاده کنند. کاربردهای متفاوت Nginx سبب شهرت بیشتر این وب سرور شده است. ازجمله اصلیترین کاربردهای این وبسرور عبارتاند از:
Proxy server
اولین کاربردی که میتوان از وبسرور Nginx نام برد، پراکسی سرور است. معمولاً پراکسی سرور را همه ماتحت عنوان فیلترشکن میشناسیم. اما پراکسی سرور چیست؟ برای پاسخ به این سؤال باید گفت: از آنجایی که کشور ما تحریم است، بسیاری از سایتها دسترسی کاربران ایرانی را محدود کرده، یا اینکه بنا به دلیلی خود ایران دسترسی به این سایت را برای افراد غیرممکن کرده است. برای گذر و دورزدن این محدودیت الزامی است که هویتمان را مخفی کنیم، و از آدرس آیپی کشور دیگری استفاده کنیم. پراکسی سرور این کار را بهراحتی برای ما انجام میدهد. پراکسی سرور دقیقاً بین درخواستهای ما و مقصد قرار گرفته میشود، بهطوریکه درخواست شما در ابتدا توسط پراکسی سرور دریافت میشود، سپس بعد از تغییر آیپی آدرس، به مقصد رسیده و فرایند دریافت پاسخ نیز به همین صورت انجام میشود. ناگفته نماند که به تمامی این مراحل forward proxy گفته میشود.
در کنار پراکسی سرور، پراکسی دیگری نیز تحت عنوان Reverse Proxy قرار دارد که از عملکردی متفاوت با پراکسی سرور برخوردار است. این پراکسی بهجای اینکه هویت کاربران را تغییر دهد، اقدام به مخفی کردن هویت سرور میکند. زمانی که شما از وبسرور Nginx استفاده میکنید، این وبسرور دقیقاً مانند یک Reverse Proxy عمل میکند بهطوری که در ابتدا دریافت کاربران را بررسی، سپس پاسخ مربوطه را برای کاربران ارسال میکند. این فرایند سبب میشود تا دسترسی هکران به سرور کاهش یافته و کسی به جز کاربران داخل سازمان به سرور اصلی دسترسی نداشته باشد.
Load Balancer چیست؟
یکی دیگر از کاربردهای وبسرور Nginx، ایفای نقش به عنوان یک Load Balancer است. Load Balancer تقسیم وظایف بین منابع مختلف را برعهده دارد. هدف نهایی از این کار، افزایش بهره وری از تواناییهای سیستم است. این قابلیت همانطور که از نامش پیداست، تعادل و نظمی بین منابع سیستم ایجاد میکند. برای بیان دقیقتر این موضوع فرض کنید بخشی از سیستم زیر بار فشار زیادی باشد، در اینجا Load Balancer وظایف و فشارها را به طور دقیق و منظمی در بین منابع مختلف تقسیم کرده و فشار زیادی را از روی یک منبع برمیدارد.
HTTP Caching چیست؟
اگر بخواهیم جوابی و ساده و کامل برای این سؤال ارائه دهیم، باید گفت کپی شدن صفحاتی که از یک محتوای ثابت برخوردارند را کشینگ میگویند. کشینگ تا حد زیادی سرعت بارگذاری صفحات را افزایش میدهد. بهطوری که به واسطه کشینگ، برای نمایش صفحات مشابه دیگر نیازی به بارگذاری مجدد نیست، چرا که از فایل کش صفحات موردنظر استفاده میشود. کشینگ یکی دیگر از کاربردهای وب سرور Nginx است که برای سایتهایی که از صفحات استاتیک برخوردارند بهترین گزینه است.
کاربردهای وبسرور Nginx به مواردی که شمردیم محدود نمیشود. این وبسرور قدرتمند از تواناییهای نرمافزاری مختلفی برخوردار است که ازجمله اصلیترین آنها عبارتاند از:
- قابلیت پشتیبانی کردن از پروتکل دودویی FastCGI به همراه کشینگ.
- قابلیت پشتیبانی کردن از نسخه پروتکل اینترنت (IPV6).
- قابلیت پشتیبانی توسط NGINX از پروتکل ارتباطی WebSockets.
- مدیریت و مرتب کردن فایل های ثابت.
تفاوت وب سرور Nginx با Apache
یکی از بزرگترین رقیبهای وبسرور Nginx، سرور Apache است که از عملکرد فوقالعادهای برخوردار است. وبسرور Apache درصد بیشتری از دامنهها را به خود اختصاص داده است چرا که از عملکرد بهتری نسبت Nginx برخوردار است. این وبسرور در سال ۱۹۹۵ منتشر و در کمترین زمان توانست نظر بزرگترین کمپانیها را جلب کند. در باره این وبسرور میتوان گفت تقریباً ۶۷ درصد از وبسایتها از وب سرور Apache استفاده میکنند که نسبت به دیگر وبسرورها درصدی فوقالعاده است. این وبسرور متن باز است به این معنی که دست شما را برای ادیتها و اصلاحات مختلف باز گذاشته است. اما برای آشنایی بیشتر شما در ادامه به بررسی اصلیترین ویژگیهای این وبسرور که وجه تمایز آن با Nginx نیز است، میپردازیم.
- وبسرور Apache متنباز است و میتوان به راحتی تغییرات دلخواه را در آن اعمال کرد.
- برای استفاده از این وبسرور، نیازی به هیچ گونه مجوز نیست.
- میتوانید ماژولهای مختلف و قابلیتهای گوناگون به دلیل متن باز بودن Apache ، به آن اضافه کنید.
- نصب آسان.
- تغییرات اعمال شده نیازی به ریستارت کردن سرور ندارند.
- Apache با تمامی سیستمعاملها سازگار است.
- عملکرد مناسبی دارد و از نظر امنیتی قابل اعتماد است.
چرا بهتر است Nginx و Apache را باهم اجرا کنیم؟
همانطور که اشاره کردیم، وبسرور Nginx و Apache دو سرور قدرتمند هستند که با یکدیگر در حال رقابتاند. اما واقعیت این است که علاوه بر رقابت تنگاتنگی که میان این دو وبسرور وجود دارد، Nginx و Apache مکمل یکدیگر نیز هستند. استفاده از هر دوی این وبسرورها میتواند نقاط ضعف را به طور کامل از بین ببرد. برای مثال، سرور Apache در قسمت حافظه دارای ضعف است که در عوض Nginx نگهداری و ذخیرهسازی فایلها عالی عمل میکند. بهطور کلی میتوان گفت ترکیب Apache و Nginx بهترین گزینه است. مثلاً از وبسرور Nginx برای static web server front و از Apache برای بکاند استفاده کنید.
مزیتهای وب سرور Nginx
اکنون که به طور کامل با وبسرور Nginx آشنا شدید، بد نیست بررسی اجمالی از مزیت های این وبسرور قدرتمند و محبوب داشته باشیم.
همانطور که اشاره کردیم، Nginx یکی دیگر از وبسرورهایی است که از سرعت و عملکرد فوقالعاده ای برخوردار است. این وبسرور بهگونهای طراحی شده است که از میزان رم کمتری استفاده میکند. Nginx از یک رویداد نا همزمان و رویداد محور برای پاسخ به درخواست کاربران استفاده میکند. معمولاً در وبسرورهای دیگر برای هر درخواستی که از طرف کاربران ارسال میشود یک پروسه جدید ایجاد میشود، اما در وبسرور Nginx برای جلوگیری از مصرف بیشتر حافظه رم، تعداد پروسهها در یک پروسه اصلی اجرا میشوند. در هنگام ایجاد تغییرات در لایههای شبکه، نیازی به راهاندازی مجدد Nginx نیست! این وبسرور یک تمایز بسیار عالی بین فرایندهای میزبانی شده و لایه شبکه ایجاد میکند. به طوری که شما میتوانید هر تغییراتی که میخواهید را در لایه شبکه ایجاد بدون نیاز به راهاندازی مجدد و تداخل در میزبانی فرایندها، پیکربندی کنید.
جمع بندی
همانطور که مطالعه کردید، در این مقاله سعی کردیم تا بهترین پاسخ را برای سؤال «وب سرور Nginx چیست؟» ارائه دهیم. در این مقاله یاد گرفتیم که Nginx یکی دیگر از وبسرورهای قدرتمند است که تقریباً ۲۸ درصد از وبسایتها را به خود اختصاص داده است. بزرگترین رقیب این وب سرور، وب سرور Apache است که ۶۷ درصد وبسایت را نصیب خود کرده است. اجرای هم زمان این وبسرور میتواند گزینه بسیار خوبی برای رفع نقاط ضعف هر یک از آنها باشد. وبسرور Nginx علاوه بر سرعت بالایی که دارد، از حافظه رم کمتری نیز نسبت به دیگر وبسرورها استفاده میکند که همه این ویژگیها و مزیتها باعث شده تا شهرت و محبوبیت این وبسرور روز به روز افزایش پیدا کند.
بدون دیدگاه