تا بحال با بسیاری از وب سایتها که از وب سرور Nginx استفاده می کنند روربرو شدهایم. حال ممکن است این سوال برایمان پیش بیاید که Nginx چیست ؟ وب سرور Nginx یک وب سرور متن باز با لایسنس bsd است این وب سرور خیلی سریع و قدرتمند است که تلفظ صحیح آن engine x است. پروژه Nginx در سال 2001 توسط ایگور سیسوف شروع به کار کرد و به مرحله اجرا درآمد. این پروژه برای موتور جستجوی روسی به اسم Rambler طراحی شده بود که Nginx برای این وب سایت در سال سپتامبر 2008 روزانه بیش از ۵۰۰ میلیون درخواست را هندل میکرد. وب سرور Nginx یکی از انعطاف پذیرترین وب سرور های جهان است و کانفیگ آن را میتوانید با توجه به نیازهای خود بر روی سرور مجازی انجام دهید.
در یک پاسخ ساده دیگر به سوال NGINX چیست؟ میتوان گفت که NGINX یک وب سرور متن باز است که کاربریهای متفاوتی دارد. برای مثال از انجیناکس علاوه بر سرویس دهنده وب، به عنوان پروکسی معکوس، سیستم کش و شبکه رسانه ای نیز استفاده میشود. انجیناکس همچنین میتواند به عنوان یک پروکسی سرور برای سرویسهای ایمیل نیز عمل کند. در ادامه با ما در مجله تخصص مبین هاست همراه باشید تا دقیقتر بدانید که NGINX چیست و چه کاربرد و مزایایی دارد. میتوانید این وب سرور را به راحتی برروی سرورمجازی خود نصب کنید و از امکانات آن بهرمند شوید.
وب سرور انجین ایکس چیست؟
همانطور که در قسمت مقدمه نیز اشاره شد، انجیناکس یک نرم افزار و وب سرور متن باز است که در میان دیگر وب سرورها، 12 درصد سهم محبوبیت را از آن خود کرده است. یکی از مهمترین مزیتهای وب سرور NGINX متن باز (OPEN SOURCE) بودن آن است. همین موضوع باعث شده تا این وب سرور امکانات زیادی به کاربران ارائه داده و آن را به دومین وب سرور پرطرفدار در جهان بدل کند.
اگر از یک متخصص بپرسید که کاربردهای وب سرور NGINX چیست؟ قطعاً در کنار همه مواردی که گفته شد به “LOAD BALANCING” نیز اشاره خواهد کرد. لازم به ذکر است که وب سرور NGINX قابل اجرا روی سیستم عاملهایی نظیر OSX،LINUX،ALX و غیره است.
NGINX برای چه سایتهایی مناسب است؟
تا به اینجای کار یک پاسخ کلی به سوال NGINX چیست؟ ارائه دادیم. اما سوال بعدی این است که وب سرور انجین اکس برای چه سایتهایی کاربرد دارد؟ اگر در حال آموزش NGINX باشید، بی شک میدانید که این وب سرور برای وب سایتهایی که بازدید لحظه ای بالایی دارند، کاربرد دارد.
بنابراین انجیناکس برای وب سایتهای پرترافیک مناسب است. همین مورد موجب شده تا وب سایت و شرکتهای معروفی همچون AUTODESK ،INTUIT ،GITLA ،MICROSOFT ،IBM ،GOOGLE ، ADOBE ،SALESFORCE ،LINKEDIN از آن استفاده کنند.
کاربردهای NGINX چیست؟
وب سرور متن باز انجیناکس کاربردهای مختلفی دارد. همین کاربردها موجب محبوبیت بالای این وب سرور در میان دیگر رقیبان شده است. به طور کل از این نرم افزار میتوان به عنوان سرویس دهنده وب یاد کرد.
اما این نرم افزار متن باز قابلیتها و کاربردهای دیگری نیز دارد. برای مثال مهمترین قابلیتهای انجین اکس عبارتند از:
- پشتیبانی از هزاران اتصال به صورت همزمان
- عدم استفاده بیش از حد از منابع
- پشتیبانی از SSL/TLS
- قابلیت فشرده سازی
- امکان بازنویسی URL
- سازگاری با IPV7
- متن باز بودن
- استفاده بسیار پایین از منابع سرور به دلیل حجم کم
- رایگان بودن
- API پیکربندی HTTP
- پشتیبانی از Load Balancing
- مدیریت محتوای استاتیک
همچنین اشاره کردیم که این وب سرور متن باز بوده و برای سیستم عاملهای مختلفی نظیر OSX،LINUX،ALX و غیره مناسب است. این وب سرور از پراستفاده ترین سرویسدهندههای وب است که وب سایتهای زیادی از آن استفاده میکنند.
تفاوت وب سرور NGINX و آپاچی
مهمترین تفاوت آپاچی و وب سرور NGINX چیست؟ میدانید که وب سرور APACHE محبوبترین وب سرور در جهان است که در رتبه یک قرار دارد و بعد از آن انجیناکس در رتبه دوم است. اما تفاوت این دو وب سرور بیشتر در این مورد است که انجین اکس بیشتر برای سایتهای پربازدید کاربرد دارد.
در حالی که وب سرور آپاچی، یک وب سرور اختصاصی پروتکل HTTP است. همچنین دیگر تفاوت وب سرور انجیناکس و آپاچی در نحوه مدیریت درخواستها است.
آپاچی برای مدیریت درخواست کاربران از ماژولهای MULTIPROCESSING استفاده میکند. این در حالی است که وب سرور NGINX با کمترین منابع، بهترین سرویسهای PARALLEL PROCESSING را به کاربران خود ارائه میدهد تا بتوانند یک وب سایت پرسرعت با ترافیک بالا ارائه دهند.
نحوه تشخیص اجرای وب سرور NGINX و APACHE
برای تشخیص این که روی یک سایت وب سرور وب سرور NGINX اجرا شده است یا APACHE کافی است روی مرورگر خود یک اکستنشن یا پلاگین رایگان نصب کنید.
این پلاگین WAPPALYZER نام دارد.
بعد از نصب و راه اندازی این اکستنشن آدرس سایت مورد نظر خود را در مرورگر تایپ کنید و کمی منتظر بمانید تا این پلاگین اطلاعات مورد نیاز خود را از روی سایت برداشت کند.
میتوانید در بخش web Servers این اکستنشن ببینید که سایت مورد نظر شما از کدام یک از وب سرورها اعم از انجین اکس یا آپاچی استفاده میکند.
امکانات Nginx
برای اینکه بهتر درک کنید که Nginx چیست؟ باید با امکانات آن بیشتر آشنا شوید.
از Ngnix به عنوان وب سرور و همچنین به عنوان پروکسی معکوس پروتکل های HTTP , HTTPS , SMTP , POP3 و IMAP میتوان استفاده کرد. و همچنین از آن به عنوان لود بالانسر فوق قوی و پایدار نیز میتوان اشاره کرد.
دقت داشته باشید مستندات Nginx بسیار کامل است و میتوانید هنگام کانفیگ Ngnix برروی وی پی اس خود با توجه به نیازهای خود از آن استفاده کنید. وب سرور Nginx برای مدیریت connection برای هر درخواست یک Thread انحصاری ایجاد میکند. و همچنین سیستم Thread Poll هم به مدیریت و نوبت دهی زمانی Thread ها می پردازد.
به این شکل هرگاه که درخواست جدیدی برقرار نشده بود وب سرور درخواست ها را در نوبت ارائه می کند. این روش استفاده از Thread ها در وب سرور Nginx بسیار کارامد است.
چرا از NGINX استفاده کنیم؟
در دورههای آموزش NGINX به تفاوت و مزیتهای دو وب سرور معروف، اشاره میشود. اما همواره یک چالش برای افراد باقی است. این که چرا به جای آپاچی، از NGINX استفاده کنیم؟ اگرچه تاکنون با مزیتهای این وب سرور آشنا شده اید، اما بار دیگر دلیل انتخاب این وب سرور را شرح میدهیم.
کانفیگ ساده
یکی از مهمترین دلایل بهتر بودن انجیناکس، کانفیگ سادهتر آن است. این موضوع بهینهسازی آن را ساده تر میکند. فایل کانفیگ در انجین اکس، شامل بلاکهای متفاوتی نظیر SIMPLE DIRECTIVE و BLOCK DIRECTIVE است که هر بخش کار مخصوص خود را انجام میدهد.
کشینگ
وب سرور انجیناکس از MULTI THREAD و یا PROCESS-ORIENTED استفاده میکند. بنابراین فعالیتهای آن بر اساس منابع موجود کنترل میشود. این یعنی انعطاف پذیری بالاتری نسبت به آپاچی دارد.
نکته بعدی این که NGINX از پروسه MASTER که زیرمجموعه آن چندین WORKER و HELPER پروسهها هستند، بهره گرفته است. هر WORKER پروسه بهطور همزمان میتواند چندین هزار درخواست را پاسخ دهد. همین مورد موجب میشود تا پاسخ انجین اکس به درخواست کاربران (حتی اگر میلیونها درخواست لحظه ای باشد) بهتر باشد.
گفتیم که این وب سرور، به عنوان پراکسی معکوس، سیستم کش نیز مورد استفاده قرار میگیرد و برعکس آپاچی نیاز به نصب کش جداگانه ندارد.
عملکرد خوب به عنوان FRONTEND PROXY
از دیگر تفاوتهای مهم NGINX و آپاچی در پروکسی است. انجیناکس به طور کلی عملکردی عالی در پروکسی سرور دارد. عملکرد پروکسی به این صورت است که درخواست کاربر به صورت HTTP دریافت شده و از طریق پروکسی و پروتکلهای متفاوت به سرورهای بالاتر، ارجاع میشود. سپس پاسخ برای کاربر ارسال میشود.
پاسخگویی بهتر به درخواستهای استاتیک
فایلهای CSS,JAVASCRIPT و عکسها در واقع محتوای استاتیک هستند. منظور از استاتیک این است که در هر بار لود، محتوا بدون هیچ تغییری بارگذاری میشود. وب سرور انجین اکس و NODEJS به طورکلی سازگاری بهتری با این محتواها دارند. اگر یک وب سایت، محتوای داینامیک نیز داشته باشد، انجین اکس، این محتوا را به وب سرور دوم ارجاع میدهد و در نتیجه قدرت پاسخ دهی به شدت افزایش مییابد.
لود بالانسینگ
لود بالانسینگ یکی از کاربردهای ویژه وب سرور انجیناکس است. این قابلیت، با پخش ترافیک روی سرورهای دیگر، خصوصاً در ساعات پر ترافیک، موجب افزایش سرعت و بهره وری سرور میشود. با نصب انجین اکس روی سرور اختصاصی، از جمله سرور اختصاصی ایران میتوان از این قابلیت NGINX بهره برد.
مزایای انجیناکس
در پاسخ به سوال NGINX چیست؟ حتماً با مزیتهای این وب سرور آشنا شده اید. اما بد نیست تا اینجا یک مرور کلی نیز به مزایا ان جین اکس داشته باشیم. از مهمترین مزایا این وب سرور عبارتند از:
- پشتیبانی از سیستم عاملهای مختلف
- متن باز است
- منابع کمتری مصرف میکند
- پشتیبانی بهتر از محتواهای استاتیک
- قابلیت LOAD BALANCING
- مدیریت بیش از دههزار اتصال بهشکل همزمان و غیره.
معایب وب سرور انجیناکس
اگرچه گفتیم که این وب سرور با بیشتر سیستم عاملها سازگار است. اما با این حال به نظر میرسد که مهمترین عیب انجین اکس این است که با سیستم عامل ویندوز، همچون لینوکس، سازگار نیست. به عبارت دیگر عملکرد آن در لینوکس به مراتب بهتر است. همچنین وب سرور انجیناکس، ماژولهای کمتری نسبت به رقیب خود دارد.
چه شرکتی هایی از Nginx استفاده میکنند؟
بیش از 75 هزار کمپانی در سایت Siftery ثبت شده اند که از وب سرور Nginx استفاده میکنند از این لیست میتوان به شرکتهای زیر توجه کرد :
Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Siemens, AT&T, PayPal, Vodafones, Nike, EMC, SAP, Yahoo!, Apple, Intel, eBay, JP Morgan chase, Oracle, Airbnb, Groupon, Uber, HubSpot, Spotify, Electronic Arts (EA), Yelp and …
آیا میتوان NGINX و آپاچی را روی یک سرور اجرا کرد؟
به صورت کلی پاسخ به این سوال منفی است. در واقع معمولاً لزومی ندارد که روی یک سرور از دو وب سرور استفاده شود. اما میتوان از وب سرور آپاچی روی یک سرور به عنوان وب سرور اصلی بهره برد و NGINX را به عنوان ابزاری برای پروکسی یا لود بلنسر در کنار آن قرار داد. در واقع آپاچی میتواند فقط نقش وب سرور را داشته باشد اما انجیناکس قابلیت انجام وظایف دیگری را هم دارد.
شما این حق انتخاب را دارید تا بدانید که مزیتهای NGINX چیست؟ و یا آپاچی چه برتریهایی دارد، سپس وب سرور نهایی را انتخاب کنید.
بسیاری از شرکتهای معتبر برای کانفیگ سرور مجازی از وب سرور انجیناکس و در مواقعی از آپاچی استفاده میکنند. بسته به این که کنترل پنل سرور چه باشد، نصب NGINX در دایرکت ادمین و یا نصب NGINX در سی پنل انجام میشود.
البته اگر قصد داشته باشید از سرور LAMP آپاچی به یک سرور مبتنی بر آپاچی و انجیناکس تغییر وضعیت دهید، نیاز خواهید داشت تا با نصب NGINX در کنار آپاچی در دایرکت ادمین آشنا باشید تا بتوانید مشکلات فنی احتمالی را مرتفع کنید.
تفاوت NGINX و NGINX PLUS چه چیزی است؟
تفاوت انجین اکس پلاس با NGINX چیست؟ این سوال مهمی است که لازم میدانیم در پایان به آن اشاره کنیم. وب سرور NGINX PLUS نسخه تجاری انجین اکس است. همانطور که انتظار میرود مزیتهای بیشتری داشته و با سیستم عاملهای بیشتری سازگار است. از مهمترین مزیتهای NGINX PLUS میتوان به موارد زیر اشاره کرد:
- ماندگاری SESSION ها برای اطمینان از هدایت به سرور بالا دستی
- بررسی سلامت لحظهای سرور برای جلوگیری از ارسال درخواست به سرورهای دچار مشکل
- پایش سرویسها با استفاده از DNS
- لود بالانسر با ویژگیهای کامل
- کنترل بیشتر بر CACHE
- SIGN IN تک مرحلهای
- ماژول پویای WAF
- کنترل پهنای باند برای پخش فایلهای MP4 و غیره
سخن آخر
در این مطلب سعی کردیم تا شما را به صورت کامل و جامع با مفهوم وب سرور NGINX آشنا کنیم و پاسخ سوالات احتمالی شما در خصوص مزیت، کاربرد و تفاوتهای این وب سرور با آپاچی را بدهیم. امیدواریم که مطالعه مطلب NGINX چیست؟ برای شما مفید بوده باشد.