IIS چیست و چطور کار میکند؟ راهنمای کامل وب سرور IIS
در این مقاله میخوانید
IIS چیست؟ IIS یکی از محصولهای قدیمی مایکروسافت است که در سیستمعامل ویندوز برای تبادل محتوای استاتیک و داینامیک وبسایتها استفاده میشود. اگر وبسایتتان را روی سرویسهای ویندوزی میزبانی میکنید، یکی از بهترین گزینههای پیش روی شما «وب سرور IIS» است. این سرویس ویندوزی مانند وب سرورهای دیگر وقتی درخواستی ازطریق مرورگر به وبسایتها ارسال میشود، درخواستهای کاربران را دریافت و باتوجهبه نوع درخواست، پاسخ مناسبی را برای آنها ارسال میکند. آیآیاس سالهایسال است که تلاش میکند فرزند خوبی برای سرورها باشد و اطلاعات موردنیاز را از سرور دریافت و با سرعت بالایی به کاربران ارائه کند.
مایکروسافت اولین نسخه وب سرور IIS 1.0 را در سال ۱۹۹۵ بهعنوان یک افزونه برای ویندوز NT 3.51 منتشر کرد. این وب سرور امکانات ابتدایی داشت و آن زمان از HTTP و FTP پشتیبانی میکرد. با استقبال کاربران از این وب سرور، نسخه جدید IIS 2.0 با ویندوز NT 4.0 روانه بازار شد تا ویژگیهای جدیدی را به کاربران ارائه دهد. به همین ترتیب، مایکروسافت برای جلب رضایت کاربران بهروزرسانیهای زیادی از این وب سرور ارائه کرده است که میتوانید در انواع نسخههای ویندوز سرور از آنها استفاده کنید. آخرین نسخه آیآیاس در سال ۲۰۱۶ با نام تجاری 10 IIS منتشرشده که عملکرد، امنیت و ویژگیهای کمنظیری دارد و روی ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ و ۲۰۱۹ اجرا میشود.
قبل از آنکه شروع به استفاده از IIS کنید بهتر است با مزایا و معایب آن آشنا شوید. اگر میخواهید درباره سرویس پرطرفدار مایکروسافت بیشتر بدانید تا انتهای این مقاله از آموزش ویندوز بلاگ پارس پک ما همراه باشید.
IIS چیست؟
IIS (مخفف Internet Information Services) وب سرور پایدار و پرطرفداری است که روی پلتفرم مایکروسافت NET. در سیستمعامل ویندوز اجرا میشود. IIS ابزار قابل نصب روی سرورها است و میتوانید آن را روی تمامی محصولهای Microsoft Windows Server نصب کنید. باتوجهبه محبوبیت وب سرور IIS مایکروسافت این سرویس را با نسخههای حرفهای محصولهای خود مانند Windows 10 Pro سازگار کرده است تا امکان استفاده از آن در تمامی محصولهای ویندوزی فراهم باشد.
وب سرور آیآیاس وظیفه پاسخگویی به درخواستهایی را دارد که کاربران ازطریق مرورگر به وبسایتها ارسال میکنند. بنابراین، صفحههای وب، فایلهای متنی، تصویری، ویدئویی و… وبسایتها با استفاده از IIS دراختیار کاربران قرار میگیرد. وب سرور IIS برای میزبانی وب اپلیکیشنها از فناوریهای مختلفی همچون فریمورک ASP.NET و زبان برنامهنویسی PHP استفاده میکند.
اگرچه میتوان این وب سرور ویندوزی را روی سیستمعاملهای لینوکس یا مک به کمک ابزاری به نام Mono اجرا کرد، اما استفاده از آن در سیستمعاملهای غیرویندوزی پایداری و امنیت بالایی ندارد، چراکه IIS برای مایکروسافت داتنت طراحیشده و پیادهسازی آن در ویندوز قابل اعتمادتر است.
وب سرور IIS برای وبسایتهایی مناسب است که با زبانهای برنامهنویسی ASP طراحی شدهاند؛ درمقابل آن وب سرور Nginx و Apache قرار دارند که تحت لینوکس هستند و برای زبانهای برنامهنویسی PHP طراحی شدهاند.
IIS با کدام زبانهای برنامهنویسی و فریمورکها کار میکند؟
IIS با فریمورک NET. سازگار است. اما از زبانها و فریمورکهای دیگری میتوان برای بهرهمندی از قابلیتهای IIS استفاده کرد. در جدول زیر میتوانید لیستی از آنها را مشاهده کنید:
زبانهای برنامهنویسی | فناوریها |
JScript ،PerlScript و VBScript | ASP |
زبانهای برنامهنویسی سازگار با NET. مانند C# و Visual Basic .NET | ASP.NET |
COM مانند C ،Visual C++ ،Visual Basic و Java | کامپوننتهای ASP |
C یا Visual C++ | ISAPI |
Perl و C ،Visual C++ ،Visual Basic | CGI |
به وب سروری امن و مطمئن برای میزبانی برنامهها و فایلهایتان در ویندوز سرور نیاز دارید؟ از وب سرور IIS استفاده کنید. آیآیاس روی سیستمعامل ویندوز اجرا میشود و از سری محصولهای مایکروسافت است. از این وب سرور برای تبادل محتوای وب با کاربران استفاده میشود و محتواهای ذخیرهشده در ویندوز سرور را باتوجهبه نوع درخواست با سرعت بالایی به کاربران ارائه میدهد.
با نحوه کار وب سرور بیشتر آشنا شوید
برای درک بهتر IIS بهتر است با مفهوم وب سرور و نحوه کار آن آشنا شوید. وب سرور نرمافزار کامپیوتری است که نحوه دسترسی کاربران به محتوای وبسایتها را مدیریت میکند. وب سرور درخواستهای کاربران را ازطریق پروتکل شبکه HTTP (پروتکلی که مرورگرها برای نمایش محتوای صفحههای وب از آن استفاده میکنند) یا نوع امن آن HTTPS از مرورگر دریافت میکند و پاسخ درخواستها را در قالب صفحههای وب به مرورگر ارائه میدهد تا به کاربران نمایش دهد. درصورتیکه پاسخ مناسبی برای ارائه به کاربران وجود نداشته باشد، پیغام خطای ۴۰۴ یا موارد مشابه را برمیگرداند. به زبان ساده، این وب سرورها هستند که صفحههای وبسایتها را به شما نمایش میدهند.
بدین ترتیب، وظیفه اصلی وب سرورها دریافت درخواستهای کاربران و ارائه پاسخ مناسب بهصورت صفحههای وب HTML، فایلهای CSS، جاوا اسکریپت و انواع دادههای متنی، تصویری و ویدئویی و… به مرورگر کاربران است. علاوهبر پروتکل HTTP و HTTPS، وب سرورها از پروتکل SMTP (مخفف Simple Mail Transfer Protocol) برای ارسال ایمیل، FTP (مخفف File Transfer Protocol) برای انتقال و ذخیرهسازی فایل و… پشتیبانی میکنند.
صفر تا صد هر آنچه باید درباره نحوه کار و انواع وب سرورها بدانید را در مقاله زیر بخوانید.
IIS چه کاری انجام میدهد؟
IIS میزبانی برنامهها و فایلهای وبسایتها را برعهده دارد و زمانیکه کاربران آدرس وبسایت را در مرورگر جستوجو میکنند، صفحهها و دادههای درخواستی از وب سرور آیآیاس خوانده و پردازش میشود. درواقع، آیآیاس را میتوان بهعنوان یک واسطه در نظر گرفت که مسئول پردازش پیغامهای کاربران از درگاههای پیشفرض TCP است. برای مثال، ترافیک ورودی از پورتهای ۴۴۳ و ۸۰ دریافت (۴۴۳ پورت پیشفرص HTTPS و ۸۰ پورت پیشفرض HTTP است.) و بهوسیله وب سرور IIS پردازش میشود.
فرض کنید میخواهید محتوای «IIS چیست» پارس پک را مشاهده کنید. زمانیکه آدرس صفحه «IIS چیست» پارس پک را در مرورگر جستوجو میکنید، درخواستی به وب سرور IIS ارسال میشود. باتوجهبه اینکه وبسایت پارسپک از پروتکل HTTPS استفاده میکند، درخواست شما از پورت ۴۴۳ برای پردازش وارد وب سرور آیآیاس میشود. درصورتیکه محتوای درخواستی شما در سرور وجود داشته باشد، وب سرور IIS صفحه درخواستی شما را بههمراه تمام محتوای متنی، تصویری و.. آن به مرورگر میفرستد و مرورگرتان نیز صفحه درخواستی را به شما نمایش میدهد. این تمام کاری است که وب سرور IIS انجام میدهد.
نحوه پردازش درخواستها در IIS
یک وب سرور معمولی، میتواند از دو مدل برای پردازش درخواستهای وب استفاده کند:
۱. درخواستها را براساس مدل تک رشتهای (Single-Thread) پردازش کند.
۲. برای هر درخواست جداگانه، یک رشته جدید (Thread-Per-Request) ایجاد کند.
مدل پردازشی IIS سیستم ایجاد رشته جدید برای هر درخواست یا Thread-Per-Request است که معمولاً به یک Thread Pool دسترسی پیدا کرده و برای هر درخواست یک رشته جدید ایجاد میکند.
براساس این سیستم درخواستها براساس سیستم درخواست/پاسخ (Request-Response) ساده پردازش میشوند. بهگونهای که کاربر درخواستی به وب سرور ارسال میکند و پاسخی برای او ارسال میشود.
معمولاً ارتباط اینترنتی بین سرویس گیرنده و وب سرور توسط پروتکل HTTP یا بهصورت امن HTTPS انجام میشود.
IIS برای پردازش درخواستها از معماری دو لایه استفاده میکند که شامل دو جز اصلی بهصورت زیر است:
- Kernel Mode
- User Mode
درادامه مقاله «IIS چیست؟» درباره مدلهای پردازشی IIS بیشتر صحبت میکنیم.
Kernel Mode چیست؟
زمانیکه اجزای سیستمعامل در حالت کرنل اجرا میشوند، یک فضای آدرس مجازی مشترک به تمام کدها اختصاص داده میشود. دراینصورت اگر درایوی از حالت Kernel Mode استفاده کند، این درایو از سایر درایوها جدا نمیشود و در یک فضای مشترک با آنها قرار میگیرد. چنانچه این درایو در یک آدرس مجازی اشتباه دادهای بنویسید، ممکن است دادههایش در معرض خطر قرار بگیرد. همچنین، در صورت خرابشدن درایو در حالت Kernel Mode، ممکن است کل سیستمعامل دچار خرابی شود. این حالت عمدتاً زمانی استفاده میشود که یک فرایند قابل اعتماد و عمدتاً آسیبناپذیر وجود داشته باش باشد. هرگونه خرابی پیش آمده در حالت هسته میتواند آسیبهای زیادی را به خود سیستم وارد کند. kernel Mode محلی است که میتوانید فایل HTTP.SYS را در آن پیدا کنید.
User Mode چیست؟
حالت User Mode محدودتر از kernel Mode است. با این حالت، کدهای اجرا شده نمیتوانند به سختافزار یا حافظه مرجع دسترسی پیدا کنند و در نتیجه محیطی امنتر برای کار در اختیارتان قرار می گیرد. در حالت یوزر سیستمعامل نمیتواند به آدرسهای مجازی دسترسی پیدا کند. با اجرای یک برنامه، ویندوز برای آن فرایند جداگانهای ایجاد خواهد کرد که حاوی فضای آدرس مجازی و خصوصی است و نمیتواند دادههای درایوهای دیگر را تغییر دهد. بدین ترتیب، برنامهها بهصورت جداگانه اجرا میشوند و درصورت خرابی یکی از آنها، برنامههای دیگر تحت تاثیر قرار نمیگیرند. بنابراین، اگر اشتباهی مرتکب شوید، عواقب آن به اندازه خطا در حالت کرنل ویرانکننده نیست. کدهای اجرا شده در حالت User Mode به APIها دستور میدهد که با تجهیزات و Memory Reference ارتباط برقرار کنند که بسیار امنتر از حالت kernel است.
عملیات پردازش درخواستها در IIS
هدف از پردازش Kernel Mode استفاده از HTTP.SYS برای پذیرش درخواستهای کاربر ورودی و ارجاع آنها به Application Pool است. این فرایند زمانی آغاز میشود که مشتری یا کاربر نهایی URL وبسایت را وارد میکند. این درخواست معمولاً درخواست دسترسی به صفحه HTTP.SYS است. درواقع، کاربر درخواست دسترسی به یک صفحه وب را ارسال و HTTP.SYS آن را دریافت خواهد کرد.
در سطح User Mode یک Web Admin Services یا WAS وجود دارد که درخواستها را از HTTP.SYS دریافت و به Application Pool ارسال میکند.
زمانیکه Application Pool درخواست را از HTTP.SYS دریافت میکند، فیلتر ISAPI توسط فرایند IIS worker یا w3wp.exe بارگذاری میشود. اگر یک صفحه ASPX باشد، فرایند Worker HttpRuntime.ProcessRequest و گاهی اوقات aspnet_isapi.dll را نیز باز میکند.
HttpRuntime مجموعهای از اشیاء HttpApplication را ایجاد میکند که ازطریق HTTP ارسال میشوند و با ماژولهای HTTP بهطور مداوم تا زمانیکه صفحه ASP.NET از HTTP Handler ریکوئست داشته باشد.هنگامیکه درخواست مسیر HTTP را تکمیل کرد، لود صفحه شروع میشود.
برای آشنایی با آموزش نصب گواهی SSL در وب سرور IIS مقاله زیر را از دست ندهید.
انواع نسخههای IIS
نسخههای مختلفی از وب سرور آیآیاس وجود دارد که مایکروسافت آنها را طی سالهای مختلف ارائه کرده است. در جدول زیر خلاصهای از نسخههای IIS و سیستمعاملهای سازگار با آن از ابتدای پیدایش تا به امروز آورده شده است.
نسخههای IIS | سیستمعامل |
۱.۰ | ویندوز NT 3.51 SP3 |
۲.۰ | ویندوز NT سرور 4.0 |
۳.۰ | ویندوز NT سرور 4.0 Service Pack 3 |
۴.۰ | بهصورت جداگانه برای دانلود ارائه شد |
۵.۰ | ویندوز ۲۰۰۰ |
۵.۱ | ویندوز XP |
۶.۰ | ویندوز سرور ۲۰۰۳ |
۷.۰ | ویندوز Vista و ویندوز سرور ۲۰۰۸ |
۷.۵ | ویندوز ۷ و ویندوز سرور ۲۰۰۸ آر۲ |
۸.۰ | ویندوز ۸ و ویندوز سرور ۲۰۱۲ |
۸.۵ | ویندوز ۸.۱ و ویندوز سرور ۲۰۱۲ آر۲ |
۱۰ | ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ و ۲۰۱۹ |
باتوجهبه اینکه نسخههای قبل از IIS 6 برای استفاده تجاری گزینه مناسبی نیستند، بنابراین ما فقط در مورد نسخههایی که بعد از آن ارائه شدهاند صحبت خواهیم کرد.
IIS 6 .۱
این قسمت از آموزش IIS در ویندوز سرور را به بررسی قابلیتهای انواع نسخههای وب سرور آیآیاس اختصاص دادهایم. با نسحه ۶ و ویندوز سرور ۲۰۰۳ شروع میکنیم که جزو قدیمیترین نسخههای وب سرور IIS است. این نسخه پشتیبانی برای IPv6 را اضافه کرد، اما آپدیت بیشتری برای نسخه قبلی ارائه نداد. از نظر مایکروسافت، این حداقل قابلیت مورد نیاز برای عملکرد در یک محیط سازمانی سریع است.
IIS 7 .۲
IIS 7 نسخه بعدی از این وب سرور است. این نسخه با ویندوز ویستا سازگار است و اقدامات امنیتی و پشتیبانی را برای فریمورک داتنت افزایش داده است.
IIS 7.5 .۲
IIS 7.5 با پشتیبانی از TLS 1.1 و ۱.۲ در ویندوز ۷ در دسترس قرار گرفته است.
IIS 8 .۳
IIS 8 یا ویندوز وب سرور ۲۰۱۲ شامل پشتیبانی از SNI است. همچنین دارای یک پیشنهاد پشتیبانی عمومی است که تا سال ۲۰۲۳ در دسترس قرار دارد.
IIS 8.5 .۴
IIS 8.5 برای ویندوز ۸.۱ ارائه شده و شامل قابلیتهای لاگین اضافی و ابزار فعالسازی وبسایت داینامیک است.
IIS 10 .۵
IIS 10 از HTTP/2 و Windows PowerShell 5.0 پشتیبانی میکند.
ویژگیهای وب سرور IIS
وب سرور IIS محبوبیت بسیار بالایی دارد و استفاده از آن بسیار گسترش یافته است. این سرور طیف وسیعی از ویژگیهای مفید ارائه میدهد و ابزاری موثر برای بسیاری از مدیران فناوری اطلاعات بهشمار میرود. معمولاً، IIS برای میزبانی وبسایتها و برنامههای کاربردی با زبان ASP.NET استفاده میشود، اگرچه برای استفاده بهعنوان یک سرور با دسترسی FTP برای میزبانی سرویسهای WCF نیز در دسترس است و درصورت گسترش میتواند پلتفرمهای دیگر مانند PHP را نیز میزبانی کند.
۱. Application Pools
در واقع Application Pools بخش مهمی از وب سرور IIS را تشکیل میدهد. یک مجموعه برنامه کاربردی میتواند تعداد زیادی فرایند کارگر IIS در حال اجرا وجود داشته باشد. این فرایندهای کارگر مسئول اجرای نمونههای برنامه هستند.
در IIS، بعضی برنامههای کاربردی بهصورت پیشفرض ایجاد میشوند. به عنوان مثال نسخه ۲.۰ و v4.0 را در نظر بگیرید که احتمالاً در حالت کلاسیک یا یکپارچه هستند. اگر یک Pool یکپارچه باشد، ASP.NET بخشی از خط لوله درخواست IIS است اما اگر کلاسیک باشد، یک خط لوله برای IIS و یک خط لوله جداگانه برای ASP.NET وجود دارد. بهطورکلی، حداقل از زمانی که IIS 8 منتشر شده است، از حالت یکپارچه بیشتر استفاده میشود.
۲. احراز هویت
سرور IIS دارای گزینههای احراز هویت، از جمله Windows Auth ،Basic و ASP.NET است. اگر از Windows Active Directory استفاده میکنید، Windows auth بسیار مفید است، زیرا این امکان را به شما میدهد که بهطور خودکار ازطریق حساب دامنه خود وارد برنامههای وب شوید.
۳. امنیت IIS
- IIS دارای ویژگیهای امنیتی است، مانند؛
- ابزارهای کمکی برای مدیریت گواهیهای TLS؛
- اتصال بهگونهای که SFTP و HTTPS را میتوان فعال کرد؛
- امکان فیلترکردن درخواستها برای اینکه بتوانید بهطور مؤثری ترافیک را در لیست سفید و یا لیست سیاه قرار دهید؛
- میتوانید قوانین دسترسیها و درخواستهای Log را پیادهسازی کنید و به مجموعهای از عملیات امنیتی FTP دسترسی یابید؛
۴. مدیریت از راه دور
ابزارهای مدیریتی ریموت به IIS اجازه میدهند که از طریق CLI یا از طریق PowerShell بهراحتی مدیریت شود. شما میتوانید اسکریپت را خودتان ایجاد کنید که برخی از مدیران فناوری اطلاعات برای آن ارزش خاصی قائل هستند چراکه انعطافپذیری و کنترل نهایی را ارائه میدهد.
درنهایت، میتوان گفت، IIS وب سروری همهکاره و انعطافپذیر است. اگر آن را گسترش دهید، میتواند کاربردهای بسیار بیشتری از میزبانی برنامههای ASP.NET داشته باشد. با گسترش آن، میتوان یک سرور Windows IIS پایدار، انعطافپذیر و موثر ایجاد کرد.
معرفی ویژگیها، نکات مهم خرید و نسخههای مختلف وب سرور لایت اسپید را در مقاله زیر بخوانید.
مزایای وب سرور IIS چیست؟
ممکن است از خود بپرسید که «مزایای وبسرور IIS چیست؟»، ازجمله مزایای این وب سرور قدیمی و پرطرفدار میتوان به کاربرد گسترده آن در زمینههای مختلف از میزبانی وب گرفته تا وب اپلیکیشنهای تجاری و خدمات WCF اشاره کرد. این وب سرور امنیت بالایی دارد و با استفاده از قابلیتهای احراز هویتی آن مانند Basic ASP.NET و Windows auth میتوانید اقدامات مختلفی ازجمله فیلترکردن لیست سفید، فعالکردن پروتکل HTTPS و… را در آن انجام دهید.
مدیریت این وب سرور بسیار آسان است و میتوانید ازطریق ابزارهایی همچون CLI یا PowerShell آن را از راه دور مدیریت و کنترل کنید. همچنین، قابلیتی بهنام Application Pools در IIS وجود دارد که به شما کمک میکند برنامههای وب خود را با امنیت و دسترسی فراوان در IIS تفکیک کنید. مقیاسپذیری و قابلیت اطمینان را میتوان از دیگر مزایای وب سرور IIS معرفی کرد که این امکان را به شما میدهد زیرساخت مورد نظرتان را با کارایی درخورتوجه پیادهسازی کنید. با این کار امکان میزبانی وبسایتهای پربازدید در چندین وب سرور IIS با قابلیت تعادل بار و مسیریابی درخواست برنامه (ARR) فراهم میشود.
لودبالانسرها یا متعادلکنندههای بار با استفاده از الگوریتمهای پیشرفته ترافیک ورودی را بین چندین وب سرور IIS Server Farm توزیع میکنند. این در حالی است که ARRها بهترین سرور محتوا را برای پاسخگویی به درخواستهای کاربران برمیگزینند. درنهایت، IIS Server Farm با حذف و اضافه سرورها این امکان را به شما میدهند بتوانید ترافیک وبسایتها را بهصورت داینامیک (پویا) مدیریت کنید.
نقاط ضعف IIS چیست؟
درکنار تمام مزایایی که IIS در ویندوز سرور ارائه میدهد، نقاط ضعفهایی نیز دارد که هرچند کم هستند اما نمیتوان بهراحتی از آنها چشمپوشی کرد. پاسخ پرسش «نقاط ضعف IIS چیست؟» در یکم جمله خلاصه میشود، سرعت کم و وجود ضعف امنیتی است که نفوذ افراد غیرمجاز و سودجو را به وبسایتها و وب اپلیکیشنها ممکن میکند. اگرچه مایکروسافت برای چالشهای امنیتی IIS راهکارهای مختلفی را ارائه کرده است، اما با ظهور وب سرورهای سریع و امن مانند آپاچی، انجینایکس و لایتاسپید، محبوبیت IIS کاهش چشمگیری پیدا کرد. بهطوری که تخمین زده میشود فقط ۳۰ درصد از وبسایتها از این وب سرور استفاده میکنند. همچنین، این وب سرور ازنظر سرعت و مصرف بهینه سرور درمقایسهبا سایر وب سرورها مانند لایت اسپید کُندتر است. اما برای وبسایتهای مبتنیبر ASP و NET. هنوز هم انتخاب عالی بهشمار میرود. پرداخت هزینه را میتوان یکی دیگر از نقاط IIS بهشمار آورد. چراکه سایر وب سرورها مانند آپاچی رایگان و متنباز هستند و برای استفاده از آنها به پرداخت هزینه نیاز ندارید. درحالیکه برای استفاده از قابلیتهای وب سرور IIS به پرداخت هزینه نیاز است.
برای آشنایی با تفاوت وبسرورهای LiteSpeed, Apache و Nginx مقاله زیر را از دست ندهید.
نحوه نصب و پیکربندی وب سرور IIS
فرقی نمیکند IIS را روی ویندوز ۷، ۸ یا ۱۰ نصب کنید، فرایند راهاندازی در همگی یکسان است. از آنجاییکه IIS یکی از ویژگیهای ویندوز است، نصب آن نیازی به راهاندازی ندارد. در ویندوز ۱۰، کافیست به کنترل پنل دسترسی داشته باشید، جاییکه میتوانید ویژگیهای ویندوز را مدیریت کنید.
همچنین، میتوانید در هر زمان روی دکمه استارت Windows کلیک و عبارت Turn win (ابتدای عبارت Turn Windows Features on or off) را تایپ کنید تا Turn Windows Features on or off را برای شما بیاورد، سپس روی آن کلیک کنید.
پس از کلیک روی Turn Windows Features on or off، کادر محاورهای Windows Features را باز کنید. این کادر به شما این فرصت را میدهد تا ویژگیهای اضافی ویندوز را روشن یا خاموش کنید که شامل بسیاری از قابلیتها ازجمله موارد زیر است:
- PowerShell 2.0
- Legacy Components
- Media Features
شایان ذکر است که شما میتوانید برخی از ویژگیهای IIS، مانند سرور FTP، ابزارهای مدیریت وب (Web Management Tools) و سرویسهای World Wide Web را نیز روشن و خاموش کنید. روی علامت مثبت بروید، در کنار هر ویژگی کلیک کنید تا منوی آبشاری آنها باز شود.
اگر میخواهید سرور Windows IIS را فعال کنید، از Server Manager یا PowerShell برای نصب Web Role (IIS) استفاده کنید. تصمیم بگیرید که کدام ابزارها را میخواهید نصب کنید و برای شروع نصب، «OK» را فشار دهید. این عملیات ممکن است چند دقیقه زمان ببرد، اما پس از اتمام میتوانید فوراً کار را شروع کنید.
مثلا با اجرای دستور «inetmgr» به IIS GUI دسترسی پیدا کنید. برای انجام سریع این کار از صفحه اصلی، کافیست فقط عبارت «IIS» را در نوار جستوجوی ویندوز تایپ کنید.
برای آشنایی با نحوه نصب و راهاندازی IIS در پاورشل مقاله زیر را بخوانید.
۱. نصب IIS با استفاده از Powershell در ویندوز ۱۰
باتوجهبه آنکه سرویس IIS روی سیستمعاملهای ویندوز بهطور پیشفرض قرار دارد، به دانلود آن نیازی ندارید و میتوانید بهصورت گرافیکی یا ازطریق رابط خط فرمان آن را فعال کنید. در این قسمت از آموزش IIS در ویندوز سرور نحوه فعالسازی وب سرور آیآیاس ازطریق GUI توسط «Turn Windows features on or off» یا استفاده از خط فرمان Powershell را بررسی خواهیم کرد.
مرحله اول: پاورشل را با دسترسی ادمین اجرا کنید
برای فعالکردن IIS در ویندوز ۱۰ باید با دسترسی ادمین Powershell را باز کنید. بنابراین، روی دکمه Start ویندوز ۱۰ کلیک راستکرده و گزینه «Windows PowerShell (Admin)» را انتخاب کنید.
مرحله دوم: سرویسهای IIS را نصب کنید
در این مرحله میتوانید سرویسهای IIS-WebServer و برخی ویژگیهای کلیدی مانند IIS-WebServerRole را براساس نیازهایتان فعال کنید.
- IIS-WebServerRole
- IIS-WebServer
- IIS-CommonHttpFeatures
- IIS-HttpErrors
- IIS-HttpRedirect
- IIS-ApplicationDevelopment
- NetFx4Extended-ASPNET48
- IIS-NetFxExtensibility48
- IIS-HealthAndDiagnostics
- IIS-HttpLogging
- IIS-LoggingLibraries
- IIS-RequestMonitor
- IIS-HttpTracing
- IIS-Security
- IIS-RequestFiltering
- IIS-Performance
- IIS-WebServerManagementTools
- IIS-IIS6ManagementCompatibility
- IIS-Metabase
- IIS-ManagementConsole
- IIS-BasicAuthentication
- IIS-WindowsAuthentication
- IIS-StaticContent
- IIS-DefaultDocument
- IIS-WebSockets
- IIS-ApplicationInit
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-HttpCompressionStatic
- IIS-ASPNET48
برای فعالسازی هرکدام از سرویسها میتوان از دستور زیر استفاده کرد:
Enable-WindowsOptionalFeature -Online -FeatureName <service-name>
فقط باید <service-name> را با نام هریک از سرویسهای مورد نظرتان جایگزین و دستور را در پاورشل اجرا کنید.
بنابراین، اگر بخواهید IIS و سایر ماژولهای موردنیاز آن را در ویندوز فعال کنید، دستور بهصورت زیر خواهد بود:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole, IIS-WebServer, IIS-CommonHttpFeatures, IIS-ManagementConsole, IIS-HttpErrors, IIS-HttpRedirect, IIS-WindowsAuthentication, IIS-StaticContent, IIS-DefaultDocument, IIS-HttpCompressionStatic, IIS-DirectoryBrowsing
۲. نصب IIS با استفاده از GUI در ویندوز ۱۰
- برای نصب IIS با استفاده از GUI کار دشواری پیش رو ندارید، فقط کافیست عبارت «Turn Windows Feature on and off» را در نوار جستوجو تایپ کنید تا آیکون Turn win به شما نمایش داده شود. روی گزینه نمایش داده شده کلیک کنید تا صفحه جدیدی برایتان باز شود.
- با تایپ عبارت «Turn Windows Features on and off» صفحهای ویژگیهای ویندوز برایتان باز میشود. از بین گزینههای نمایشیافته بهدنبال «Internet Information Services» باشید و تیک علامت کنار آن را فعال کنید.
- روی علامت «+» آن بزنید تا منوی آبشاری باز شود. از بین گزینههای نمایش داده شده گزینه «Word Wide Web Services» را انتخاب کنید.
- با انتخاب Word Wilde Web Servicse گزینههای آن نمایش داده میشود. از بین آنها روی گزینه «Application Development Features» کلیک کنید.
- از بین گزینههای موجود تیک «CGI» را بزنید. درصورت تمایل میتوانید سایر گزینهها را فعال کنید.
- برای اعمال و ذخیره تغییرات روی گزینه «OK»کلیک کنید. منتظر بمانید تا تغییرات اعمال شوند و سپس سیستم خود را ریاستارت کنید.
- پس از راهاندازی مجدد سیستم خود با تایپ عبارت «IIS» در نوار جستوجو میتوانید وب سرور IIS (سرویس اطلاعات اینترنتی) را بازکرده و از آن استفاده کنید.
برای اطمینان از نصب صحیح وب سرور IIS مرورگر خود را باز کنید و عبارت «Localhost» را تایپ کنید تا مطمئن شوید سرویس مورد نظرتان بهدرستی نصب شده است.
راهنمای کامل مدیریت وب سرور IIS در پاورشل را در مقاله زیر بخوانید.
۳. نصب IIS با استفاده از Command Line در ویندوز ۱۰
یکی دیگر از سادهترین روشهای نصب و فعالسازی IIS در ویندوز ۱۰ استفاده از خط فرمان ویندوز است. در این قسمت از آموزش IIS در ویندوز سرور مراحل فعالکردن IIS با دستور DISM را توضیح میدهیم.
- عبارت cmd را در نوار جستوجو تایپ و با نمایش آیکون Command Prompt، در سمت راست روی گزینه Run as Administrator کلیک کنید.
- در خط فرمان ویندوز دستور زیر را تایپ و کلیک Enter را فشار دهید.
DISM.exe /Online /Get-Features | find "IIS"
- این دستور تمام ویژگیهای موجود IIS را نمایش میدهد.
- برای نصب ویژگیهای پیشفرض IIS، دستور زیر را تایپ و کلید Enter را فشار دهید.
Dism /Online /Enable-Feature /FeatureName:IIS-DefaultDocument /All
- دستور واردشده نصب IIS را آغاز میکند.
- صبر کنید تا نوار ویژگیهای IIS به ۱۰۰ درصد برسد و نصب و فعالسازی آن با موفقیت انجام شود.
۴. فرایند راهاندازی وب سرور Windows IIS
فرایند راهاندازی بسیار ساده است و میتوانید آن را داخل محیط اصلی ویندوز ۱۰ انجام دهید. پس از اتمام راهاندازی IIS، آن را پیکربندی کنید که لازم است مراحل زیر را انجام دهید:
- به قسمت My Computer بروید و روی گزینه «Manage» کلیک کنید.
- در بخش Computer Management، گزینه «Services and Applications» را انتخاب کنید.
- گزینه «Internet Information Services» را انتخاب کنید.
- «Web Sites» را انتخاب کنید.
- درنهایت برای راهاندازی نودِ پیشفرض خود، روی «Default Web Site» راست کلیک کنید.
نحوه کار با وب سرور IIS
۱. درک پورتها
اکثر سرورها از پورت ۸۰ برای مدیریت ترافیک HTTP استفاده میکنند، اما اگر فکر میکنید پورت دیگری ممکن است برای نیازهای شما مطلوبتر باشد، میتوانید پورت را تغییر دهید. تغییر پورتی که ترافیک HTTP شما از آن گذر می کند، آسان است.
برای این کار IIS Manager را باز کنید و روی وبسایت خود کلیک راست کنید و سپس روی «Properties» کلیک کنید. باکس Properties Dialog Box دارای یک فیلد پورت TCP خواهد بود. میتوانید آن را به پورت مورد نظر خود تغییر دهید.
به یاد داشته باشید که وقتی شماره پورت را تغییر میدهید، باید شماره پورت جدید خود را در کنار نام دامنه وارد کنید. به عنوان مثال، برای «نام دامنه: ۸۰» شما باید «۸۰» را با شماره پورت جدید جایگزین کنید.
اگر میخواهید این کار را در ویندوز ۸ یا ویندوز ۸.۱ انجام دهید، روند کار اندکی متفاوت است. ابتدا باید به IIS Manager دسترسی داشته باشید و «Default Web Site» را از سمت چپ انتخاب کنید.
سپس روی گزینه «Bindings» در سمت راست کلیک و عبارت «HTTP» را هایلایت کرده و سپس روی گزینه «Edit» کلیک کنید.
حالا میتوانید پورت جدید خود را در قسمت «Port» وارد کنید. هنگامیکه کار به اتمام رسید، گزینه «OK» را انتخاب کنید و کادر را ببندید و به سمت چپ صفحه بازگردید تا نودِ سرور مناسب را انتخاب کنید. روی «Restart Server» کلیک کنید، اکنون آماده برای شروع به کار با وب سرور خود هستید!
۲. دسترسی به فایلهای Log
درک نحوه دسترسی و استفاده از فایلهای گزارش بخش بسیار مهمی از نگهداری وب سرور IIS است. فایلهای لاگ مفید هستند زیرا تمام فعالیتهای سرور را پیگیری میکنند. با Load کردن فایلهای Log، هر اقدامی را که مشخص میکنید، قابل مشاهده خواهد بود. میتوانید فایلهای لاگ را براساس زمان و تاریخ، میزان دادههای ارسال شده یا آدرس IP مربوطه فیلتر کنید.
معمولاً، دسترسی به فایلهای Log ساده است. کافیست به کنترل پنل بروید، به «Administrative Tools» رفته و IIS را اجرا کنید. سپس باید وبسایت خود را در سمت چپ مشاهده کنید. آن را انتخاب کرده و روی نماد ورود کلیک کنید.
یک Dialog Box باز میشود که «Directory» نام دارد. «Browse» را انتخاب کنید تا جستوجوی فایلهای Log شروع شود.
اگر از IIS 6 استفاده میکنید، این روند اندکی متفاوت است و تا زمانی که IIS را اجرا نکنید، قسمت اول یکسان میماند. در این مرحله روی وب سایت خود راست کلیک کرده و «Properties» را انتخاب کنید. تب Website و سپس قسمت Active Log Format را پیدا و سپس روی Properties کلیک کنید. فهرست فایل لاگ باید در پایین Dialog Box نمایش داده شود.
۳. ایجاد دایرکتوریهای مجازی
IIS بیشتر برای میزبانی و مدیریت وبسایتها و برنامهها استفاده میشود، اما میتوانید از آن برای ایجاد دایرکتوریهای مجازی نیز استفاده کنید. در IIS، نامهای خاصی که توسط شما انتخاب شدهاند در دایرکتوریها نشان داده میشوند. این نام به کاربران راهی سریع برای دسترسی به محتوای میزبان سرور را در قالب یک وبسایت دیگر یا وب اپلیکیشن حاوی محتوای تصویری ویدئویی میدهد.
برای آشنایی با وب سرور آپاچی و مقایسه آن با دیگر وبسرورها مقاله زیر را بخوانید.
IIS چه تفاوتی با آپاچی دارد؟
اگر میزبان وبسایتهای مختلفی باشید، احتمالاً از Apache یا IIS استفاده میکنید. این دو وب سرور در مقایسه با سایر رقبای خود بیشترین کاربرد را دارند و در مورد اینکه کدام یک گزینه بهتری است، اختلافات زیادی وجود دارد. اما مهم این است که تفاوتهای بین IIS و Apache را درک کنید و دیدگاهی بیطرفانه در مورد مزایای آنها داشته باشید.
- ویژگیهای امنیتی IIS باعثشده نسبتبه آپاچی امنتر باشد.
- IIS توسط مایکروسافت پشتیبانی میشود، درحالیکه آپاچی رایگان است.
- IIS با سایر سرویسهای مایکروسافت مانند فریمورک داتنت و زبان برنامهنویسی ASPX ادغام میشود.
- IIS از پشتیبانی مایکروسافت برای حل مشکلات بهره میبرد. درحالیکه آپاچی را جامعه کاربران پشتیبانی میکنند.
- آیآیاس فقط روی ویندوز عملکرد پایدار و قابل اعتمادی دارد. این در حالی است که آپاچی روی تمام سیستمعاملها مانند UNIX و macOS و Linux اجرا میشود. ( برای لینوکس مناسب است.) .
۱. ویژگیهای سرور آپاچی در مقابل IIS
آپاچی بهعنوان سرور HTTP Apache شناخته میشود. این سرور متنباز (Open Source) است و توسط بنیاد نرمافزار آپاچی ایجاد شده است. بنابراین مانند بسیاری از برنامههای کاربردی متنباز، بهصورت رایگان توزیعشده و توسط کاربران قابل ویرایش است. مشارکتهای مداوم کاربران و امکان ویرایش توسط آنها به این معنی است که این وب سرور بهطور مداوم در حال پیشرفت است، این ویژگی یکی از دلایل محبوبیت آن بهشمار میرود. در نتیجه مشکلات آن بهراحتی حلشده و بهروزرسانیهای زیادی برای آن ارائه میشود.
یکی از مزیتهای درخورتوجه آپاچی این است که میتوانید آن را روی سیستمعاملهای مختلفی اجرا کنید. آپاچی اغلب با لینوکس استفاده و با زبان اسکریپت PHP و پایگاه داده MySQL ترکیب میشود تا بسته نرمافزاری که معمولاً به عنوان LAMP شناخته میشود را ایجاد کند و این یک راهکار جامع برای وب سرورها محسوب میشود.
آپاچی یک ابزار همهکاره است. از رابطهای زبان رایج از جمله PHP ،TCL ،Perl و Python پشتیبانی میکند و دارای طیف وسیعی از ماژولهای احراز هویت مانند Mod_auth ،Mod_access ،Mod_auth_digest و Mod_digest است.
علیرغم مزایای فراوان، نقاط ضعف آپاچی را نمیتوان نادیده گرفت. اصلیترین مشکل آپاچی ارزشگذاری کم بهصورت غالب بر ارزشِ کیفی است؛ به این معنا که تعداد زیادی ویژگی در آپاچی وجود دارند که عمدتاً استفاده نمیشوند. تخمین زده میشود که از هر ده کاربر آپاچی ۹ نفر فقط از ۱۰ درصد از برنامههای کاربردی آپاچی بهطور منظم استفاده میکنند و اغلب شکایتهایی وجود دارد که آپاچی یک برنامه سریع نیست.
۲. ویژگیهای سرور IIS در مقابل Apache
IIS که به عنوان Microsoft IIS Server نیز شناخته میشود، فقط در سیستمعامل ویندوز کارایی و امنیت بالایی دارد. اشکال واقعی IIS این است که یک محصول وابسته به مایکروسافت است، اما این نیز لزوماً ویژگی بدی نیست چراکه با پشتوانه مایکروسافت، تعداد زیادی منابع پشتیبان برای IIS وجود دارد.
از سال ۲۰۱۰ مایکروسافت IIS شاهد پیشرفتهای بزرگی بوده که منجربه افزایش پیوسته سهم بازار آن شده است و از ۲۱ درصد در سال ۲۰۱۰ به ۳۲ درصد در سال ۲۰۱۴ رشد داشته است. این رشد ۱۱ درصدی تنها در چهار سال است و قطعا این دلیلی بر قابل اعتماد بودن IIS است. درحالیکه سهم بازار آپاچی در حال کاهش است و در همین دوره، آپاچی با کاهش ۱۷ درصدی سهم بازار مواجه شده است. بین سالهای ۲۰۱۰ و ۲۰۱۴، مایکروسافت پیشرفتهای قابلتوجهی در امنیت IIS انجام داد.
مانند آپاچی IIS از اکستنشنهای وب اکسترنال برای اجرای برنامههای کاربردی خاص استفاده میکند. این اکستنش ها موارد زیر را شامل میشوند:
- Application request routing
- Media services
- URL rewriting
- FTP publishing
این ویژگیها ازطریق افزونه ها در نسخه 7.5 IIS پیادهسازی شدند.
سرور ویندوز پارس پک راهحلی قدرتمند برای کسبوکارتان
اگر به سرور ویندوزی با قدرت و سرعت کمنظیر و پایداری و مقیاسپذیری فراوان نیاز دارید، میتوانید از انواع سرور ویندوز پارس پک مانند سرور اختصاصی، سرور مجازی و سرور ابری ویندوز پارس پک استفاده کنید. سرورهای ویندوزی پارس پک با منابع سفارشی و پلنبندیشده ارائه میشوند و با استفاده از آنها میتوانید کسبوکارتان را با دسترسی کامل مدیریت کنید.
جمعبندی
IIS چیست؟ IIS وب سرور ویندوزی است که توسط مایکروسافت توسعه پیدا کرده است. از این وب سرور میتوانید برای میزبانی وبسایتها و وب اپلیکیشنهای مبتنیبر زبان برنامهنویسی ASP.NET و فریمورک NET. استفاده کنید. در این مطلب از آموزش ویندوز و آموزش سیستمعامل بلاگ پارس پک شما را با ویژگیها، مزایا، معایب و عملکرد این وب سرور پرطرفدار آشنا کردیم.
اگرچه وب سرور IIS از نظر سیستمعامل انعطافپذیری کمتری نسبتبه رقبای قدرتمند خود ارائه میدهد، اما مزایای قابل توجهی از پشتیبانی و منابع مبتنیبر ویندوز گرفته تا انعطافپذیری و امنیت بالا دارد که خواه یا ناخواه آن را به گزینهای عالی برای میزبانی دادههای وب تبدیل میکند.
اگر به دنبال وب سروری قابل اعتماد و امن هستید؛ پیشنهاد میکنیم IIS را در بین گزینههای انتخابی خود قرار دهید. چراکه این وب سرور از محصولات مایکروسافت مانند فریمورک داتنت و برنامهنویسی ASPX پشتیبانی میکند و برای افرادی که سایتهایشان به داتنت یا ASPX وابسته است، به احتمال زیاد IIS انتخاب عالی خواهد بود.
سؤاالات متداول
۱. IIS چیست و چگونه کار میکند؟
Internet Information Services (IIS) وب سرور انعطافپذیر و همهمنظوره از مایکروسافت است که روی سیستمعاملهای ویندوزی برای ارائه صفحههای وب یا فایلهای HTML اجرا میشود.
۲. هدف استفاده از IIS چیست؟
IIS اطلاعاتی را در مورد مکان فایلهای محتوا، هویتهای امنیتی که به آن فایلها دسترسی دارد، نحوه تفکیک فایلهای محتوا به برنامهها و همچنین آدرسهای اینترنتی که به آن برنامهها نگاشت میشوند را حفظ میکند.
۳. آیا IIS بهتر از آپاچی است؟
طبق گزارشهای ارائهشده، IIS سریعتر از Apache است و زمان پاسخگویی بهتری دارد و میتواند درخواستهای بیشتری را در هر ثانیه انجام دهد.
۴. چگونه به وب سرور IIS متصل شویم؟
- IIS Manager را باز کنید.
- در قسمت Connections گزینه Create New Connection را در Toolbar باز کنید.
- روی Connect to an Application کلیک کنید تا Connect to Application Wizard باز شود.
- در صفحه Specify Application Connection Details روی Next کلیک کنید.