نحوه ترکیب nginx با apache

زمان مطالعه: 6 دقیقه
انتشار :
۱۴۰۰-۰۸-۰۵

آموزش ترکیب nginx با apache : وب سرور Nginx درکنار حجم کمی که دارد امکانات و کارایی بسیار خوبی دارد. وب سرور Nginx نوین هاست تحت لایسنس BSD و از سال ۲۰۰۷ در سطح وب به صورت گسترده منتشر شده است. از بزرگترین مزیت های وب سرور Nginx پشتیبانی بسیار عالی از فایل های استاتیک مانند تصاویر هست.

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

وب سرور Nginx سرعت پاسخگویی بسیار بالایی دارد و در سایت های پر بازدید بسیار عالی عمل می کند. از جمله قابلیت های وب سرور Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx بسیار کامل است و انجمن Nginx هم بسیار پویا می باشد. از این رو همواره در حال به روز رسانی و پیشرفت می باشد.


ترکیب nginx با apache

وب سرور Nginx برای مدیریت در خواست ها یا همان connection ها از روش منحصر به فرد خودش استفاده می کند.، البته امروزه این روش در برخی وب سرور های دیگر هم استفاده می شود.

در وب سرور Nginx برای هر درخواست یک Thread انحصاری ایجاد خواد شد. ضمنا سیستم Thread Poll هم به مدیریت و نوبت دهی زمانی Thread ها می پردازد. به این ترتیب مادامی که درخواست جدیدی نیامده است. وب سرور درخواست های در نوبت را ارائه می کند. این روش استفاده از Thread ها در وب سرور Nginx بسیار کارامد است. به طور کلی مدیریت باز و بسته شدن Thread ها در وب سرور هایی مثل Apache بزرگترین نقطه ضعف آنها می باشد. ترتیبی عمل کردن در این وب سرور ها باعث می گردد زمان زیادی از دست برود. در حالی که سرور امکان پردازش در اون زمان را داشته است اما منتظر رسیدن درخواست بعدی مانده است.

آپدیت ها و به روز رسانی وب سرورها همواره با مشکلاتی همراه است که در خروجی چیزی جز داون تایم برای سرورها و نارضایتی مشتریان را به دنبال ندارد.، اما در مورد وب سرور Ngnix به روز رسانی به نسخه جدید تر به صورت On The Fly می باشد. و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشد بسیار ارزشمند است.

ترکیب nginx با apache

تفاوت های Apache با Ngnix

در یک تفسیر ساده Apache یک وب سرور Process-Based در حالی که Nginx یک وب سرور Event-Based بهمین دلیل Nginx سریعتر از Apache است. روشن است. به این ترتیب به ازای درخواست های HTTP مشابه وب سرور Ngnix حافظه رم کمتری مصرف می کند. از طرفی دیگر Apache نظر به عمر طولانی تر دارای امکانات و قابلیت های بیشتری نسبت به Nginx می باشد. یکی از امتیازات برتری Apache به وب سرور Ngnix همان مدیریت دسترسی به کمک فایل htaccess می باشد که شامل انواع Mod ها جهت Redirect، Rwrite، cache و … می باشد.

وب سرور Ngnix در قیاس با LightSpeed

بر خلاف ادعا شرکت LiteSpeed که وب سرور آن تا ۴۰ برابر سریعتر از Apache و حداقل ۲۰ برابر سریعتر از Ngnix است، تجربه ثابت کرده است با وجود ۶ سال سابقه بیشتر به نسبت Ngnix اما هنوز LightSpeed موفق نشده است به جایگاه Ngnix دست پیدا کند و از نظر ظرفیت هر چند شاید در تست ها سریعتر باشد. اما در زیر فشار بازدید بالا به هیچ وجه پایداری Ngnix را نداشته و خیلی زود شاهد کاهش توان آن هستیم. مهاجرین LightSpeed به وب سرور Ngnix آنقدر بزرگ و زیاد هستند که خود گویای همه چیز می باشد. ویکی پدیا، فیسبوک به عنوان نمونه ای از وب سایت هایی هستند که همواره جزو ۱۰ سایت پر ترافیک جهان می باشند، و به وب سرور Ngnix اعتماد کرده اند.

آموزش ترکیب Ngnix با Apache

در ترکیب nginx با apache بی تردید بسیاری از اسکریپت ها و وب سایت ها، جز با Apache کمی در اجرا با مشکل روبرو هستند، بسیاری از وبمسترها قابلیت هایی که به کمک htaccess نصیبشان می شود را به کمی سریعتر لود شدن تصاویر سایتشان می پسندند. از این رو کنار گذاشتن وب سرور Apache در هاست های اشتراکی کاری نادرست می باشد. که موجبات نا رضایتی و محدودیت در سرویس دهی می شود.

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

کدباکس، در هاست اشتراکی خود از وب سرور Ngnix به عنوان قدرتمندترین وب سرور حاضر، در کنار Apache به عنوان محبوب ترین وب سرور جهان بهره می برد. طبق آزمون ها پس از کانفیگ کامل این ترکیب بر روی هاست اشتراکی ما شاهد حدود ۳۰۰% افزایش سرعت پاسخدهی سرور به درخواست های همزمان بوده ایم و این یعنی ظرفیت ۳ برابری پاسخدهی. در عین حال استفاده کامل از Ngnix برای هندل داده های استاتیک و کش شده سرور نیز با تنظیمات خاص اعمال شد که در نتیجه موجب کاهش ۶۰% منابع مصرفی سرور شده است که روشن است منابع آزاد سرور در رزرو پردازش های سنگین تر می باشد.

ویزگی ها و امکانات

