محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

تفاوت آپاچی و انجینیکس در چیست؟ مقایسه 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 وب سرور تخصصی ترافیک های سنگین وب هست . امیدوارم مورد توجه شما قرار گرفته باشه .


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات