بررسی تفاوت های وب سرور Apache و NGINX – قسمت دوم

۲۲ آبان ۱۳۹۸ مطالعه ۱ دقیقه

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

پشتیبانی از سیستم عامل

Apache روی همه سیستم عامل ها از قبیل UNIX، Linux، BSD و ویندوز قابل پیاده سازی است. از طرف دیگر NGINX نیز روی انواع سیستم های یونیکسی اجرا می شود، علاوه بر آن روی ویندوز نیز پیشتیبانی می شود اما کارایی آن روی ویندوز در مقایسه با پلتفرم های یونیکسی به مراتب کاهش می یابد.

امنیت

هر دو وب سرور Apache و Nginx بسیار امن هستند. تیم امنیتی Apache (Apache Security Team) به مشکلات امنیتی کاربران پاسخ می دهد و با توسعه دهندگان برای کنترل آسیب پذیری ها همکاری می کند.

هر دوی این وب سرور ها پالیسی و ویژگی های امنیتی متعددی دارند. علاوه بر آن هر دو وب سرور بروزرسانی های مداوم برای جلوگیری از بروز حملات DDOS را ارائه می دهند. می توان گفت Nginx از نظر ویژگی های امنیتی که ارائه می دهد کمی امنیت بالاتری به نسبت Apache دارد. البته امنیت فقط به امنیت وب سرور منتهی نمی شود. بلکه امنیت یک رویکرد لایه ای دارد و برای این که بتوان امنیت را به بالاترین حد رساند، باید تمامی لایه ها شبکه اعم از اپلیکیشن (که وب سرور ها در این لایه کار می کنند) تا لایه فیزیکی را ایمن کرد. هیچ گاه نمی توان گفت به دلیل این که وب سروری به نسبت دیگری ویژگی های بیشتری دارد، ایمن تر است و باید از آن وب سرور استفاده کنیم. چون اگر نتوانیم امنیت را برای آن پیکربندی کنیم، هیچ گاه نخواهیم توانست از قابلیت های امنیتی آن استفاده کنیم.

شخصی سازی و انعطاف پذیری

بسیاری از کاربران Apache از فایل .htaccess استفاده می کنند و پیکربندی های متنوعی روی وب سرور از قبیل قوانین ریدایرکت کردن، حفاظت از رمز عبور، لیست کردن دایرکتوری، ایجاد محدود سازی کاربران، نمایش صفحات خطای شخصی سازی شده و… را پیاده سازی می کنند. در مقابل NGINX چنین ابزاری را ندارد.

Apache علاوه بر آن بیش از 60 ماژول مختلف دارد که کار پیکربندی سرور را راحت تر می کند. برخی از ماژول های مهم Apache را می توان Mod_scurity، Mod_rewrite، Mod_cache و… عنوان کرد.

Mod_security برای امنیت کاربرد دارد و مشابه فایروال کار می کند.

