در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش IIS جامع قسمت 1 : معماری ، ابزارها و تکنیک ها

با نام و یاد خدا سری مجموعه آموزشی وب سرور IIS را به روشی نوین در قالب یک سری مقاله قدم به قدم و تصویری را شروع می کنیم . در اولین قسمت از این سری مقالات شما را ابتدا با معماری کلی وب سرور IIS آشنا می کنیم و روش هایی که این سرور به درخواست ها پاسخ می دهد و شیوه پردازش درخواست ها را بررسی خواهیم کرد .

در ادامه به معرفی ابزارهای مختلف مدیریتی این سرور خواهیم پرداخت و کمی هم در خصوص تفاوت های نسخه 7 و 7.5 وب سرور IIS با نسخه قبلی که IIS 6.0 صبحت خواهیم کرد . هدف اصلی این سری مقالات آشنایی شما دوستان با ساختار IIS 7 و IIS 7.5 است و امیدوار هستیم در انتهای این سری مقالات به این هدف برسیم.


معرفی ساختار Kernel Mode Listener

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

در این لایه نرم افزارهایی مثل درایورهای سیستم نصب و کار می کنند تا بتوانند در سریعترین زمان ممکن اجرا شوند . همانطور که دیدید استفاده از این لایه برای نرم افزارهای کاربردی در دو بعد قابل بررسی بود ، بعد اول سرعت اجرا و بعد دوم خطاهای احتمالی است . این لایه را در ذهن داشته باشید تا لایه بعدی را معرفی کنیم ، در لایه کاربر یا User Mode نرم افزارها با سرعت کمترو البته در محیط محدود شده و محافظت شده ای از سیستم عامل اجرا می شوند .

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


Http Listener در IIS چیست ؟


برای مثال همانطور که اشاره شد درایورهای سیستم عامل در لایه کرنل فعالیت می کنند و در صورت بروز مشکل کل سیستم دچار مشکل شده و بعضا خطاهای صفحه آبی یا همان Blue Screen صادر می شوند ، اما نرم افزارهایی مثل آفیس ورد یا Excel در لایه کاربری فعالیت می کنند و در صورت بروز هرگونه مشکل در این لایه صرفا باعث بروز خطا در همان نرم افزار خواهد شد و سیستم عامل تحت تاثیر این مشکل قرار نخواهد گرفت ، قطعا در ویندوز یا چنین خطاهایی مواجه شده اید که سیستم به حالت Not Responding قرار میگیرد و نمی تواند آن نرم افزار خاص را اجرا کند در صورتیکه کارهای دیگر سیستم به درستی انجام می شود.

خوب در بحث وب سرور تصور کنید که یکی از وب سایت هایی که در IIS وجود دارد و در لایه کرنل فعالیت می کند به مشکل بخورد ، چه اتفاقی ممکن اسات بیافتد ؟ بله تمامی وب سایت های دیگر هم دچار مشکل خواهند شد و به خاطر وجود یک باگ ضعیف در کدهای یک نرم افزار کل سیستم دچار مشکل می شود . برای حل این مشکل در وب سرور IIS و بصورت خاص از نسخه 6 آن که در ویندوز سرور 2003 معرفی شد ساختار به نام Http Listener به سیستم عامل اضافه شد . در این حالت هیچگونه درخواستی و عملیات پردازشی در لایه کرنل سیستم عامل انجام نمی شود .

در این حالت سرور ابتدا درخواست ها را در لایه کرنل و توسط سرویسی به نام Http Listener دریافت کرده و آنها را تحلیل میکند ، منظور از تحلیل این است که وب سرور IIS توانایی میزبانی بیش از چندین وب سایت را دارد و بر همین اساس درخواست هایی که از طریق وب دریافت می کند متفاوت می باشد و بایستی درخواست مورد نظر دقیقا به وب سایت مورد نظر ارجاع داده شود ، در صورت درخواست پردازش خاص یا ساده تر بگوییم وب سایت خاص ، این سرویس که در لایه کرنل فعال است درخواست ها را بصورت تفکیک شده بر اساس هر درخواست به لایه کاربر یا User Mode برای اجرا ارسال می کند و در اینجاست که بر اساس هر درخواست یک پردازش یا Process در CPU ایجاد می شود.


وظیفه Http Listener و فایل HTTP.SYS  در IIS