وب سرور Nginx سرعت پاسخگویی بسیار بالایی دارد و در سایت های پر بازدید بسیار عالی عمل می کند. از جمله قابلیت های وب سرور Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx بسیار کامل است و انجمن Nginx هم بسیار پویا می باشد. از این رو همواره در حال به روز رسانی و پیشرفت می باشد.

وب سرور Nginx برای مدیریت در خواست ها یا همان connection ها از روش منحصر به فرد خودش استفاده می کند.  البته امروزه این روش در برخی وب سرور های دیگر هم استفاده می شود.

در ترکیب nginx با apache وب سرور Nginx برای هر درخواست یک Thread انحصاری ایجاد خواد شد. ضمنا سیستم Thread Poll هم به مدیریت و نوبت دهی زمانی Thread ها می پردازد. به این ترتیب مادامی که درخواست جدیدی نیامده است. وب سرور درخواست های در نوبت را ارائه می کند. این روش استفاده از Thread ها در وب سرور Nginx بسیار کارامد است. به طور کلی مدیریت باز و بسته شدن Thread ها در وب سرور هایی مثل Apache بزرگترین نقطه ضعف آنها می باشد. ترتیبی عمل کردن در این وب سرور ها باعث می گردد زمان زیادی از دست برود در حالی که سرور امکان پردازش در اون زمان را داشته است اما منتظر رسیدن درخواست بعدی مانده است.

آپدیت ها و به روز رسانی وب سرورها همواره با مشکلاتی همراه است. که در خروجی چیزی جز داون تایم برای سرورها و نارضایتی مشتریان را به دنبال ندارد، اما در مورد وب سرور Ngnix به روز رسانی به نسخه جدید تر به صورت On The Fly می باشد. و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشد بسیار ارزشمند است.

ترکیبnginx با apach

تفاوت های Apache با Ngnix

در یک تفسیر ساده Apache یک وب سرور Process-Based در حالی که Nginx یک وب سرور Event-Based بهمین دلیل Nginx سریعتر از Apache است. روشن است به این ترتیب به ازای درخواست های HTTP مشابه وب سرور Ngnix حافظه رم کمتری مصرف می کند. از طرفی دیگر Apache نظر به عمر طولانی تر دارای امکانات و قابلیت های بیشتری نسبت به Nginx می باشد. یکی از امتیازات برتری Apache به وب سرور Ngnix همان مدیریت دسترسی به کمک فایل htaccess می باشد. که شامل انواع Mod ها جهت Redirect، Rwrite، cache و … می باشد.

وب سرور Ngnix در قیاس با LightSpeed

بر خلاف ادعا شرکت LiteSpeed که وب سرور آن تا ۴۰ برابر سریعتر از Apache و حداقل ۲۰ برابر سریعتر از Ngnix است، تجربه ثابت کرده است  nv ترکیب nginx با apache با وجود ۶ سال سابقه بیشتر به نسبت Ngnix اما هنوز LightSpeed موفق نشده است به جایگاه Ngnix دست پیدا کند و از نظر ظرفیت هر چند شاید در تست ها سریعتر باشد. اما در زیر فشار بازدید بالا به هیچ وجه پایداری Ngnix را نداشته و خیلی زود شاهد کاهش توان آن هستیم. مهاجرین LightSpeed به وب سرور Ngnix آنقدر بزرگ و زیاد هستند که خود گویای همه چیز می باشد، ویکی پدیا، فیسبوک به عنوان نمونه ای از وب سایت هایی هستند که همواره جزو ۱۰ سایت پر ترافیک جهان می باشند، و به وب سرور Ngnix اعتماد کرده اند.

ترکیب Ngnix با Apache

بی تردید nv ترکیب nginx با apache بسیاری از اسکریپت ها و وب سایت ها. جز با Apache کمی در اجرا با مشکل روبرو هستند، بسیاری از وبمسترها قابلیت هایی که به کمک htaccess نصیبشان می شود را به کمی سریعتر لود شدن تصایر سایتشان می پسندند. از این رو کنار گذاشتن وب سرور Apache در هاست اشتراکی کاری نادرست می باشد که موجبات نارضایتی و محدودیت در سرویس دهی می شود.

کدباکس، در خرید هاست اشتراکی خود از وب سرور Ngnix به عنوان قدرتمندترین وب سرور حاضر. در کنار Apache به عنوان محبوب ترین وب سرور جهان بهره می برد. طبق آزمون ها پس از کانفیگ کامل این ترکیب بر روی هاست اشتراکی ما شاهد حدود ۳۰۰% افزایش سرعت پاسخ دهی سرور به درخواست های همزمان بوده ایم. و این یعنی ظرفیت ۳ برابری پاسخدهی. در عین حال استفاده کامل از Ngnix برای هندل داده های استاتیک و کش شده سرور نیز با تنظیمات خاص اعمال شد. که در نتیجه موجب کاهش ۶۰% منابع مصرفی سرور مجازی شده است که روشن است منابع آزاد سرور در رزرو پردازش های سنگین تر می باشد.

بازخوردها
مقالات مرتبط
گیم فیشینگ چیست؟
گیمیفیکیشن چیست و چه تاثیری بر کسب و کارها دارد؟
یکی از نوین‌ترین روش‌ها برای برقراری ارتباط با مشتریان و یا مخاطبان، استفاده از روش‌های گیمیفیکیشن Gamification است.…
زمان مطالعه: 5 دقیقه
انواع سیستم عامل چیست ؟
سیستم عامل چیست؟ (معرفی انواع سیستم عامل)
بدون شک تمامی افرادی که با سیستم‌ها و تجهیزات کامپیوتری در ارتباط هستند، نام سیستم‌عامل را شنیدند و…
زمان مطالعه: 4 دقیقه