Mod_rewrite برای rewrite کردن URL است که در نتیجه آن می توان قابلیت `ریدایرکت کردن URL های خاص را به شما ارائه دهد.

Mod_cache: از این ماژول برای کش کردن استفاده می شود.

در آموزش های بعدی به بررسی بقیه ماژول های مهم Apache می پردازیم.

به این قابلیت آپاچی، Directory Level Configuration گفته می شود. این قابلیت علاوه بر ویژگی های مهمی که به مدیر وب سرور می دهد، اما در مقابل استفاده از آن می تواند کارایی سرور را کاهش دهد. پس بهتر است با دقت و با دانش از این قابلیت استفاده کنید.

Apache علاوه بر موارد فوق انجمن های فعال و گسترده تری دارد. بنابراین در صورت بروز هر گونه سوال یا مشکل می توانید به این انجمن مراجعه کنید و مشکل سرور را متوجه شوید.

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

رور که بیان کردیم، می توان گفت که Apache از این نظر بهتر است.

Load Balance کردن (متعادل سازی لود)

متعادل ساختن لود یکی از مهم ترین موارد در بسیاری از سناریو ها که حجم زیادی ترافیک وجود دارد است.

Nginx به سادگی به عنوان Load balancer پیکربندی می شود تا ترافیک وب را جمع کند و بین چندین وب سرور پخش نماید و خروجی را استخراج کند.

NGINX صفحات ایستا (static) را خودش پردازش می کند و صفحات پویا (Dynamic) را به وب سرور مناسب ارسال می کند. Load balancing منجر به بهبود سرعت وب سایت می شود، بدون این که هیچ گونه سرباری برای منابع ایجاد کند.

با پیکربندی Caching در NGINX می توانیم Load Balancer را به گونه ای پیکربندی کنیم که تاخیر را کاهش و کارایی را افزایش دهیم. در مقابل Apache مکانیزم load balance ندارد که از load balancer های ثالث می توان برای آن استفاده کرد. البته NGINX از آنجایی که Load Balancer است، می تواند در کنار Apache مورد استفاده قرار گیرد.

استفاده از NGINX و Apache با هم

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

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

نتیجه گیری

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


داغ‌ترین مطالب روز

بهترین DNSهای گیمینگ 🎮

بهترین DNSهای گیمینگ 🎮

DNS یکی از مهم ترین مواردی است که سبب می شود تا تجربه شما از بازی کردن بهبود یافته و اتصال شما به سرورها پایداری و ثبات پیدا کند. اما پیدا کردن دی ان اس خوب برای بازی ها آنلاین به خصوص بازی هایی نظیر Valorant، Call of Duty و … همواره چالش محسوب شده […]

۱۶ خرداد ۱۴۰۱ ۷

سرور ابری

سرور ابری

سرور ابری و یا سرویس ابری از اصطلاحاتی هستند که امروزه به آن زیاد بر می خوریم. اما شاید تا کنون درک درستی در خصوص خدمات مبتنی بر ابر و سرور ابری (سرور رایانش ابری) نداشته باشیم. انتخاب خدمات مرکز داده مناسب ، می تواند تاثیر به سزایی در هزینه های یک کسب و کار […]

۲ تیر ۱۳۹۹ ۵

آموزش دانلود از اینترنت📥

آموزش دانلود از اینترنت📥

دانلود کردن بخش جدایی ناپذیر این روزهای زندگی شده است. هر روز حجم عظیمی از اطلاعات دانلود و آپلود شده و به زندگی مجازی جان می بخشد. اما نحوه دانلود اصولی و حرفه ای از اینترنت به چه صورت است؟ چطور دانلود کنیم که از سالم بودن فایل اطمینان بالایی داشته باشیم؟ در این مقاله […]

۱۱ بهمن ۱۴۰۰ ۳

رفع مشکل وصل نشدن اینترنت در ویندوز 7🌐

رفع مشکل وصل نشدن اینترنت در ویندوز 7🌐

اینترنت یکی از مهم ترین عناصر زندگی در عصر امروز است. اما اگر نتوانیم با ویندوز به اینترنت وصل شویم چه؟ مشکل وصل نشدن اینترنت در ویندوز 7 چیست؟ در این مقاله به آموزش رفع مشکل وصل نشدن اینترنت در ویندوز 7 می پردازیم تا با بررسی راه حل های آن بتوانید به صورت اصولی […]

۲۸ اردیبهشت ۱۴۰۱ ۳

سرور مجازی مناسب کسب‌وکار کوچک

سرور مجازی مناسب کسب‌وکار کوچک

امروزه در دنیای مدرن و پیشرفته‌ای زندگی می‌کنیم که پتانسیل‌های کسب‌وکارها بدون معرفی در فضای مجازی، دست‌نخورده و اتلاف شده باقی می‌مانند و امکان شکست آن‌ها افزایش می‌یابد. بنابراین، طراحی و استفاده از یک وب سایت می‌تواند به گسترش این کسب‌وکارهای کوچک کمک کند و آن را به سرعت توسعه دهد. این وب سایت به […]

۳۰ شهریور ۱۴۰۰ ۲

دیدگاه‌ها

comment symbol

برای این مقاله ۰ دیدگاه نوشته شده است. دیدگاه شما چیست؟

شما نیز، دیدگاه خود را از طریق دکمه زیر به اشتراک بگذارید.

نوشتن دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *