در این مقاله به شما خواهیم گفت IIS چیست. در واقع Internet Information Services server (سرور خدمات اطلاعات اینترنتی) یا به طور خلاصه سرور IIS یک برنامه وب مبتنی بر ویندوز است که برای ارائه محتوای وبسایت از طریق اینترنت به کاربر نهایی استفاده میشود.
در واقع برای آنکه بدانید IIS چیست میتوان گفت که IIS یک role سرور قابل نصب است و در تمام محصولات مایکروسافت ویندوز سرور موجود است. همچنین اخیراً، مایکروسافت اجزای IIS را با نسخههای حرفهای محصولات سیستم عامل دسکتاپ خود، نظیر ویندوز ۱۰ پرو نیز همراه کرده است.
IIS معمولا در یک یا چند سرور ویندوزی نصب و مدیریت میشود. در این مقاله به شما خواهیم گفت iis چیست و با مزایای آن آشنا خواهیم شد.
وب سرور چیست؟
برای آن که بدانید وب سرور چیست، میتوان گفت اصطلاح web server (وب سرور) هم میتواند به سخت افزار و هم نرمافزار و یا هر دوی آنها در کنار هم اشاره داشته باشد.
از نظر سختافزاری، وبسرور رایانهای است که نرمافزار وبسرور و فایلهای یک وبسایت را ذخیره میکند. (به عنوان مثال، اسناد HTML، تصاویر، صفحات CSS و پروندههای جاوا اسکریپت و…) یک وب سرور به اینترنت متصل میشود و از تبادل دادههای فیزیکی با سایر دستگاههای متصل به وب پشتیبانی میکند.
از نظر نرمافزاری، یک وب سرور شامل چندین قسمت است که نحوه دسترسی کاربران وب را به فایلهای مربوطه مدیریت و کنترل میکند. در واقع وب سرور، یک سرور HTTP است. سرور HTTP نرم افزاری است که آدرسهای اینترنتی (آدرسهای وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده میکند) را میفهمد.
تاریخچه IIS و ورژنهای آن
اولین وبسرور مایکروسافت یک پروژه تحقیقاتی در مرکز دانشگاهی Microsoft Windows NT Academic (EMWAC)، یعنی بخشی از دانشگاه ادینبورگ اسکاتلند بود و به صورت نرمافزار رایگان توزیع شد. اما از آنجا که سرورهای EMWAC قادر به کنترل میزان ترافیک Microsoft.com نبود، مایکروسافت مجبور شد وب سرور خود، IIS را ایجاد نموده و آن را توسعه دهد.
تاکنون نسخههای گوناگونی از IIS منتشر شده است. همانطور که در جدول زیر مشاهده میکنید، به طور خلاصه نسخههای IIS و سیستم عاملهایی که در آنها گنجانده شده است، آورده شده است.
لطفا توجه داشته باشید که نسخه ای IIS ۹ وجود ندارد. مایکروسافت از شماره ۹ صرف نظر کرده است مانند نسخه بعدی ویندوز ۸ که به چای نسخه ۹ آن ویندوز ۱۰ را ارائه داد.
Version | Operating System |
1.0 | Included with Windows NT 3.51 SP 3 |
2.0 | Included with Windows NT Server 4.0. |
3.0 | Included with Windows NT Server 4.0 Service Pack 3 |
4.0 | Self-contained download |
5.0 | Built-in component of Windows 2000. |
5.1 | Built-in component of Windows XP Professional. |
6.0 | Built-in component of Windows Server 2003. |
7.0 | Built-in component of Windows Vista and Windows Server 2008. |
7.5 | Built-in component of Windows 7 and Windows Server 2008 R2. |
8.0 | Built-in component of Windows 8 and Windows Server 2012. |
8.5 | Built-in component of Windows 8.1 and Windows Server 2012 R2 |
10 | Built-in component of Windows 10 and Windows Server 2016 |
وب سرور IIS چیست؟
وب سرور IIS روی پلتفرم Microsoft .NET و در سیستم عامل ویندوز اجرا میشود. اگرچه اجرای IIS در Linux و MacOS با استفاده از Mono نیز امکان پذیر است، اما این کار توصیه نمیشود و احتمالاً ناپایدار خواهد بود. IIS یک وب سرور انعطاف پذیر و عمومیبرای مایکروسافت است و صفحات یا پروندههای HTML درخواستی را به کاربر نهایی ارائه میدهد.
پس از راه اندازی وب سایت خود، وب سرور IIS درخواستهای ارسالی از سمت مرورگر رایانههای کاربران را میپذیرد و پاسخ مناسب را به آنها برمیگرداند. این قابلیت اساسی به سرورهای وب اجازه میدهد تا اطلاعات را در شبکههای محلی (LAN) مانند شبکههای داخلی شرکتها و شبکههای گسترده (WAN) مانند اینترنت به اشتراک بگذارند. (جهت اطلاع از این که vps چیست، اینجا کلیک نمایید.)
یک وب سرور میتواند اطلاعات را به چندین شکل مانند صفحات وب استاتیک HTML، و یا از طریق تبادل فایل به عنوان دانلود و آپلود فایلها، اسناد متنی، پروندههای تصویری و موارد دیگر به کاربران ارائه دهد.
وب سرور IIS چگونه کار میکند؟ (How IIS Processes Requests)
دو مدل اصلی فرایند وب سرورهای لینوکسی نظیر آپاچی یا Nginx و یا وب سرورهای ویندوزی نظیر IIS و… این است که یا همه درخواستها را در یک thread واحد مدیریت میکنند، یا برای هر درخواست یک thread جدید ایجاد میکنند. (جهت اطلاع از این که آپاچی چیست، اینجا کلیک نمایید.)
اگرچه مدل تک رشتهای (به عنوان مثال Node.js) دارای چندین worker threads است، اما معمولاً فقط از آنها برای انواع خاصی از درخواستها مانند دسترسی به سیستم فایل (File System) استفاده میکند. مدل thread به ازای هر درخواست (thread-per-request) که IIS (و ورژن سبکتر آن یعنی IIS Express) استفاده میکند، برای هر درخواست یک thread را از thread pool میگیرد.
وب سرورها معمولاً درخواستها را با استفاده از الگوی request-response پاسخ میدهند. بدین معنا که مشتری درخواستی را ارسال میکند و پاسخی دریافت میکند. در این نوع درخواستها از پروتکل HTTP و یا HTTPS در هنگام برقراری ارتباط بین مشتری و وب سرور از طریق اینترنت، استفاده میشود.
از طرفی دیگر، پردازنده بسته به نوع کدی که پردازش میشود، بین دو مد Kernel Mode و User Mode تغییر میکند:
Kernel mode
اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا میشوند. همه کدهایی که در حالت Kernel Mode اجرا میشوند یک فضای آدرس مجازی مشترک دارند. این بدان معنی است که یک درایور در حالت Kernel Mode از سایر درایورها و سیستم عامل جدا نیست.
اگر یک درایور در حالت Kernel Mode به طور تصادفی در آدرس مجازی اشتباهی داده ای بنویسد، دادههای متعلق به سیستم عامل یا درایور دیگری ممکن است به خطر بیفتند. در نتیجه اگر درایور در حالت Kernel Mode خراب شود، کل سیستم عامل خراب میشود.
User mode
برنامهها در حالت User Mode و پردازندهای که در حالت User Mode در حال اجرا است نمیتواند به آدرسهای مجازی که مخصوص سیستم عامل است دسترسی پیدا کند. هنگامیکه شما یک برنامه حالت User Mode را اجرا میکنید، ویندوز فرایندی (process) برای برنامه ایجاد میکند.
این پروسس یک فضای آدرس مجازی خصوصی و یک جدول خصوصی (private handle table) برای برنامه ایجاد میکند. از آنجا که فضای آدرس مجازی یک برنامه خصوصی است، یک برنامه نمیتواند دادههای مربوط به برنامه دیگر را تغییر دهد.
در نتیجه هر برنامه به صورت جداگانه اجرا میشود و اگر برنامه ای خراب شود، خرابی به همان یک برنامه محدود میشود و سایر برنامهها و سیستم عامل تحت تأثیر خرابی آن برنامه قرار نمیگیرند.
سرور IIS با چه فریمورکها و زبانهای برنامهنویسی کار میکند؟
جدول زیر زبانهای برنامهنویسی سازگار برای فناوری توسعه وب را که در IIS موجود است، نمایش میدهد.
Technology | Programming language or technology |
ASP | Automation-compliant scripting languages like Microsoft Visual Basic Scripting Edition (VBScript), JScript?, or PerlScript |
ASP.NET | .NET-compliant languages like C# or Visual Basic .NET |
COM (ASP component) | COM and either C, Visual C++?, Visual Basic?, or Java |
ISAPI | C or Visual C++ |
CGI | Perl, C, Visual C++, or Visual Basic |
همچنین IIS میتواند خدمات انتشار وب جهانی، خدمات پروتکل انتقال فایل (FTP)، پروتکل انتقال ایمیل (SMTP) و پروتکل انتقال اخبار شبکه (NNTP) را ارائه دهد. پس از دریافت آدرس IP ثبت دامنه خود در DNS سرور و پیکربندی مناسب شبکه، میتوانید از IIS برای میزبانی و مدیریت وبسایتها و سایر محتوای اینترنت استفاده کنید.
آموزش نصب و پیکربندی وبسرور IIS
میتوانید با دنبال کردن این مراحل IIS را نصب کنید.
۱. از طریق منوی start گزینه Server Manager را باز کنید.
۲. روی گزینه Add roles and features کلیک کنید و سپس next را بزنید.
۳. سپس در پنجره Select installation type، گزینه Role-based or feature-based installation را انتخاب کرده و Next را کلیک کنید.
۴. سپس گزینه Select a server from the server pool را انتخاب کنید و روی بعدی کلیک کنید. همچنین میتوانید سرور دیگری را که از اینجا مدیریت میکنید یا VHD را انتخاب کنید.
۵. از پنجره Select server roles، کادر کنار Web Server (IIS) را علامت بزنید. با انجام این کار ممکن است یک پنجره جدید باز شود که توصیه میکند ویژگیهای اضافی مورد نیاز است، روی دکمه Add Features کلیک کنید تا این موارد نیز نصب شود.
۶. بعد از اتمام این گزینه، گزینه Next را در فهرست انتخاب نقشهای سرور کلیک کنید.
۷. سپس در پنجره بعدی کافیست روی Next کلیک کنید.
۸. در این مرحله در پنجره “Select role services” میتوانید در صورت لزوم ویژگیهای اضافی را برای IIS نصب کنید. اما لازم نیست نگران این موضوع باشید زیرا همیشه میتوانید دوباره برگردید و موارد بیشتری اضافه کنید، بنابراین برای نصب پیش فرضها فقط روی Next کلیک کنید.
۹. سرانجام در پنجره “Confirm installation selections”، مواردی را که قرار است نصب شوند مرور کرده و هنگامیکه آماده ادامه نصب وب سرور IIS هستید، روی نصب کلیک کنید.
۱۰. با نصب استاندارد IIS نیازی به راه اندازی مجدد سرور نیست. پس از نصب موفقیت آمیز، روی دکمه close کلیک کنید. در این مرحله IIS باید به صورت پیش فرض روی پورت 80 اجرا شود.
۱۱. با باز کردن یک مرورگر وب و وارد نمودن آدرس IP سروری که IIS را روی آن نصب کرده ایم، میتوانیم آن را تست کنیم و شما باید صفحه IIS پیش فرض را مشاهده کنید.
مزایای وبسرور IIS
مهمترین مزایای IIS در ادامه شرح داده شده است.
۱. کاربردها و ویژگیهای زیاد
IIS با ویژگیهای زیاد و متنوعی همراه است. معمولاً از IIS برای میزبانی برنامههای وب ASP.NET و وب سایتهای استاتیک استفاده میشود. همچنین میتواند به عنوان یک سرور FTP، خدمات WCF نیز مورد استفاده قرار گیرد و به برنامههای وب ساخته شده در سیستم عاملهای دیگر مانند PHP نیز گسترش یابد.
۲. ویژگیهای امنیتی
گزینههای احراز هویت داخلی مانند Basic ASP.NET و Windows auth وجود دارد. اگر محیط Windows Active Directory داشته باشید، مورد دوم بسیار مفید است. سایر ویژگیهای امنیتی شامل مدیریت گواهی TLS و فعال کردن HTTPS و SFTP در سایت، درخواست فیلتر برای لیست سفید یا مسدود کردن ترافیک در لیست سیاه، قوانین مجوز، ثبت درخواست و مجموعه ای عالی از گزینههای امنیتی خاص FTP است.
۳. application pool
یکی از ویژگیهای اصلی IIS، مجموعه application pool است چرا که یک جز اساسی و مهم در مدل فرآیند IIS است.
۴. مدیریت از راه دور
یک ویژگی ارزشمند دیگر IIS، مدیریت از راه دور است. IIS را میتوان از طریق CLI یا با استفاده از PowerShell نیز مدیریت کرد. همچنین شما میتوانید از همه موارد اسکریپت بگیرید.
۵. انعطاف پذیری
IIS قابلیتهای عالی در انعطاف پذیری دارد. باید توجه داشته باشید که علاوه بر میزبانی از برنامههای ASP.NET، میتواند برای استفاده در اهداف مختلف نیز توسعه یابد. IIS میتواند به یک وب سرور بسیار متنوع و پایدار برای بستر ویندوز تبدیل میشود.
ابزارهای مانیتورینگ IIS (Best IIS Tools)
۱. Server & Application Monitor
از دیدگاه امنیت ، SAM مجموعه ای از ابزارها را برای ایمن نگه داشتن برنامه های آنلاین شما در اختیار دارد. به عنوان مثال، ویژگی امنیتی نظارت بر گواهی SSL است که SAM از آن استفاده می کند. می توانید به سرعت در یک گزارش ساده نمای کلی از کلیه گواهینامه های SSL و تاریخ انقضا آنها را بدست آورید.
۲. SolarWinds Server Performance & Configuration Bundle
اگر به دنبال ابزاری هستید که بتواند IIS را کنترل کند و همچنین سایر برنامههای کاربردی نظارت دقیق را ارائه دهد، SolarWinds Server Performance & Configuration Bundle (SPCB) برای سازمان شما کاملا مناسب است.
۳. AppDynamics
ابزار دیگری که ممکن است با آن آشنایی داشته باشید AppDynamics است. AppDynamics به دلیل مدیریت عملکرد برنامه شناخته شده است و شامل نظارت بر سرورهای IIS نیز میباشد. AppDynamics مدیریت IIS را از طریق یک عامل ساده دات نت انجام میدهد. در این حالت سرور IIS شروع به گزارش دادن دادهها به کنترل کننده میکند.
۴. Dynatrace
Dynatrace ابزار مانیتورینگ قدرتمندی را ارائه میدهد که عملکرد را هم در سرور و هم در سطح کاربر نهایی اندازه گیری میکند. Dynatrace به عنوان یکی از گزینههای مقیاس پذیر معرفی شده و به شما امکان مدیریت بیش از 100000 میزبان در هر کلاستر (cluster) را میدهد. ویژگیهای این ابزار نه تنها قدرتمند هستند، بلکه اجرای آنها نیز آسان است. راه اندازی و شروع کار آن حدود پنج دقیقه طول میکشد.
۵. Paessler PRTG Network Monitor
Paessler PRTG دارای یک سنسور نظارت داخلی است که تمام IIS را در بر میگیرد. PRTG با استفاده از ابزار مدیریت Windows، سرور IIS را کنترل میکند. PRTG علاوه بر خود سرور، همچنین میتواند برنامههایی را که از IIS استفاده میکنند، مانند Microsoft Reporting Services یا SharePoint را نیز نظارت کند.
۶. Orca
Orca بر ساده سازی پیکربندیهای سرورهای IIS از طریق اتوماسیون و همچنین ارائه نظارت و گزارش سرور IIS متمرکز است. از طریق Orca شما کنترل کاملی بر محیط توسعه خود خواهید داشت و توانایی ایجاد یا اصلاح دایرکتوریهای مجازی، برنامههای کاربردی، ویژگیهای IIS و وب سایتها را نیز دارید.
کلام آخر
همانطور که گفته شد وب سرور اصطلاحی است که میتواند هم به سخت افزار و هم به نرم افزار اشاره داشته باشد. با این حال، صرف نظر از معنی، این یک قسمت اساسی از اینترنت است که امروزه میشناسیم. از طریق آن، اطمینان حاصل میکنیم که میتوان دادهها را در دستگاه متصل به شبکه ذخیره کرد و اجازه میدهد تا این دادهها از طریق اینترنت و پروتکلهای شبکه، مانند TCP / IP، در دسترس هر دستگاه دیگری قرار گیرند.
سرورهای وب رمز به جدیدترین سخت افزار و زیرساختها مجهز هستند. علاوه بر این، با خرید سرورهای ویندوزی و خرید هاست ویندوز ایران و خارج به راحتی میتوانید با کمک متخصصین وب رمز سایت و اپلیکیشنهای خود را مدیریت نمایید.
سوالات متداول
User Mode Web Admin Service Virtual Directory Application Pool
دیدگاهتان را بنویسید