طراحی سایت

وب‌سرور IIS چیست؛ ۵ مزیت، نحوه کار و ابزارهای مانیتورینگ آن

در این مقاله به شما خواهیم گفت IIS چیست. در واقع Internet Information Services server (سرور خدمات اطلاعات اینترنتی) یا به طور خلاصه سرور IIS یک برنامه وب مبتنی بر ویندوز است که برای ارائه محتوای وب‌سایت از طریق اینترنت به کاربر نهایی استفاده می‌شود. در واقع برای آنکه بدانید IIS چیست می‌توان گفت که IIS یک role سرور قابل نصب است و در تمام محصولات مایکروسافت ویندوز سرور موجود است. همچنین اخیراً، مایکروسافت اجزای IIS را با نسخه‌های حرفه‌ای محصولات سیستم عامل دسک‌تاپ خود، نظیر ویندوز ۱۰ پرو نیز همراه کرده است. IIS معمولا در یک یا چند سرور ویندوزی نصب و مدیریت می‌شود. در این مقاله به شما خواهیم گفت iis چیست و با مزایای آن آشنا خواهیم شد.

وب سرور چیست؟

وب سرور چیست؟ - iis چیست

برای آن که بدانید وب سرور چیست، می‌توان گفت اصطلاح web server (وب سرور) هم می‌تواند به سخت افزار و هم نرم‌افزار و یا هر دوی آن‌ها در کنار هم اشاره داشته باشد.

از نظر سخت‌افزاری، وب‌سرور رایانه‌ای است که نرم‌افزار وب‌سرور و فایل‌های یک وب‌سایت را ذخیره می‌کند. (به عنوان مثال، اسناد HTML، تصاویر، صفحات CSS و پرونده‌های جاوا اسکریپت و…) یک وب سرور به اینترنت متصل می‌شود و از تبادل داده‌های فیزیکی با سایر دستگاه‌های متصل به وب پشتیبانی می‌کند.

از نظر نرم‌افزاری، یک وب سرور شامل چندین قسمت است که نحوه دسترسی کاربران وب را به فایل‌های مربوطه مدیریت و کنترل می‌کند. در واقع وب سرور، یک سرور HTTP است. سرور HTTP نرم افزاری است که آدرس‌های اینترنتی (آدرس‌های وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده می‌کند) را می‌فهمد.

تاریخچه IIS و ورژن‌های آن

تاریخچه IIS و ورژن‌های آن - 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 چیست؟ - iis چیست

وب سرور IIS روی پلتفرم Microsoft .NET و در سیستم عامل ویندوز اجرا می‌شود. اگرچه اجرای IIS در Linux و MacOS با استفاده از Mono نیز امکان پذیر است، اما این کار توصیه نمی‌شود و احتمالاً ناپایدار خواهد بود. IIS یک وب سرور انعطاف پذیر و عمومی‌برای مایکروسافت است و صفحات یا پرونده‌های HTML درخواستی را به کاربر نهایی ارائه می‌دهد. لذا پس از ثبت دامنه ir.، در صورتی که سایت شما با زبان .net نوشته شده باشد، هنگام خرید‌ هاست و دامین حتما‌ هاست ویندوزی و یا سرور اختصاصی با سیستم عامل ویندوز را انتخاب نمایید. (جهت اطلاع از این که سرور چیست، اینجا کلیک نمایید.)

پس از خرید دامنه و سرور اختصاصی و یا خرید vps با سیستم عامل ویندوز و راه اندازی وب سایت خود، وب سرور IIS درخواست‌های ارسالی از سمت مرورگر رایانه‌های کاربران را می‌پذیرد و پاسخ مناسب را به آن‌ها برمی‌گرداند. این قابلیت اساسی به سرورهای وب اجازه می‌دهد تا اطلاعات را در شبکه‌های محلی (LAN) مانند شبکه‌های داخلی شرکت‌ها و شبکه‌های گسترده (WAN) مانند اینترنت به اشتراک بگذارند. (جهت اطلاع از این که vps چیست، اینجا کلیک نمایید.)

یک وب سرور می‌تواند اطلاعات را به چندین شکل مانند صفحات وب استاتیک HTML، و یا از طریق تبادل فایل به عنوان دانلود و آپلود فایلها، اسناد متنی، پرونده‌های تصویری و موارد دیگر به کاربران ارائه دهد.

وب سرور IIS چگونه کار می‌کند؟ (How IIS Processes Requests)

وب سرور IIS چگونه کار می‌کند؟ (How IIS Processes Requests) - iis چیست