حال اگر برای هر یک از این درخواست ها مشکلی پیش بیاید براحتی همان درخواست را می توانید بدون ایجاد مشکل برای سایر درخواست ها از صف پردازش خارج کنید و وب سرور شما به مشکل نخواهد خورد . با این روش ضمن اینکه امنیت سیستم عامل بالا می رود امکان تفیکیک و اولویت بندی پردازش ها نیز ایجاد خواهد شد. با توجه به اینکه در این مقاله بصورت ویژه به مبحث وب سرور اشاره می کنیم توجه کنید که پس از اینکه Http Listener درخواست را به لایه User Mode انتقال داد به ازای هر درخواست یک پردازش به نام wp.exe که مخفف Worker Process است ایجاد خواهد کرد.

شما براحتی می توانید از طریق Task Manager این پردازش های ایجاد شده توسط Http Listener را مشاهده کنید . جالب اینجاست بدانید که Http Listener به دلیل اینکه می تواند وجود یا عدم وجود صفحات درخواستی و یا نوع درخواست هایی وارد می شود را برررسی کند می تواند در همان لایه کرنل تعیین کند که درخواست وارده درست یا معتبر است یا حمله به وب سرور است و در عین حال در همان لایه این درخواست های غیرمعتبر را حذف و رد می کند. توجه کنید که Http Listener به هیچ عنوان عمل پردازشی در لایه Kernel Mode انجام نمی دهد .


بررسی ساختار ماژولار IIS 7 و IIS 7.5

امروزه امنیت در وب سرورها یکی از مهمترین قسمت های زندگی هر ITMAN شده است . اگر با وب سرورهای قدیمی تر مایکروسافت کار کرده باشید حتما به خاطر دارید که در هنگام نصب این وب سرور شما می توانستید تا حدودی تعیین کنید که چه امکاناتی به همراه وب سرور بر روی آن نصب شود . هرچه به عقب تر برگردیم این ساختار تعیین امکانات نصب برای وب سرورها کمتر می شد تا جاییکه وقتی شما می خواستید یک وب سرور را نصب کنید به ناچار مجبور بودید که کلیه امکانات را به یکباره نصب کنید و قادر به تفکیک امکانات نصب نبودید . اما چه اهمیتی دارد که شما بتوانید برای وب سرور تعیین کنید که چه امکانات یا Feature هایی داشته باشد یا نداشته باشد ؟

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

خوب همین بحث را در خصوص وب سرور IIS نیز داریم ، اگر قرار نیست ما بر روی سرور خود قابلیت Browse کردن دایرکتوری های سرور را بدهیم بنابراین اصلا این امکان وب سرور را نصب نمی کنیم و ریسک سوء استفاده از آن را به صفر می رسانیم . در نسخه 7 و 7.6 از وب سرور IIS بر خلاف نسخه های قبلی تمامی موارد و امکانانی که مد نظر یک کاربر است در قالب یک ماژول یا Feature ارائه شده است ، شما می توانید براحتی تعیین کنید که به چه امکاناتی نیاز دارید و صرفا همانها را نصب کنید و بدین ترتیب از بروز مشکلات و تهدیدات ناشی از نصب بیهوده امکانات وب سرور که متاسفانه بر حسب عادت اکثر دوستان در ایران در هنگام نصب سرور همه امکانات آن را نصب می کنند ، جلوگیری خواهید کرد.

برای اینکه درک بهتری از موضوع ماژول های داشته باشید من وارد کنسول گرافیکی IIS در ویندوز سرور 2008 شده ام تا کمی بصورت تصویری با این ماژول ها آشنا شوید ، دقت کنید هنوز ما وارد بحث آموزش این کنسول نشده این و صرفا این قسمت جنبه نمایشی دارد ، در مراحل بعدی از مقالات به صورت جزء به جزء از نصب و انجام تنظیمات تک تک این موارد گذر خواهیم کرد . تصویر زیر ماژول هایی که شما در هنگام نصب IIS بصورت تمام و کمال بر روی سرور موجود می باشند را مشاهده می کنید :


کاربرد ماژول های مختلف در IIS

کاربرد ماژول های مختلف در IIS


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

اما امکان جالب دیگری که در این سرویس IIS 7 اضافه شده است این است که شما در هنگام نصب امکانات و Feature ها می توانید تعیین کنید که کنسولی ویژه مدیریت وب سرور های IIS 6.0 نیز به سرور اضافه شود و بدین وسیله می توانید سرورهای IIS 6.0 دیگر را از طریق همین کنسول مدیریت کنید ، در زیر تصویر مربوط به این کنسول را می توانید مشاهده کنید :


