درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
محمد نصیری
امتیاز: 605609
رتبه:1
376
1805
834
11181
محمد نصیری ، بنیانگذار TOSINSO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ... پروفایل کاربر

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

تاریخ 17 روز قبل
نظرات 2
بازدیدها 86
سلام به همه کاربران عزیز جزیره لینوکس و متن باز وب سایت توسینسو ، امروز میخایم دو تا وب سرور مشهور و قدرتمند در دنیا رو با هم مقایسه کنیم ، یکیش آشنای همه ماست که آپاچی هست که وقتی من 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 وب سرور تخصصی ترافیک های سنگین وب هست . امیدوارم مورد توجه شما قرار گرفته باشه .

نویسنده : محمد نصیری
منبع : جزیره لینوکس و متن باز وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • با سلام
    در مورد nginx باید بگیم، بحث استفاده از thread های اون هست که شهرت پیدا کرد .
    و متن باز هست ، ولی تمام امکاناتش مثل آپاچی رایگان نیست . امکانات حرفه ای لود بالانسینگ اون پولی هست و شما از نسخه معمولی آن نمیتونید از این ویژگی ها استفاده کنید . در جلو ما انواع mpm ها را داریم در اپاچی که می توانیم به
    prework
    worker
    event
    Threadpool
    Perchild
    Leader
    که بصورت پیش فرض ما prework را داریم . ولی ساختار worker ساختار شبیه به ngnix هست . که خود بررسی این ویژگی ها یک مقاله مستقل هست .

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

  • عالی ... همین رو میتونستید به عنوان نکته هم تو سایت ارسال کنید امتیازش رو بگیرید

برای ارسال نظر ابتدا به سایت وارد شوید