مقایسه وب سرور Apache و Nginx

سلام به همه کاربران عزیز جزیره لینوکس و متن باز وب سایت توسینسو ، امروز میخایم دو تا وب سرور مشهور و قدرتمند در دنیا رو با هم مقایسه کنیم ، یکیش آشنای همه ماست که آپاچی هست که وقتی من 9 سالم بود تازه به دنیا معرفی شد و دیگری اسمش هست Nginx که یه جورایی معرفی شد تا اینکه یه سری اشکالات آپاچی رو بگیره و قدرتش رو با همین عنوان به دست آورد . Nginx که مثل موتور Engine X تلفظ میشه به همراه آپاچی تقریبا بیشتر دنیای وب سرویس در دنیا رو به خودشون اختصاص دادن و الان می تونیم بگیم بیشتر از 50 درصد از وب سرویس های دنیا از یکی از این دو تا سرویس استفاده میکنن. هر دوی این وب سرورها Open Source هستن و هر دو هم یک سری اهداف مشترک دارند ، هر دو بر روی سیستم عامل لینوکس و محیط های مختلف قابل اجرا هستند و هر دوشون ماژولار و فوق العاده قدرتمند هستند . اما خوب Nginx یه مقدار برای دوستانی که تازه وارد دنیای لینوکس شدن ممکنه جای تعجب داشته باشه که حالا ما که آپاچی داریم چه نیازی به یک وب سرور دیگه داریم ؟ اگه بخام توی یک جمله تفاوت این دو سرویس رو بگم حتما به این موضوع اشاره می کنم که اساسا Nginx برای ترافیک های وب بسیار سنگین طراحی شده و ذاتا برای سبک بودن و سرعت سرویس دهی بهینه سازی شده و در مقابل آپاچی قدرتش توی تعداد ماژول ها و البته به نسبت Nginx سنگینتر بودنش هست . در ادامه هر کدوم رو بصورت جداگونه معرفی می کنیم .

مقایسه وب سرور آپاچی و انجینیکس


آپاچی یا Apache چیست ؟


آپاچی که یک وب سرور مختص پروتکل HTTP هست ، بصورت Open Source ارائه شده و برای به قول متخصصین High Performance بودن یا کارایی بالا مورد استفاده قرار می گیره ، پشتوانه آپاچی یا همون اسپانسرهاش بنیاد نرم افزاری آپاچی در دنیا هست . آپاچی اونقدر ماژول و پلاگین مختلف داره که تقریبا هر کاری که در حوزه وب بخایم رو می تونه برامون انجام بده ! با معرفی شدن و رشد آپاچی تقریبا هر چیزی در استانداردهای HTTP ممکن شد ! آپاچی توسط بنیاد Open Source و برنامه نویس هایی که در Community اش وجود دارن هر سال داره بیشتر رشد می کنه و کلی برنامه نویس از سال 1995 دارن بصورت داوطلبانه توسعش می دن . اپاچی رهبر بی رقیب حوزه وب سرورها در دنیا هست و در این شکی نیست که قدرتمندتر از آپاچی فعلا وب سروری نداریم . در سال 2010 بیشتر از 120 میلیون وب سایت در دنیا از وب سرور آپاچی استفاده می کردن که این آمار بصورت میلیونی در حال رشد هست ! آپاچی به خاطر پشتیبانی از چندین پلتفرم مختلف بین مدیرهای سرور خیلی محبوب هست و می تونه روی لینوکس ، ویندوز یونیکس و حتی OSX هم اجرا بشه ! اگه Netware رو جزو سیستم عامل هنوز بدونیم روی اون هم قابل اجرا هست ! آپاچی براحتی می تونه با تکنولوژی های مختلف هماهنگ بشه و معماری ساده و قابل انعطافی داره ! از آپاچی می تونیم به عنوان ستون فقرات وب اسم ببریم ، اما فراموش نکنیم که قدرت زیادی همیشه هم خوب نیست ! آپاچی یک تانک همه منظوره جنگی هست که همه چیزهایی که یک ارتش کامل نیاز داره رو با خودش روی سیستم شما نصب می کنه و آماده به کار میشه برای یک حمله اساسی .

مقایسه وب سرور آپاچی و انجینیکس


انجینکس یا Nginx چیست ؟


خوب گفتیم که آپاچی یک تانک هست درسته ؟ اما آیا برای کشتن پشه باید از تانک استفاده کنیم ؟ جوابش قطعا خیر هست . در واقع آپاچی اونقدر بزرگ شده بود که از یه سری چیزها غافل شد ! از یکی از چیزهایی که به نظر نمیاد مشکل باشه ولی در عمل مشکل ساز هست ! آپاچی همه چیز داره ! اما از همه چیزش استفاده نمیشه ! یعنی از 100 قابلیتی که داره ممکنه 10 تاش کاربردی باشه و این نصب 90 قابلیت بلااستفاده توی این وب سرور مشکل ساز شد براش تا اینکه NginX اومد و این مشکل رو حل کردن و خودش رو به بازار ارائه داد . در واقع Nginx از زمانی گل کرد و معرفی شد که مشکلی در آپاچی رو حل کرد که خیلی ها درگیرش بودن و اون پردازش همزمان تعداد درخواست های حجیم وب بود ! NginX رو می تونیم بگیم اولین رقیب درست و درمون آپاچی بوده که موفق شد در دنیا حرفی برای زدن داشته باشه. از NginX به عنوان وب سرور مدرن یاد میشه ، NginX رو روس ها به دنیا معرفی کردن و به عنوان یک پروژه رایگان و Open Source برای سرورهای HTTP مطرح شد اما قابلیت Reverse Proxy ، Mail Proxy و TCP UDP Proxy که در آپاچی نیست رو هم به خودش اضافه کرد .

هدف اصلی NginX معرفی سبک ترین وب سرور دنیا بوده و هست و به همین هم معروف هست که این وب سرور فوق سبک هست ! یعنی دقیقا شما برای کشتن پشه دیگه به تانک نیاز ندارید فقط کافیه که همین مگس کش رو برای کارتون داشته باشید ، البته لفظ مگس کش برازنده Nginx نیست ولی مفهوم رو می رسونه . وقتی آپاچی در مدیریت کردن منابع و نصب کردن کلی پکیج بلااستفاده و مشکل پردازش کاربران بسیار زیاد به مشکل خورد ، Nginx با معرفی خودش و مدیریت کردن این مشکلات سریع شروع به رشد کرد . تا حدی که برای خیلی ها بسیار محبوب تر از آپاچی شد . فراموش نکنید Nginx نمی تونه با قابلیت های بسیار زیاد و امکاناتی که در آپاچی هست رقابت کنه اما واقعا در کار خودش موفق بوده و هست . به زبون ساده Nginx گفت اگه قرار هست از 100 تا ماژول 10 تاش استفاده بشه و بقیش الکی منابع مصرف کنن ! من یک وب سرور میدم بیرون که فقط 10 تا ماژول داره و از همشون استفاده میشه و این یعنی اوج استفاده حداقلی از منابع .

مقایسه وب سرور آپاچی و انجینیکس


تفاوت بین آپاچی و انجینکس


بصورت خلاصه باید بگیم که آپاچی یک وب سرور اختصاصی پروتکل HTTP هست اما Nginx تخصصی روی بحث High Performance و Reverse Proxy فعالیت کرده و اگر در اینترنت جستجو کنید عنوان Nginx به شکل Load Balancer مطرح شده ، یعنی زمانیکه میخاین وب سایت هایی با صد ها یا شاید میلیون ها بازدید همزمان داشته باشید قطعا Nginx گزینه بهتری هست . پشتیبانی و توسعه آپاچی توسط برنامه نویس های داوطلب و community ها انجام میشه اما پشتیبانی و توسعه Nginx توسط شرکتی که سازندش هست انجام میشه که در سال 2011 تاسیس شده . مهمترین تفاوت این دو وب سرور نحوه مدیریت کردن درخواست های کاربران هست ، زمانیکه آپاچی از انواع و اقسام ماژول های Multiprocessing برای مدیریت کردن درخواست های کاربران و ترافیک وب استفاده می کنه ، Nginx می تونه با حداقل منابع بهترین سرویس های Parallel Processing رو بصورت اختصاصی به کاربرانش ارائه بده و تجربه فوق العاده ای از سرعت وب رو در اختیارشون قرار بده . در آپاچی یک Thread فقط می تونه با یک Connection کار کنه در صورتیکه در Nginx یک Thread می تونه همزمان با چندین Connection کار کنه و این همون نقطه اصلی تفاوت هست . Nginx وب سرور تخصصی ترافیک های سنگین وب هست . امیدوارم مورد توجه شما قرار گرفته باشه .

نویسنده : محمد نصیری
منبع : جزیره لینوکس و متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
#تفاوت_apache_و_nginx #مقایسه_آپاچی_و_انجینیکس #nginx_چیست #امنیت_در_وب_سرور_nginx #تفاوت_وب_سرور_آپاچی_و_iis #مقایسه_apache_و_nginx #تفاوت_nginx_و_apache #معرفی_وب_سرور_nginx #تفاوت_آپاچی_و_انجینیکس #معرفی_وب_سرور_apache #آپاچی_چیست
2 نظر
royaflash
با سلام
در مورد nginx باید بگیم، بحث استفاده از thread های اون هست که شهرت پیدا کرد .
و متن باز هست ، ولی تمام امکاناتش مثل آپاچی رایگان نیست . امکانات حرفه ای لود بالانسینگ اون پولی هست و شما از نسخه معمولی آن نمیتونید از این ویژگی ها استفاده کنید . در جلو ما انواع mpm ها را داریم در اپاچی که می توانیم به
prework
worker
event
Threadpool
Perchild
Leader
که بصورت پیش فرض ما prework را داریم . ولی ساختار worker ساختار شبیه به ngnix هست . که خود بررسی این ویژگی ها یک مقاله مستقل هست .

نکته دیگر که اشاره کردید ماژول های آن هست . تعداد ماژول های apache بسیار قدرتمند هست . حتی بحث reverse proxy که ما ماژول mod-proxy ,... داریم .
نکته دیگر در مورد handler در آپاچی هست . که خودش یک مقاله جدا هست .
اگر بحث reverse proxy یا load balancing براتون بولد هست . من پیشنهاد میکنم از varnish کنار apache استفاده کنید .

محمد نصیری
عالی ... همین رو میتونستید به عنوان نکته هم تو سایت ارسال کنید امتیازش رو بگیرید
نظر شما
برای ارسال نظر باید وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره بهاره می تونی امروز ارزونتر از فردا خرید کنی ....