دو مدل اصلی فرایند وب سرورهای لینوکسی (جهت اطلاع از این که لینوکس چیست، اینجا کلیک نمایید.) نظیر آپاچی یا Nginx (جهت اطلاع از این که Nginx چیست، اینجا کلیک نمایید.) و یا وب سرورهای ویندوزی نظیر IIS و… این است که یا همه درخواست‌ها را در یک thread واحد مدیریت می‌کنند، یا برای هر درخواست یک thread جدید ایجاد می‌کنند. (جهت اطلاع از این که آپاچی چیست، اینجا کلیک نمایید.)

اگرچه مدل تک رشته‌ای (به عنوان مثال Node.js) دارای چندین worker threads است، اما معمولاً فقط از آنها برای انواع خاصی از درخواست‌ها مانند دسترسی به سیستم فایل (File System) استفاده می‌کند. مدل thread به ازای هر درخواست (thread-per-request) که IIS (و ورژن سبک‌تر آن یعنی IIS Express) استفاده می‌کند، برای هر درخواست یک thread را از thread pool می‌گیرد.

وب سرورها معمولاً درخواست‌ها را با استفاده از الگوی request-response پاسخ می‌دهند. بدین معنا که مشتری درخواستی را ارسال می‌کند و پاسخی دریافت می‌کند. در این نوع درخواست‌ها از پروتکل HTTP و یا HTTPS (در صورت خرید SSL) در هنگام برقراری ارتباط بین مشتری و وب سرور از طریق اینترنت، استفاده می‌شود.

از طرفی دیگر، پردازنده بسته به نوع کدی که پردازش می‌شود، بین دو مد Kernel Mode و User Mode تغییر می‌کند:

Kernel mode

Kernel mode - iis چیست

اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا می‌شوند. همه کدهایی که در حالت Kernel Mode اجرا می‌شوند یک فضای آدرس مجازی مشترک دارند. این بدان معنی است که یک درایور در حالت Kernel Mode از سایر درایورها و سیستم عامل جدا نیست. اگر یک درایور در حالت Kernel Mode به طور تصادفی در آدرس مجازی اشتباهی داده ای بنویسد، داده‌های متعلق به سیستم عامل یا درایور دیگری ممکن است به خطر بیفتند. در نتیجه اگر درایور در حالت Kernel Mode خراب شود، کل سیستم عامل خراب می‌شود.

User mode

User mode - iis چیست

برنامه‌ها در حالت User Mode و پردازنده‌ای که در حالت User Mode در حال اجرا است نمی‌تواند به آدرس‌های مجازی که مخصوص سیستم عامل است دسترسی پیدا کند. هنگامی‌که شما یک برنامه حالت User Mode را اجرا می‌کنید، ویندوز فرایندی (process) برای برنامه ایجاد می‌کند. این پروسس یک فضای آدرس مجازی خصوصی و یک جدول خصوصی (private handle table) برای برنامه ایجاد می‌کند. از آنجا که فضای آدرس مجازی یک برنامه خصوصی است، یک برنامه نمی‌تواند داده‌های مربوط به برنامه دیگر را تغییر دهد. در نتیجه هر برنامه به صورت جداگانه اجرا می‌شود و اگر برنامه ای خراب شود، خرابی به همان یک برنامه محدود می‌شود و سایر برنامه‌ها و سیستم عامل تحت تأثیر خرابی آن برنامه قرار نمی‌گیرند.

سرور IIS با چه فریم‌ورک‌ها و زبان‌های برنامه‌نویسی کار می‌کند؟

سرور IIS با چه فریم‌ورک‌ها و زبان‌های برنامه‌نویسی کار می‌کند؟ - 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 - iis چیست

می‌توانید با دنبال کردن این مراحل IIS را نصب کنید.

۱. از طریق منوی start گزینه Server Manager را باز کنید.

Server Manager Windows Server 2016 - iis چیست

۲. روی گزینه Add roles and features کلیک کنید و سپس next را بزنید.

Server Manager Add Roles And Features Windows Server 2016 - iis چیست

۳. سپس در پنجره Select installation type، گزینه Role-based or feature-based installation را انتخاب کرده و Next را کلیک کنید.

Select Installation Type Windows Server 2016 - iis چیست

۴. سپس گزینه Select a server from the server pool را انتخاب کنید و روی بعدی کلیک کنید. همچنین می‌توانید سرور دیگری را که از اینجا مدیریت می‌کنید یا VHD را انتخاب کنید.

Select Destination Server Windows Server 2016 - iis چیست

۵. از پنجره Select server roles، کادر کنار Web Server (IIS) را علامت بزنید. با انجام این کار ممکن است یک پنجره جدید باز شود که توصیه می‌کند ویژگی‌های اضافی مورد نیاز است، روی دکمه Add Features کلیک کنید تا این موارد نیز نصب شود.

Select Server Roles - Windows Server 2016 - iis چیست

Add Required Features - Windows Server 2016 - iis چیست

۶. بعد از اتمام این گزینه، گزینه Next را در فهرست انتخاب نقش‌های سرور کلیک کنید.

Select Features - Windows Server 2016 - iis چیست

۷. سپس در پنجره بعدی کافیست روی Next کلیک کنید.

Web Server Role (IIS) - Windows Server 2016 - iis چیست

۸. در این مرحله در پنجره “Select role services” می‌توانید در صورت لزوم ویژگی‌های اضافی را برای IIS نصب کنید. اما لازم نیست نگران این موضوع باشید زیرا همیشه می‌توانید دوباره برگردید و موارد بیشتری اضافه کنید، بنابراین برای نصب پیش فرض‌ها فقط روی Next کلیک کنید.

Seelct Role Services - Windows Server 2016 - iis چیست

۹. سرانجام در پنجره “Confirm installation selections”، مواردی را که قرار است نصب شوند مرور کرده و هنگامی‌که آماده ادامه نصب وب سرور IIS هستید، روی نصب کلیک کنید.

Confirm Installation Selections - Windows Server 2016 - iis چیست

۱۰. با نصب استاندارد IIS نیازی به راه اندازی مجدد سرور نیست. پس از نصب موفقیت آمیز، روی دکمه close کلیک کنید. در این مرحله IIS باید به صورت پیش فرض روی پورت 80 اجرا شود.

Installation Progress - Windows Server 2016 - iis چیست

۱۱. با باز کردن یک مرورگر وب و وارد نمودن آدرس IP سروری که IIS را روی آن نصب کرده ایم، می‌توانیم آن را تست کنیم و شما باید صفحه IIS پیش فرض را مشاهده کنید.

Windows Server 2016 IIS default web page - iis چیست

مزایای وب‌سرور IIS

مزایای وب‌سرور IIS (features of IIS web server) - iis چیست

مهمترین مزایای IIS در ادامه شرح داده شده است.

۱. کاربردها و ویژگی‌های زیاد

کاربردها و ویژگی‌های زیاد - iis چیست

IIS با ویژگی‌های زیاد و متنوعی همراه است. معمولاً از IIS برای میزبانی برنامه‌های وب ASP.NET و وب سایتهای استاتیک استفاده می‌شود. همچنین می‌تواند به عنوان یک سرور FTP، خدمات WCF نیز مورد استفاده قرار گیرد و به برنامه‌های وب ساخته شده در سیستم عامل‌های دیگر مانند PHP نیز گسترش یابد.

۲. ویژگی‌های امنیتی

گزینه‌های احراز هویت داخلی مانند Basic ASP.NET و Windows auth وجود دارد. اگر محیط Windows Active Directory داشته باشید، مورد دوم بسیار مفید است. سایر ویژگی‌های امنیتی شامل مدیریت گواهی TLS و فعال کردن HTTPS و SFTP در سایت، درخواست فیلتر برای لیست سفید یا مسدود کردن ترافیک در لیست سیاه، قوانین مجوز، ثبت درخواست و مجموعه ای عالی از گزینه‌های امنیتی خاص FTP است.

۳. application pool

application pool - iis چیست

یکی از ویژگی‌های اصلی IIS، مجموعه application pool است چرا که یک جز اساسی و مهم در مدل فرآیند IIS است.

۴. مدیریت از راه دور

یک ویژگی ارزشمند دیگر IIS، مدیریت از راه دور است. IIS را می‌توان از طریق CLI یا با استفاده از PowerShell نیز مدیریت کرد. همچنین شما می‌توانید از همه موارد اسکریپت بگیرید.

۵. انعطاف پذیری

انعطاف پذیری - iis چیست

IIS قابلیت‌های عالی در انعطاف پذیری دارد. باید توجه داشته باشید که علاوه بر میزبانی از برنامه‌های ASP.NET، می‌تواند برای استفاده در اهداف مختلف نیز توسعه یابد. IIS می‌تواند به یک وب سرور بسیار متنوع و پایدار برای بستر ویندوز تبدیل می‌شود.

ابزارهای مانیتورینگ IIS (Best IIS Tools)

ابزارهای مانیتورینگ IIS (Best IIS Tools) - iis چیست

۱. Server & Application Monitor

از دیدگاه امنیت ، SAM مجموعه ای از ابزارها را برای ایمن نگه داشتن برنامه های آنلاین شما در اختیار دارد. به عنوان مثال، ویژگی امنیتی نظارت بر گواهی SSL است که SAM از آن استفاده می کند. می توانید به سرعت در یک گزارش ساده نمای کلی از کلیه گواهینامه های SSL و تاریخ انقضا آنها را بدست آورید.

۲. SolarWinds Server Performance & Configuration Bundle

SolarWinds Server Performance & Configuration Bundle - iis چیست