کنسول مدیریتی IIS نسخه 6 در نسخه 7 و 7.5


در این مقاله قصد آموزش استفاده از این ماژول ها را نداریم بلکه صرفا جهت آشنایی با محیط کاری IIS چند نکته را اشاره کردیم ، استفاده از این ابزارها را می توانید در قسمت های بعدی مقالات بصورت ریز شده مشاهده کنید ، اما بد نیست بدانید که با انتخاب هر وب سایتی که در IIS وجود دارد ماژول ها و امکانات ویژه همان وب سایت به شما نمایش داده می شود.

در تصویر زیر من بر روی صفحه پیشفرض وب سایت IIS کلیک کرده ام که همانطور که مشاهده می کنید ماژول های مرتبط در جلوی آن نمایش داده شده است ، از طرفی برای انجام تنظیمات این ماژول ها سه راه وجود دارد ، اول کلیک کردن بر روی هر کدام از ماژول ها پس از نمایش ، راست کلیک کردن بر روی هر وب سایت و مشاهده مشخصات و در آخر کاملترین مورد استفاده از منوی Action در قسمت سمت راست و بالای کنسول سرور IIS است که می توانید این موارد به تفکیک در قسمت زیر مشاهده کنید.


نمایش ماژول های هر وب سایت در IIS

  • با کلیک کردن بر روی هر وب سایت ماژول های خاص آن در پنل وسط نمایش داده می شوند

کاربرد ماژول های مختلف در IIS

  • با راست کلیک کردن بر روی هر وب سایت می توانید تنظیمات اولیه آن را انجام دهید

کاربرد پنل Action  در کنسول مدیریتی IIS

  • با استفاده از پنل Action در قسمت چپ کنسول IIS می توانید تنظیمات پیشرفته وب سایت را انجام دهید

کنسول گرافیکی که به آن اشاره شد یکی از راه های مدیریت وب سرور IIS 7 می باشد . راه دیگر مدیریت وب سرور استفاده از قابلیت هاو اسکریپت های نوشته شده به وسیله خط فرمان PowerShell است . اگر بخواهیم از ابتدا این مسئله را بررسی کنیم بایستی کمی به عقب بر گردیم ، این مسئله بدیهی است که هر مدیر شبکه ای بخواهد برخی از کارهایی که به وی سپرده می شود را بصورت خودکار انجام دهد .

در گذشته برای انجام اینکار از زبان برنامه نویسی VBScript استفاده می شد ، اما با گذشت زمان مایکروسافت استفاده از این زبان را تا حدود زیادی منسوخ کرد و زبان جدیدی یا بهتر بگوییم Shell جدیدی به نام Powershell را ارائه کرد و به مرور این زبان را جایگزین زبان VBSCript در بحث مدیریت سرورها و سرویس ها کرد. PowerShell یک مجموعه اسکریپت از پیش طراحی شده در قالب Template دارد که با استفاده از این اسکریپت های نوشته شده ، شما می توانید بسیاری از فعالیت ها و کارهای روزمره سرویس های خود اعم از IIS را مدیریت کنید .

همانطور که اشاره شد در این مقاله صرفا به معرفی این قابلیت مدیریتی می پردازیم و در صورت امکان در ادامه این سری مقالات بصورت مفصل در خصوص استفاده از PowerShell در مدیریت IIS خواهیم پرداخت ، اما بد نیست تا اینجا که رسیده ایم کمی هم با ظاهر و کارکرد این خط فرمان قدرتمند آشنا شویم ، در ادامه می توانید مراحل ابتدایی استفاده از Powershell برای مدیریت IIS را مشاهده کنید . برای ورود به محیط Powershell کافیست آیکن آبی رنگ کتار دکمه Start را کلیک کنید.


Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

 PS C:\Users\Administrator> cd $pshome    ورود به پوشه خانگی پاورشل
 PS C:\Windows\System32\WindowsPowerShell\v1.0> cd modules    ورود به قسمت ماژول های موجود
 PS C:\Windows\System32\WindowsPowerShell\v1.0\modules> dir   گرفتن لیست ماژول های موجود
