در آموزش های قبل به بررسی انواع وب سرور های لینوکسی پرداختیم و h;رور Apache و Nginx که در دنیای اینترنت و میزبانی وب بسیار پرکاربرد هستند را از نظر فنی با هم مقایسه کردیم. در ادامه آموزش های قبلی به منظور آشنا کردن شما با کسب و کار میزبانی وب و فروش VPS لازم دانستیم که وب سرور IIS را در این آموزش برای شما معرفی کنیم و به مقایسه آن با Apache و Nginx بپردازیم.
وب سرور IIS چیست؟
وب سرور IIS روی پلتفرم Micorosoft .Net و سیستم عامل ویندوز اجرا میشود. البته با استفاده از Mono میتوانید IIS را روی لینوکس و مک نیز اجرا کنید البته این کار توصیه نمیشود چون کارایی و پایداری وب سرور را کاهش میدهد.
IIS از رابط گرافیکی (GUI) برای مدیریت وب سایت ها و کاربران استفاده میکند. با استفاده از آن میتوانید سایت ها را پیکربندی کنید و در وب انتشار دهید. ابزار IIS Manager به شما کمک میکند که تنظیمات وب سایت مثل صفحات پیشفرض (default page)، صفحات خطا (error)، تنظیمات لاگ، تنظیمات امنیتی و بهینه سازی کارایی را به سادگی انجام دهید. IIS مشابه بقیه وب سرور هایی که بررسی کردیم، صفحات Static مثل تصویر و متن و صفحات Dynamic مثل زبان برنامه نویسی ASP.NET و PHP را پردازش میکنند.
IIS علاوه بر داشتن ویژگی های مورد نیاز برای میزبانی وب، ماژول هایی که قابلیت های دیگری به سرور اضافه میکند را ارائه میدهد. برای مثال اکستنشن به نام WinCache وجود دارد که از طریق کش کردن پردازش های PHP باعث افزایش سرعت اجرای اسکریپت های PHP میشود. علاوه بر آن ماژول URL Rewrite به ادمین ها اجازه میدهد که URL هایی را ایجاد کنند که کاربران بتوانند راحت تر آن را بخوانند و به خاطر بسپارند. ماژول streaming نیز قابلیت stream کردن مدیا را به بازدید کنندگان سایت ها میدهد. علاوه بر آن IIS به شما امکان استفاده از پروتکل هایی مثل FTP (یا FTPS) برای ارسال و دریافت فایل، HTTPS برای رمزنگاری ارتباط به منظور افزایش امنیت و SMTP برای ارسال و دریافت ایمیل را به ارمغان می آورد.
مقایسه IIS با Apache و Nginx
کاربرد
وب سرور IIS نرم افزار اختصاصی مایکروسافت است که بر خلاف Apache و Nginx قابلیت شخصی سازی بالایی ندارد و فقط روی سیستم عامل های ویندوزی قابل پیاده سازی است در حالی که دو وب سرور دیگر روی انواع سیستم عامل ها قابل پیاده سازی هستند. البته در وب سرور IIS نیازی به صرف هزینه بابت اشتراک و لایسنس ندارید اما هزینه خود سیستم عامل ویندوز را باید پرداخت کنید (البته در ایران به دلیل استفاده از نسخه های غیر مجاز، میتوانید از تمامی امکانات ویندوز به صورت رایگان استفاده کنید) از طرف دیگر Apache و Nginx کاملا رایگان هستند. مزیتی که IIS در برابر Apache و Nginx دارد، توانایی یکپارچه شدن و ادغام با بقیه سرویس های مایکروسافت از قبیل اکتیو دایرکتوری، .NET و… است. علاوه بر آن از نظر گزارش گیری نیز به مراتب از Apache و Nginx قویتر است.
کارایی
بر طبق تست های کارایی که سایت rootusers.com روی انواع وب سرور ها داشت، نتایج زیر بدست آمد.
(سایت فوق ادعا کرد از آنجایی که وب سرور Apache مدت خیلی زیادی طول کشید (تقریبا 21 ساعت) که تست را به طور کامل انجام دهد، از وارد کردن آن در بین رقیبان صرف نظر کرد.)
نمودار فوق بیان میکند که وب سرور IIS در اجرای تست با یک هسته CPU تقریبا بهترین نتیجه را داشته است (IIS 8 با 50 دقیقه بهترین عملکرد را داشت). علاوه بر آن Nginx نیز در تعداد هسته های بالا (2 هسته و بیشتر) مشابه IIS بود (تست در 15 تا 30 دقیقه تکمیل شد که تقریبا برابر با همه نسخه های IIS است)
امنیت
امنیت از مهمترین گزینه ها برای انتخاب سیستم عامل و وب سرور است. در زمینه امنیت شبکه هیچ گاه نمیتوان گفت که برای مثال سیستم عامل ویندوز یا لینوکس و یا حتی وب سرور Apache یا IIS امنیت بالاتری به نسبت دیگری دارند، مهمترین عامل در امنیت، پیکربندی صحیح و نصب پچ های امنیتی و استفاده از رویکرد لایه ای در امنیت شبکه است. سیستم عامل ویندوز با وجود ضعف های امنیتی که دارد، اما اگر بروز باشد و امنیت لایه ای در سازمان وجود داشته باشد، از بهترین گزینه ها از نظر امنیتی است. چون نیاز به پیکربندی خاصی برای کاربر وجود ندارد.
کدام وب سرور بهترین است؟
با توجه به مطالبی که ارائه کردیم، هر کدام از این وب سرور ها مزایا و معایب خودشان را دارند. استفاده از این وب سرور ها به نیازهای شما و زبان برنامه نویسی وب سایت مشتری بستگی دارد. برای مثال اگر مشتریان شما وب سایت به زبان ASP.NET داشته باشند، و در صورتی که بخواهید چنین مشتریانی را برای میزبانی وب از دست ندهید، باید به فکر نصب و پیکربندی IIS باشید. در غیر این صورت برای مشتریانی که با زبان PHP و پایتون کار میکنند، باید بین Apache و Nginx یکی را انتخاب کنید.
توصیه ما استفاده از هر دو وب سرور Apache و Nginx با هم است. اما چگونه؟ در واقع Nginx قابلیتی به نام reverse proxy دارد، یعنی بین کاربر و وب سرور قرار میگیرد و درخواست هایی که داده میشود را پردازش کرده و نتیجه را به کاربر بر میگرداند. بنابراین توصیه میشود از Apache به عنوان وب سرور و از Nginx به عنوان reverse proxy استفاده کنید. به این ترتیب از مزایای هر دو وب سرور استفاده خواهید کرد.
به صورت خلاصه میتوان ویژگی های این سه سیستم عامل را در جدول زیر لیست کرد:
ویژگی | IIS | Apache | Nginx |
سیستم عامل های قابل پشتیبانی | ویندوز | لینوکس، یونیکس، ویندوز و مک | لینوکس، یونیکس، ویندوز و مک |
هزینه | هزینه خرید ویندوز | کاملا رایگان | کاملا رایگان |
توسعه نرم افزار | بسته، اختصاصی | متن باز | متن باز |
امنیت | عالی | خوب | خوب |
کارایی | عالی | متوسط | عالی |
کاربرد | خوب | عالی | خوب |
سهم بازار | 8% | 45% | 40 |
جمع بندی
در این آموزش به بررسی وب سرور IIS و مقایسه آن با دو وب سرور پر کاربرد Apache و Nginx پرداختیم. اکنون اگر میخواهید کسب و کار اینترنتی وب هاستینگ و فروش VPS راه اندازی کنید میدانید که کدام وب سرور نیازهای شما را برطرف میکنید. در ادامه آموزش های بعدی به نحوه پیکربندی این وب سرور ها میپردازیم و مهمتر از همه شما را با مجازی سازی سرور که بخش جدا نشدنی از این کسب و کار است، آشنا میکنیم تا بتوانید از منابع سخت افزاری نهایت استفاده را داشته باشید.