اگر به دنبال ابزاری هستید که بتواند IIS را کنترل کند و همچنین سایر برنامه‌های کاربردی نظارت دقیق را ارائه دهد، SolarWinds Server Performance & Configuration Bundle (SPCB) برای سازمان شما کاملا مناسب است.

۳. AppDynamics

ابزار دیگری که ممکن است با آن آشنایی داشته باشید AppDynamics است. AppDynamics به دلیل مدیریت عملکرد برنامه شناخته شده است و شامل نظارت بر سرورهای IIS نیز می‌باشد. AppDynamics مدیریت IIS را از طریق یک عامل ساده دات نت انجام می‌دهد. در این حالت سرور IIS شروع به گزارش دادن داده‌ها به کنترل کننده می‌کند.

۴. Dynatrace

Dynatrace - iis چیست

Dynatrace ابزار مانیتورینگ قدرتمندی را ارائه می‌دهد که عملکرد را هم در سرور و هم در سطح کاربر نهایی اندازه گیری می‌کند. Dynatrace به عنوان یکی از گزینه‌های مقیاس پذیر معرفی شده و به شما امکان مدیریت بیش از 100000 میزبان در هر کلاستر (cluster) را می‌دهد. ویژگی‌های این ابزار نه تنها قدرتمند هستند، بلکه اجرای آنها نیز آسان است. راه اندازی و شروع کار آن حدود پنج دقیقه طول می‌کشد.

۵. Paessler PRTG Network Monitor

Paessler PRTG دارای یک سنسور نظارت داخلی است که تمام IIS را در بر می‌گیرد. PRTG با استفاده از ابزار مدیریت Windows، سرور IIS را کنترل می‌کند. PRTG علاوه بر خود سرور، همچنین می‌تواند برنامه‌هایی را که از IIS استفاده می‌کنند، مانند Microsoft Reporting Services یا SharePoint را نیز نظارت کند.

۶. Orca

Orca - iis چیست

Orca بر ساده سازی پیکربندی‌های سرورهای IIS از طریق اتوماسیون و همچنین ارائه نظارت و گزارش سرور IIS متمرکز است. از طریق Orca شما کنترل کاملی بر محیط توسعه خود خواهید داشت و توانایی ایجاد یا اصلاح دایرکتوری‌های مجازی، برنامه‌های کاربردی، ویژگی‌های IIS و وب سایت‌ها را نیز دارید.

کلام آخر

همانطور که گفته شد وب سرور اصطلاحی است که می‌تواند هم به سخت افزار و هم به نرم افزار اشاره داشته باشد. با این حال، صرف نظر از معنی، این یک قسمت اساسی از اینترنت است که امروزه می‌شناسیم. از طریق آن، اطمینان حاصل می‌کنیم که می‌توان داده‌ها را در دستگاه متصل به شبکه ذخیره کرد و اجازه می‌دهد تا این داده‌ها از طریق اینترنت و پروتکل‌های شبکه، مانند TCP / IP، در دسترس هر دستگاه دیگری قرار گیرند.

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

[faq]

سوالات متداول


این تأثیر به بار سرور بستگی خواهد داشت. اگر در حال انجام 10 هزار درخواست در ثانیه باشید، به شدت نیاز کش کردن را احساس خواهید نمود. با این حال، اگر حدود 100 درخواست در ثانیه انجام دهید، احتمالاً متوجه تغییری نخواهید شد.

 


خیر، اما بازیافت مبتنی بر حافظه (memory-based) وجود دارد که برنامه‌های Application pool را که بیش از حد حافظه مصرف میکنند را میتوان ریست (recycle) نمود.


اگر سایت web.config نداشته باشد، IIS یکی ایجاد می‌کند. اگر سایت دارای web.config باشد، IIS آن را اصلاح می‌کند. اگر web.config اصلاح شود، مسئول سایت می‌بایست ادغام تغییرات را به صورت دستی انجام دهد.


IIS مجموعه ای از URL‌ها است که به یک یا چند فرایند worker processes هدایت می‌شود. Application pools مسئول جدا کردن یک یا چند برنامه از پروسس خود هستند. Application pools به طور قابل توجهی قابلیت اطمینان و سادگی مدیریت زیرساخت‌های وب را افزایش می‌دهند.


IIS دارای دو حالت Kernel Mode و User Mode به شرح زیر است:

Kernel Mode

HTTP.SYS


User Mode

Web Admin Service

Virtual Directory

Application Pool

منبع :
atlantic.net
mozilla.org
en.wikipedia.org
port135.com
stackify.com
techtarget.com
microsoft.com
microsoft.com
docs.microsoft.com
rootusers.com
pcwdld.com
itprc.com
microsoft.com
cdc.gov

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

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