Directory: C:\Windows\System32\WindowsPowerShell\v1.0\modules

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        11/20/2010   9:45 PM            ADRMS
d---s        11/20/2010   9:45 PM            AppLocker
d----        11/20/2010   9:45 PM            BestPractices
d---s        11/20/2010   9:45 PM            BitsTransfer
d----         7/13/2009  10:37 PM            PSDiagnostics
d----        11/20/2010   9:45 PM            ServerManager
d----        11/20/2010   9:45 PM            TroubleshootingPack
d----          2/4/2013  11:59 PM            WebAdministration


PS C:\Windows\System32\WindowsPowerShell\v1.0\modules> import-module webadministration   وارد کردن اسکریپت ها
PS C:\Windows\System32\WindowsPowerShell\v1.0\modules> get-psdrive   نمایش درایوهای پاورشل موجود

Name           Used (GB)     Free (GB) Provider      Root                         CurrentLocation
----           ---------     --------- --------      ----                                               
A                                      FileSystem    A:Alias                                  Alias
C        7.71         32.19 FileSystem    C:\               ...dowsPowerShell\v1.0\modules
cert                                   Certificate   D                   2.76               FileSystem    D:Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
IIS                                    WebAdminis... \\ITPRO
Variable                               Variable
WSMan                                  WSMan


PS C:\Windows\System32\WindowsPowerShell\v1.0\modules> cd IIS: ورود به درایو مربوط به وب سرور
PS IIS:\> dir   مشاهده پوشه های موجود در وب سرور

Name
----
AppPools
Sites
SslBindings


PS IIS:\> cd sites   ورود به پوشه سایت های موجود
PS IIS:\sites> dir    مشاهده سایت های موجود

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:


PS IIS:\sites> cd '.\Default Web Site'   ورود به تنظیمات وب سایت پیشفرض
PS IIS:\Sites\Default Web Site> dir     مشاهده پوشه های وب سایت پیشفرض

    Directory: WebAdministration::\\ITPRO\Sites\Default Web Site


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----          2/5/2013  12:02 AM            aspnet_client
-a---          2/4/2013  11:59 PM        689 iisstart.htm
-a---          2/4/2013  11:59 PM     184946 welcome.png


نتیجه


خوب در این مقاله به معرفی ساختار Kernel Mode و همچنین Http Listener پرداختیم و بعد از آن با انواع کنسول های مدیریتی گرافیکی و خط فرمانی که همان PowerShell است تا حدودی آشنا شدیم و متوجه شدیم که IIS نسخه 7 دارای چه تعداد امکانات و Feature های تفکیک شده است و دلیل این تفکیک و ریز شدن ماژول ها چه می باشد . در اینجا شما مفهوم Work Process را متوجه شدید و قاعدتا اگر در مراحل بعدی مقاله با چنین واژه ای برخورد کنید متوجه می شوید که این مفهوم به چه کار می آید و در کجا کاربرد دارد ، در مقاله بعدی به بررسی امکانات و همچنین نصب IIS در ویندوز سرور 2008 با ذکر توضیحات در خصوص هر کدام از این امکانات خواهیم پرداخت .ITPRO باشید

نویسنده : محمد نصیری
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد.
#آموزش_قدم_به_قدم_راه_اندازی_IIS #آموزش_وب_سرور_IIS #آموزش_راه_اندازی_وب_سرور #http_listener__چیست #آموزش_قدم_به_قدم_iis #آموزش_گام_به_گام_iis #آموزش_IIS #آموزش_تصویری_iis
عنوان
1 آموزش IIS جامع قسمت 1 : معماری ، ابزارها و تکنیک ها رایگان
2 آموزش IIS جامع قسمت 2 : آموزش نصب IIS و معرفی قابلیت ها و امکانات رایگان
3 آموزش IIS جامع قسمت 3 : Bindings ، Logging ، MIME Types و ... رایگان
4 آموزش IIS جامع قسمت 4 : Application Pool ، Worker Process و Recyc رایگان
5 آموزش IIS جامع قسمت 5 : ISAPI Extention ، ISAPI Filter و CGI رایگان
6 آموزش IIS جامع قسمت 5 : معرفی و راه اندازی FTP سرور در IIS رایگان
7 آموزش IIS جامع قسمت 7 : تنظیمات و مدیریت FTP سرور در IIS رایگان
زمان و قیمت کل 0″ 0
2 نظر
arp220

عالی بود مرد .

Masoudimp

مبحث IIS در دوره های MCSE نیست نه ؟

میره تو حوضه ی وب تا شبکه ، درسته ؟

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....