Solina

کاربر انجمن پارسه دو
کاربر انجمن پارسه
وب سرور NGINX و ترکیب آن با وب سرور Apache
وب سرور

وب سرور Nginx با وجود حجم کم اما در عین حال کارایی بسیار بالایی دارد. وب سرور Nginx تحت لایسنس BSD و از سال 2007 در سطح وب به صورت گسترده منتشر شده است.از بزرگترین مزیتهای وب سرور Nginx پشتیبانی بسیار عالی از فایل های استاتیک مانند تصاویر هست.
Apache یا NGINX

در سال های بین ۱۹۹۰ تا ۲۰۱۱ وب سرور Apache تقریبا ۶۰ درصد وب سایت ها را میزبانی میکرد. اما امروزه با روی کار آمدن وب سرور NGINX این مقدار به ۴۵ درصد تقلیل یافته است که حتی همچنان این آمار در حال کاهش میباشد. در این میان وب سرور IIS مایکروسافت نیز همیشه بین رقیبان حضور داشته است و روندی نسبتا ثابت، پایدار و قابل قبولی را داشته است.


وب سرور Ngnix در یک نگاه

وب سرور Nginx سرعت پاسخگویی بسیار بالایی دارد و در سایت های پر بازدید بسیار عالی عمل می کند. از جمله قابلیت های وب سرور Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx بسیار کامل است و انجمن Nginx هم بسیار پویا می باشد، از این رو همواره در حال به روز رسانی و پیشرفت می باشد.
وب سرور Nginx برای مدیریت در خواست ها یا همان connection ها از روش منحصر به فرد خودش استفاده می کند، البته امروزه این روش در برخی وب سرور های دیگر هم استفاده می شود.
در وب سرور Nginx برای هر درخواست یک Thread انحصاری ایجاد خواد شد. ضمنا سیستم Thread Poll هم به مدیریت و نوبت دهی زمانی Thread ها می پردازد. به این ترتیب مادامی که درخواست جدیدی نیامده است وب سرور درخواست های در نوبت را ارائه می کند. این روش استفاده از Thread ها در وب سرور Nginx بسیار کارامد است. به طور کلی مدیریت باز و بسته شدن Thread ها در وب سرور هایی مثل Apache بزرگترین نقطه ضعف آنها می باشد. ترتیبی عمل کردن در این وب سرور ها باعث می گردد زمان زیادی از دست برود در حالی که سرور امکان پردازش در اون زمان را داشته است اما منتظر رسیدن درخواست بعدی مانده است.
آپدیت ها و به روز رسانی وب سرورها همواره با مشکلاتی همراه است که در خروجی چیزی جز داون تایم برای سرورها و نارضایتی مشتریان را به دنبال ندارد، اما در مورد وب سرور Ngnix به روز رسانی به نسخه جدید تر به صورت On The Fly می باشد و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشد بسیار ارزشمند است.​
استفاده از NGINX و Apache با هم

بالاتر گفتیم که NGINX یک Load Balancer بسیار قدرتمند است که می تواند با انواع وب سرور ها ترکیب شود و وظیفه بالانس لود را بر عهده گیرد. بنابراین می توانیم Apache و NGINX را کنار هم استفاده کنیم. یکی از بهترین رویکرد ها برای وب سرور ها قرار دادن NGINX در جلوی Apache و استفاده از آن به عنوان reverse proxy است. در این صورت درخواست های ایستا (static) که به سرور ارسال می شوند را NGINX پردازش می کند و در مقابل درخواست های Dynamic (پویا) از طرف NGINX به Apache ارسال می شوند و بعد از پردازش به وسیله Apache به NGINX بر می گردند و NGINX نیز نتیجه را به کاربر می دهد (در قسمت قبلی آموزش دیدیم که پردازش درخواست های Dynamic این دو وب سرور تفاوت چندانی با هم نداشت).


این رویکرد برای صاحبان وب سایت هایی مناسب است که می خواهند برخی از درخواست ها به Apache را از طریق NGINX پاسخ دهند و در مقابل از قابلیت های متعدد Apache استفاده کنند.


 
آخرین ویرایش توسط مدیر:
عقب
بالا