Windows жүйесінде веб-сервер құру. Windows серверінде IIS орнату. phpMyAdmin орнату және негізгі орнату

Біз алдыңғы жазбада талқыланған Windows Server 2008 жүйесінде IIS 7.0 жұмыс істейтін веб-серверді орнату процедурасы туралы айтуды жалғастырамыз.


Енді IIS 7.0 орнату нәтижелерін тексеруге көшейік. Веб-сервердің, әсіресе жергілікті консольде жұмыс істеп тұрғанын тексерудің ең оңай жолы - кез келген веб-шолғыштан http://localhost/ кіру. Содан кейін жергілікті және қашықтағы құрылғыдан IP мекенжайы бойынша тексеріңіз.


IIS 7.0 орнатылған кезде, IIS 7.0 орнатылған сервердің кез келген желілік интерфейсінің 80 портында қабылданған кез келген URL сұрауына жауап беру үшін конфигурацияланған әдепкі веб-сайт жасалады. Анау. http://localhost/ сияқты шолғыш сұрауы әдепкі веб-сайтқа сұрау ретінде қарастырылуы керек. Сайттың мазмұны әдепкі бойынша 2 файлдан тұрады - iisstart.htm және welcome.png (ол iisstart.htm ішінде көрсетіледі), оны клиент ашады. Сондықтан localhost шақыру нәтижесі келесідей болады:



Енді, егер бәрі жақсы болса («нашар» болса - ақаулықтарды жою және қателерді кейінірек бөлек бөлімде қарастырамыз), біз әдепкі бойынша орнатылуы керек барлық модульдердің қосылғанына және жұмыс істеп тұрғанына және негізгі конфигурацияға көз жеткіземіз. талаптарымызға сай келеді.


1. IIS 7.0 үшін негізгі басқару құралы Windows Server 2008 жүйесіндегі веб-сервер рөлімен бірге әдепкі бойынша орнатылатын Internet Information Services (IIS) Manager консолі болып табылады (IIS басқару консолі, модульдерді орнату кезіндегі басқару құралдары бөлімі). Дұрыс орнатылғаннан кейін IIS 7.0 басқару консолін сервер менеджерінің рөлдері бөлімінің веб-сервері (IIS) бөліміндегі еншілес жазба ретінде немесе Бастау мәзірінің Әкімшілік құралдар бөліміндегі жазба ретінде немесе inetmgr іске қосу арқылы табуға болады. пәрмені (пәрмен жолында немесе сол Бастау мәзірінің «Іске қосу» элементі арқылы).



2. Іске қосу кезінде Internet Information Services (IIS) Manager консолі «басты бетпен» ашылады, онда панельдер түрінде консоль пайдаланушысы бұрын қандай веб-серверлер мен веб-сайттарға қосылғаны туралы ақпарат бар (егер консоль тек қана болса) веб-сервер рөлімен (IIS) бірге орнатылған, содан кейін консоль тек жергілікті веб-сервер туралы жазбаны қамтиды), сонымен қатар басқа серверлерге, веб-сайттарға, веб-қосымшаларға және қалталарға қосылымдарды таңдауға сілтемелер, сондай-ақ сыртқы ресурстарға сілтемелер бар. IIS-ке арналған.



3. Сонымен қатар, басты бетте әкімші IIS жаңалықтарын қосу сілтемесін басқан жағдайда www.iis.net сайтынан RSS жаңалықтар арнасы ретінде жүктелетін жаңалықтар тақтасы бар. Жаңалық, айтпақшы, өте пайдалы, бұл ақпаратты күнделікті жұмысыңызға қосу және пайдалану ұсынылады.



4. Кез келген IIS 7.0 веб-серверіне қосылған кезде Internet Information Services (IIS) менеджері консолі өзінің конфигурациясын логикалық құрылым ретінде ұсынады - веб-сервердің өзі деңгейі, оның параметрлері жаһандық және әдепкі бойынша барлық веб-сайттарға, қолданбалар пулдарына және, сәйкес, өз параметрлері бар веб-сайттар. Бұл конфигурация иерархиясы веб-сервер атауы (немесе IP) бар түйіннен басталатын кеңейтілетін ағаш түрінде Internet Information Services (IIS) Manager консолінің сол жақ тақтасында көрсетіледі.



5. Егер конфигурация ағашында түйінді таңдасаңыз, онда Internet Information Services (IIS) Manager консолінің орталық панелінде таңдалған түйіннің конфигурациясына сәйкес келетін барлық параметрлер (сонымен қатар модульдер немесе тізімдер) бөлек белгішелер түрінде көрсетіледі, ал оң жақ панельде – әкімші (немесе пайдаланушы) берілген түйінде орындай алатын контекстік тапсырмалар мен операциялар жиынтығы.


6. Біз бүкіл веб-сервердің модульдерінің жұмыс параметрлеріне жауапты белгішелерді қамтитын жоғарғы түйінді, веб-сервер түйінін таңдаймыз; бұл параметрлер барлық веб-сайттар үшін әдепкі бойынша мұраланған. Біз барлық қажетті модульдердің орнатылғанына және көрсетілгеніне көз жеткіземіз. Әдепкі конфигурацияны орнатудың скриншоты төменде көрсетілген.



7. Оң жақ тақтада веб-сайт түйінін таңдаған кезде, осы контексте тікелей веб-сервермен (жалпы IIS қызметтері) орындауға болатын барлық әрекеттер көрсетіледі - қайта қосу, тоқтату, іске қосу, қолданбалар пулдары мен сайттарына өту.



8. Қолданба пулдарының конфигурацияланғанына көз жеткізіңіз. Қолданба пулдары кейінірек талқыланады. Пулдар веб-торап түйініне арналған конфигурация тармағындағы еншілес түйін болып табылады. Әдепкі орнату кезінде тек бір пул жасалады - DefaultAppPool, онда бір қолданба тіркелген - әдепкі конфигурацияланған веб-сайт, біз оның жұмысын тексердік. Скриншотты қараңыз.



9. Конфигурация ағашындағы қолданба пулдары түйінінің астында Веб-сайттар түйіні бар, таңдалған кезде осы веб-серверде жұмыс істейтін веб-сайттардың тізімі көрсетіледі. Әдепкі бойынша бір веб-сайт әдепкі веб-сайт деп аталатын ішкі нөмірі (ID) 1-ге тең, барлық желілік интерфейстердің барлық IP мекенжайларында сұраудағы кез келген URL мекенжайындағы 80 портына «байланған» және жол ретінде каталогты пайдалана отырып жасалады. оның мазмұнының негізгі каталогы %SystemDrive%\inetpub\wwwroot (Windows Server 2008 C: дискісіне орнатылған кезде, C:\inetpub\wwwroot сәйкес келеді).



10. Консольдің сол жақ панелінде веб-сайт түйінін (Әдепкі веб-сайт) таңдаған кезде, веб-сервер түйінін таңдау жағдайындағы сияқты, орталық панель әртүрлі модульдердің конфигурация параметрлеріне қол жеткізуге арналған белгішелерді көрсетеді, бұл жолы белгілі бір веб-сайт. Біз бүкіл веб-сервердегідей барлық қажетті модульдер орталық панельде ұсынылғанына көз жеткіземіз.



11. Консольдің оң жақ панелінде бүкіл веб-серверге арналған панельге ұқсас контекстік пәрмендер көрсетіледі, бірақ бұл жолы олардың тізімі айтарлықтай кеңейтілді - веб-сайт процесін бастау/тоқтату/қайта іске қосу, оның негізгі және кеңейтілген параметрлерін қарау (жоқ модуль параметрлері), байланыстыру параметрлері (мекенжай, порт, домен атауы - осы веб-сайт сұрауларға жауап беретін комбинациясы) және т.б.



Негізінде, бұл қадамдар орнатудың функционалдығы мен тұтастығын тексеру үшін жеткілікті. Бірақ параметрлердің «толық» жиынтығын және «әдепкі» конфигурацияны мұқият қарастырғыңыз келсе, келесі қадамдарды орындауға болады.


12. Internet Information Services (IIS) Manager консолінің сол жақ тақтасындағы конфигурация ағашында веб-сервер түйінін таңдаңыз. Орталық панельде Модульдер белгішесін басыңыз. Әдепкі бойынша орнатылған модульдердің келесі толық тізімі орталық панельде ашылады, ол .dll файлдарының тізімі болып табылады.



13. Веб-сервер тек статикалық файлдармен (әдепкі бойынша) немесе тек сізге қажет кеңейтімдермен жұмыс істейтініне көз жеткізу үшін веб-сервер түйінін қайта таңдап, орталық тақтадағы Handler Mappings белгішесін басыңыз. Веб-сайтта пайдаланушы шақырған файлдар кеңейтімдерінің және осы қоңырауды өңдейтін осы кеңейтімдерге байланыстырылған модульдердің «байланыстыруларының» тізімі ашылады. Әдепкі бойынша барлық файлдар статикалық файлдарды өңдеу модулімен байланыстырылғанын ескеріңіз (яғни, веб-сайттың негізгі каталогынан кез келген сценарийге немесе орындалатын файлға сұрау оның серверде орындалуына емес, тек осы файлды тасымалдауға әкеледі. файлды пайдаланушыға), сондай-ақ әдепкі құжат пен каталогты шолу модульдеріне. Бұл модульдермен кейінірек танысамыз.



14. Соңында, веб-сайттың қауіпсіз екеніне көз жеткізу үшін оның аутентификация параметрлерін тексеріңіз. Мұны істеу үшін сол орталық панельдегі Аутентификация белгішесін таңдаңыз. Әдепкі бойынша, веб-сервер (және веб-сайттар) ешқандай аутентификация модульдерін қолдамайды. Анау. ол үшін барлық байланыстар анонимді болып табылады. Қауіпсіздік дегеніміз не? Бұл пайдаланушылар тек «барлығы» үшін NTFS оқу рұқсаттары бар үй каталогтарының мазмұнына – файлдар мен ішкі каталогтарға – қол жеткізе алатынын білдіреді. Егер файлда мұндай рұқсаттар болмаса, пайдаланушыға сәйкес қате 401 арқылы кіруге рұқсат берілмейді. Егер пайдаланушы сервердегі HTTP сұрауы кезінде қандай да бір жолмен аутентификациялауға әрекет жасаса, бұл вебте анонимдіден басқа аутентификация модульдерінің орнатылмағандығына байланысты. сервер – ол қайтадан сәйкес 401 қатесін алады.



Бұл әдепкі қауіпсіздік параметрлері – тек анонимді пайдаланушылар – тиісті рұқсаттарды талап ететін сервердегі деректердің қорғалуын және веб-сервердің аутентификация механизмінің (бұл жағдайда ол жоқ) құпия сөздерді немесе басқа да күштеу үшін пайдаланылмайтынын қамтамасыз етеді. бұзу әрекеттері. » тіркелгілері арқылы.


Сонымен, сервер орнатылды және оның өнімділігі тексерілді. Енді кейбір статикалық мазмұнды (HTML файлдары, кескіндер, құжаттар және пайдаланушылар жүктеп салуға арналған файлдар) оның сайтының әдепкі басты каталогына орналастыру жеткілікті (есіңізде болсын, бұл көп жағдайда C:\inetpub\wwwroot) - және веб-сайт IIS 7.0 жұмыс істей бастайды. Әрине, сыртқы сайттар үшін - олардың A-жазбасын жалпы DNS серверінде домендік аймақта тіркеуді ұмытпаңыз.


Келесі бөлімде - IIS 7.0 пәрмен жолы режимінде орнату,

Бұл сипаттама Windows 7 жүйесінің келесі шығарылымдары үшін жарамды: Professional және Ultimate.

IIS веб-серверін орнату

Басқару тақтасы → Бағдарламалар → Windows мүмкіндіктерін қосыңыз немесе өшіріңіз. Тізімнен бөлімді табыңыз - IIS қызметтері. Оны ашып, қажетті компоненттерді таңдаңыз:

Негізгі жинақ:

  • Қауіпсіздік. «Сәйкестік сертификатымен аутентификация...» қоспағанда, барлық құрамдастарды таңдаңыз.
  • Қолданбаларды әзірлеу компоненттері. Біз тек CGI компонентін таңдаймыз, бұл PHP кейінгі орнату үшін қажет.
  • Жалпы HTTP мүмкіндіктері. Біз барлық ұяшықтарды белгілейміз.
  • Функционалды тестілеу және диагностика. «HTTP журналы» және «Сұраныс мониторын» таңдаңыз.
  • Өнімділікті арттыру функциялары. Біз барлық ұяшықтарды белгілейміз.
  • Веб-сайтты басқару құралдары. Тек «IIS басқару консолін» тексеріңіз.

Барлық элементтер таңдалғанда, OK түймесін басыңыз. Орнату аяқталғаннан кейін, қайта жүктеуді ұмытпаңыз!

Енді веб-сайт құруға көшейік. Басқару тақтасы → Жүйе және қауіпсіздік → Әкімшілік құралдар → Компьютерді басқару тармағын ашыңыз (мұны жылдамырақ орындауға болады: Компьютерді тінтуірдің оң жақ түймешігімен басыңыз → мәзірден Басқару тармағын таңдаңыз). Сол жақта ашылатын терезеде кішкентай үшбұрышты басу арқылы «Қызметтер және қолданбалар» тобын кеңейтіп, «IIS қызметтерінің менеджерін» ашыңыз. Көршілес «Байланыстар» терезесінде «Сайттар» қалтасын таңдаңыз (егер ол жерде әдепкі веб-сайт болса, оны жоюға болады), содан кейін оң жақ «Әрекеттер» терезесінде «Веб-сайт қосу...» сілтемесін басыңыз ( сіз мұны да жасай аласыз: тінтуірдің оң жақ түймешігімен нұқыңыз → мәзірден «Веб-сайтты қосу...» тармағын таңдаңыз).

Әрі қарай, ашылатын терезеде веб-сайттың атын және оның файлдарының орнын көрсету керек (әдепкі бойынша бұл c:\inetpub\wwwroot, егер бұл жол әдепкі бойынша көрсетілмесе, оны қолмен енгізіңіз). Қалған опцияларды өзгеріссіз қалдырамыз.

OK түймесін басыңыз. Бұл негізгі орнатуды аяқтайды. Енді жаңадан құрылған сайттың функционалдығын тексеру керек. Браузерді ашып, мекенжай жолағына енгізіңіз: http://localhost. Егер бәрі дұрыс жұмыс істесе, сіз мынаған ұқсас бетті көресіз:

PHP орнату (FastCGI)

Орнатуды бастамас бұрын http://windows.php.net/download/ сайтынан PHP шығарылымын жүктеп алу керек. Таңдау үшін бірнеше нұсқа бар. Бізге босату керек VC9 x86 Non Thread Safe. FastCGI режимінде IIS-пен жұмыс істеу үшін бұл ең жылдам және тұрақты опция. Шығарылымды zip мұрағатымен емес, орнатушымен жүктеп алыңыз (бұл қолмен орнатуды ұнататындар үшін). Орнатушы шығарылған PHP соңғы нұсқасы болуы міндетті емес екенін ескеріңіз; егер сіз бұрынғы нұсқаны жүктеп алсаңыз, жаман ештеңе болмайды.

IIS FastCGI таңдаңыз - енді бұл IIS жүйесінде PHP орнатудың жалғыз тұрақты нұсқасы.

Орнатушы аяқталғаннан кейін IIS параметрлеріне өтіңіз. Негізінде, мұнда тек бір әрекетті орындау қажет - php файлдарының бірінші кезекте өңделуі үшін басымдылығын арттыру. IIS Service Manager бағдарламасын қайтадан ашыңыз - Компьютерді тінтуірдің оң жақ түймешігімен нұқыңыз → мәзірден «Басқару» тармағын таңдаңыз, сол жақ терезеде «Қызметтер және қолданбалар» → «IIS Service Manager» тармағын ашыңыз. «Қосылымдар» терезесінің оң жағындағы терезеде біздің сайттың атын басыңыз және ортаңғы терезеде «Әдепкі құжат» бөлімін ашыңыз (2 рет басыңыз).

Пайда болған тізімде index.php файлын басына жылжыту керек (яғни ең жоғарғы жағына - бұл әрекетті орындау үшін index.php таңдаңыз және оң жақтағы «Жоғары» түймесін басыңыз):

Егер сіз Windows 7 64 биттік нұсқасын пайдалансаңыз, сізге бір қосымша қадамды орындау қажет. Қолданба пулдары бөлімін ашыңыз (Қосылымдар терезесінде). DefaultAppPool таңдаңыз және «Қосымша опцияларды» ашыңыз (тінтуірдің оң жақ түймешігімен немесе ең оң жақ «Әрекеттер» бағанында). (Жалпы) бөлімінде «32-биттік қолданбаларды қосу» опциясын тауып, оны True мәніне орнату керек. Егер бұрыннан бар сайттар үшін қосымша пулдар жасалған болса, олардың әрқайсысы үшін бірдей әрекетті орындау керек.

Енді біз PHP-ді тексеруіміз керек. Веб-сайттың түбірлік қалтасында (c:\inetpub\wwwroot) келесі мазмұны бар index.php файлын орналастыру керек:

Сайтты шолғышта ашыңыз (http://localhost). Егер бәрі дұрыс жұмыс істесе, сіз PHP орнату ақпараты бар бетті көресіз:

Таратуды жүктеп алу бетін ашыңыз: http://www.mysql.com/downloads/mysql/

Win 32 жүктеп алу үшін: Windows (x86, 32-бит), MSI Installer
Win 64 жүктеп алу үшін: Windows (x86, 64-бит), MSI Installer

Жүктеп алу түймесін басқаннан кейін сіз тіркеу формасын көресіз, оны төмендегі сілтемені басу арқылы өткізіп жіберуге болады («Жоқ, рахмет, менің жүктеп алуды бастаңыз!»).

Біз орнатушыны іске қосамыз, бірнеше ақпаратты емес терезелерден кейін орнату түрін таңдауды сұраймыз, Custom таңдаңыз:

Құрамдас бөлікті таңдау терезесі (егер сіз бастаушы болсаңыз, әдепкі бойынша бәрін қалдырыңыз, «Келесі» түймесін басып, орнату):

Орнатудың соңында жазылым туралы сұрақ бар жаңа терезе пайда болады, жоғарғы оң жақ бұрыштағы крестті басыңыз.

Орнатудың соңғы кезеңі. «MySQL данасын конфигурациялау шеберін іске қосу» опциясын белгілеп, «Аяқтау» түймесін басыңыз:

Орнату аяқталғаннан кейін MySQL серверінің данасын конфигурациялау шебері іске қосылады (оны Компьютер → Бағдарлама файлдары → MySQL → MySQL Server 5.5 → bin → MySQLInstanceConfig.exe ішінен қолмен іске қосуға болады). Келесі түймесін басыңыз:

Орнату сценарийін таңдаймыз: Developer Machine – үйдегі компьютерге орнату үшін (біздің таңдауымыз), Server Machine – серверге орнату үшін, Dedicated MySQL Server Machine – MySQL-ге толығымен арналған серверге орнату үшін. Бұл опциялар ең алдымен MySQL пайдаланатын жад көлеміне әсер етеді:

MySQL екі негізгі дерекқор түрін қолдайды (InnoDB – транзакция қолдауымен және MyISAM – транзакциясыз). Көп функционалды деректер базасы – екі типті дерекқорға қолдау көрсетіледі (біздің таңдауымыз). Тек транзакциялық дерекқор - тек InnoDB қолдауы орнатылады. Тек транзакциялық емес дерекқор – тек MyISAM қолдауы орнатылады.

Алдыңғы қадамда InnoDB қолдауын таңдасаңыз, InnoDB деректер файлдарының орнын мына жерден конфигурациялауға болады:

Бір уақыттағы қосылымдарды қолдайды. Шешім қабылдауды қолдау - бір уақытта 20 қосылымға дейін (біздің таңдауымыз). Онлайн транзакцияларды өңдеу – 500 қосылымға дейін. Қолмен орнату - қосылымдар санын қолмен орнату.

«TCP/IP желісін қосу» және «Қатаң режимді қосу» опцияларын тексеріңіз. Порт нөмірін өзгеріссіз қалдырамыз - 3306. Егер сіз басқа компьютерлерден серверге тікелей қосылуды жоспарласаңыз, «Осы портқа брандмауэр ерекшелік қосу» опциясын тексеріңіз (Windows брандмауэрінде портты ашыңыз).

Әдепкі кодтауды таңдаңыз. Дәл қазір ең ақылды таңдау - UTF-8. Көптілділікке арналған ең жақсы қолдау опциясын таңдаңыз:

«Windows қызметі ретінде орнату» опциясын тексеріңіз (Windows қызметі ретінде іске қосыңыз). Автоматты түрде іске қосу үшін қызмет қажет болса, «MySQL серверін автоматты түрде іске қосу» құсбелгісін қойыңыз.

Соңғы кезең. Әкімші құпия сөзін орнату (root). Бұл құпия сөзді жоғалтпаған дұрыс! «Қашықтағы машиналардан түбірлік қатынасты қосу» және «Анонимді тіркелгіні жасау» опцияларын тексеру ұсынылмайды, себебі олар қауіпсіздікті төмендетеді.

Ескерту: егер сіз бұрын MySQL орнатып, содан кейін оны жойсаңыз немесе қайта орнатсаңыз, соңғы кезеңде 1045 қатесі (Байланыс қатесі) пайда болады. Бұған жол бермеу үшін MySQL қолданбасын жою керек, содан кейін C:\ProgramData ішінде орналасқан жасырын MySQL қалтасын жою керек (бұл қалтада пайдаланушы деректері туралы ақпарат файлдары бар). Осыдан кейін орнату және конфигурациялау процедурасын қайталаңыз.

Енді орнатудың сәтті болғанын тексеру ғана қалады. Бастау → Барлық бағдарламалар → MySQL → MySql Server 5.5 → MySQL 5.5 Command Line Client (пәрмен жолында MySQL-мен жұмыс істеуге арналған қызметтік бағдарлама) ашыңыз.

Әрі қарай, әкімші құпия сөзін (түбір) енгізіңіз. Құпия сөз дұрыс болса, сіз пәрмен жолына (mysql>) өтесіз. Пәрменді енгізіңіз: мәліметтер қорын көрсету; (соңында нүктелі үтір керек). Нәтижесінде сіз дерекқорлар тізімін көресіз (кем дегенде екеуі - information_schema және MySQL). Бұл сервер дұрыс жұмыс істеп тұрғанын білдіреді. Шығу пәрменін орындау арқылы пәрмен жолын жабыңыз.

phpMyAdmin орнату және негізгі орнату

http://www.phpmyadmin.net/home_page/downloads.php жүктеп алу бетін ашыңыз және жүктеп алу үшін *all-languages.7z немесе *all-languages.zip деп аяқталатын мұрағатты таңдаңыз. C:\inetpub\wwwroot\ ішінде phpmyadmin қалтасын жасаңыз және жүктеп алынған мұрағат файлдарын сол жерден шығарыңыз.

Оның қалай жұмыс істейтінін тексерейік. Браузерді ашып, мекенжайға өтіңіз http://localhost/phpmyadmin/. Келесі терезе ашылуы керек:

MySQL-ге қосылмас бұрын конфигурация файлын жасау керек.

Екі нұсқа бар. config.sample.inc.php файлын қолмен өңдеуге және оны config.inc.php (phpMyAdmin орнатуыңыздың түбіріндегі екі файл) ретінде сақтауға болады.

Немесе графикалық конфигураторды пайдаланыңыз. Ол үшін браузерде келесі мекенжайды ашыңыз: http://localhost/phpmyadmin/setup/

«Параметрлерді жүктеу немесе сақтау мүмкін емес» деген ескертуді көрсеңіз. phpMyAdmin орнатуыңыздың түбірінде конфигурация қалтасын жасаңыз (бұл phpmyadmin қалтасының ішінде дегенді білдіреді). IIS_IUSRS пайдаланушы тобына және IUSR пайдаланушысына конфигурация қалтасының қауіпсіздік параметрлерінде Толық басқару құқықтары тағайындалғанын тексеріңіз. Мұны қалай істеу керектігін білмейтіндер үшін: конфигурация қалтасын тінтуірдің оң жақ түймешігімен нұқыңыз → сипаттар → қауіпсіздік қойындысы → «Өзгерту...» түймесін басыңыз → тізімнен IIS_IUSRS (...) таңдаңыз және «Толық басқару» құсбелгісін қойыңыз. төмендегі жолақ, «Қолдану» түймесін басыңыз. IUSR үшін де солай істейміз. Егер мұндай пайдаланушы тізімде болмаса, «Қосу» → Кеңейтілген... → Іздеу → IUSR таңдап, OK түймесін басыңыз, содан кейін оған толық рұқсат беріңіз.

Конфигураторға оралайық. MySQL қосылым параметрлерін конфигурациялау үшін «Жаңа сервер» түймесін басыңыз:

Ең маңызды сәт! Егер сіз бір құрылғыда (localhost) орнатылған MySQL серверіне қосылып жатсаңыз, «Сервер хосты» бағанында localhost 127.0.0.1 нұсқасына ауыстырылуы керек (бұл config.inc.php қолмен жасау үшін де қолданылады). C:\Windows\System32\drivers\etc\hosts: 127.0.0.1 localhost файлына жолды қосыңыз. Сол файлда ::1 localhost жолын жойыңыз немесе түсініктеме беріңіз (жолдың басына # белгісін қойыңыз) (егер ол бастапқыда түсініктеме берілген болса, онымен ештеңе істеудің қажеті жоқ).

Біз параметрлерді сақтаймыз және автоматты түрде алдыңғы бетке ораламыз. Мұнда біз әдепкі тілді таңдаймыз - орыс тілі, стандартты сервер - 127.0.0.1, жолдың соңы - Windows.

Бар болғаны. Біз http://localhost/phpmyadmin/ бетіне ораламыз. Енді жүйеге түбірлік пайдаланушы ретінде кіруге болады (түбірлік пайдаланушы үшін MySQL орнату кезінде көрсеткен құпия сөзді енгізіңіз). MySQL қосылымын тексеру. Егер бәрі жақсы болса (сіз phpMyAdmin жүйесіне кіре алсаңыз), конфигурация қалтасын жойыңыз.

Қайырлы күн, соңғы рет мен сізге Интернет-ақпараттық қызметтерді қалай өшіруге болатынын айттым және біз оны түсіндік, енді мен операциялық жүйенің клиенттік нұсқасына, атап айтқанда Windows 10 Creators Update және басқа басылымдарға оралғым келді, көптеген пайдаланушылар ойламайды. Windows 7 жүйесінен бастап, сіз оны дәл сол IIS қызметінде нақты веб-серверге айналдырып, Еуропадағыдай өз сайттарыңызды, ала хостингті жасай аласыз. Бүгін мен саған көрсетемін Windows 10 жүйесіне iis қалай орнатуға боладыБір минуттан кейін сіз оның сервер нұсқасын сатып алудан гөрі қарапайым және арзан екенін түсінесіз.

Windows 10 жүйесіндегі iis қызмет менеджері

Сонымен, Windows 10 жүйесіндегі iis қызметтері әдепкі бойынша өшірілген, дәлірек айтсақ, бұл компонент қораптан тыс орнатылмаған, бұл компьютер ресурстары ысырап болмас үшін және қажет емес розеткалардың айналмауы үшін әдейі жасалды. Қажетті құрамдас қосу үшін мына әрекетті орындаңыз. Win+R пернелер тіркесімін басып, «Іске қосу» терезесіне енгізіңіз:

Нәтижесінде Windows басқару тақтасы ашылады. Оны «Үлкен белгішелер» пішіміндегі белгішелердің көрінісін жасайық.

«Windows компоненттерін қосу немесе өшіру» тармағына өтіңіз, біз мұны telnet клиентін орнату кезінде жасадық.

Біз көптеген элементтердің ішінен «Интернет қызметтерін» табамыз, олардың жанындағы құсбелгіні қойып, OK түймесін басыңыз. Сіз IIS Windows 10 орнатуды бастайсыз.

IIS веб-серверінің құрамдас бөлігі бірнеше секунд ішінде қосылады, содан кейін мен сізге Windows 10 амалдық жүйесін қайта іске қосуды ұсынамын.

Жоғарыда жазғанымдай, біз жүйені қайта іске қосамыз.

Айтпақшы, барлығын орнатқаннан кейін, бастамас бұрын, Windows Update жүйесіндегі соңғы жаңартуларды іздеуге жалқау болмаңыз, өйткені жаңа патчтар болуы мүмкін. Енді IIS менеджерін қалай ашуға болатынын қараңыз. Бірнеше жол бар, алдымен WIN+R пернелерін басып, inetMgr енгізіңіз. Қажетті құрал-жабдықтар ашылады.

Екінші әдіс - «Бастау» түймесін ашып, «Әкімшілік құралдар» қалтасынан Интернет ақпараттық қызметтерінің менеджерін табу

Сәлеметсіз бе. ISS орнатайық. Ең алдымен, IIS деген не екенін білейік?

IIS (Internet Information Services, 5.1 нұсқасына дейін – Internet Information Server) — Microsoft корпорациясының бірнеше интернет қызметтеріне арналған меншікті серверлер жиынтығы. IIS Windows NT отбасының операциялық жүйелерімен таратылады.

IIS негізгі компоненті веб-сервер болып табылады, ол Интернетте веб-сайттарды орналастыруға мүмкіндік береді. IIS HTTP, HTTPS, FTP, POP3, SMTP, NNTP протоколдарын қолдайды.

Тамаша. Енді біз не тігетінімізді білеміз. Бастайық.

Орнату

Ең алдымен, «Бастау» (Бастау) негізгі мәзіріне әрі қарай өтіңіз

Басқару тақтасы -> Бағдарламалар -> Windows мүмкіндіктерін қосыңыз немесе өшіріңіз.

Тізімнен «IIS қызметтерін» тауып, қажетті құрамдастарды таңдаңыз

  • Қауіпсіздік. «Сәйкестік сертификатын растау...» қоспағанда, барлық құрамдас бөліктер.
  • Қолданбаларды әзірлеу компоненттері. PHP CGI компонентін қажет етеді.
  • Жалпы HTTP мүмкіндіктері. Біз барлық нүктелерді белгілейміз.
  • Функционалды тестілеу және диагностика.«HTTP журналы» және «Сұраныс мониторын» таңдаңыз.
  • Өнімділікті арттыру функциялары.Біз барлық нүктелерді белгілейміз.
  • Веб-сайтты басқару құралдары.Біз тек белгілейміз «IIS басқару консолі».

Жеке өзім бұл сипаттамадан сәл ауытқып, FTP қостым, өйткені менің қажеттіліктерім үшін FTP-мен жұмыс істеуді сынау керек болады.

Қажетті элементтер таңдалғаннан кейін «Жарайды» түймесін басыңыз және бізге қажетті компоненттер орнатылғанша күту ғана қалады. содан кейін құрылғыны қайта жүктеуге болады. бұл оның барлық қажетті қызметтерді бастауына кедергі болмайды.

Барлық. Біздің ISS серверіміз орнатылған деп айта аламыз. Оның бастапқы конфигурациясына көшейік.

Конфигурация

Компьютерді басқару бөліміне өтіңіз («Компьютер» белгішесін тінтуірдің оң жақ түймешігімен нұқыңыз -> Басқару), содан кейін «Қызметтер және қолданбалар» -> «IIS Service Manager» немесе Windows 7 жүйесінің бақытты иелері басқа «Бастау» және «Іздеу» бөліміне өте алады. бағдарламалар мен файлдар» тармағына «IIS» енгізіңіз және тізімде құнды «IIS Service Manager» пайда болады

Сайттарға барайық. Мен әдепкі сайтты дереу жойдым, оны қажет емес деп шештім және түсінікті болу үшін жаңасын жасаймын.

«Сайттар» -> «Веб-сайтты қосу» тармағын тінтуірдің оң жақ түймешігімен басыңыз.

және біздің алғашқы веб-сайтымызды жасаңыз

"localhost" кездейсоқ таңдалмағанын ескеріңіз. Бұл директива «әдепкі» болғандықтан, оның 127.0.0.1 жергілікті мекенжайы және lcalhost хост файлында жазылған атауы бар. Мен сізге Википедиядан көбірек оқуға кеңес беремін

Өткен жылы мен орта білікті ASP.NET веб-бағдарламашысы лауазымына шамамен 10-15 үміткермен сұхбаттасуға тура келді. «Толтыруға арналған» немесе «жұлдызшамен» сұрақтар ретінде мен HTTP сұрауы сервердің 80-ші портына келген сәттен бастап бақылау aspx бетінің кодына ауысқанға дейін не болатынын айтуды сұрадым. Статистика көңілсіз болды: үміткерлердің ешқайсысы түсінікті ештеңе шығара алмады. Мұның түсіндірмесі бар: technet бар MSDN-де де, iis.net мамандандырылған ресурсында да, «ASP.NET for Professionals» кітаптарында да, блогтарда да бұл тақырыпқа тиісті көңіл бөлінбейді - ақпарат қажет аздап дерлік жиналады. Мен тіпті IIS қалай жұмыс істейтінін түсінбеу үшін өздерінің веб-серверлерін (Игорь, Георгий, сәлем!) жазуды шешкен адамдарды білемін. Жалғыз ақылға қонымды мақала - Рейган Темплиннің «IIS архитектурасына кіріспе». Бірақ ол да үміткерлердің мүдделерінің шетінде қалады.

Мен өзімді таза техникалық мәселелерге онша қызықтырмасам да, мен жинақталған тәжірибемді жинап, Интернетте қызықты мәліметтерді қазып, бұл қасиетті білім ескірмей тұрып, көпшілікке жеткізуді шештім. Мақала IIS 7.x-ге көбірек бағытталғанын бірден ескертемін, кейде 6-ға жуық тармақтар болады. Мен өз жұмысымда 8-нұсқаны кездестірген жоқпын, сондықтан мен оны осы мақалада елемеуді жөн көрдім. Бірақ төменде берілген материалды меңгерген оқырман сегізді оңай түсінетініне сенімдімін.







1. Жалпы жоспар

Олай болса, соңынан бастайық, содан кейін жеке аспектілерді сәл мұқият қарастырайық.
Ағылшын тіліндегі әдебиеттерде IIS-те сұранысты өңдеу процесі «сұраныстарды өңдеу құбыры» деп аталады - «сұраныстарды өңдеу құбыры» сияқты. Ол http сұрауы үшін төмендегі суретте жинақталған.

Күріш. 1. HTTP сұрауын өңдеу құбыры (IIS 7.x).

Осылайша, http сұрауы «монтаждау белбеуіне» төмендегілер арқылы түседі:

1. Браузер веб-серверге белгілі бір URL мекенжайында қол жеткізеді, сервер жағында сұрауды драйвер ұстайды HTTP.SYS.
2. HTTP.SYSқағу W.A.S.конфигурациялар қоймасынан ақпаратты алу үшін.
3. Қызмет W.A.S.репозиторийден конфигурацияны сұрайды - IIS қалтасындағы файлдан (applicationHost.config).
4. Бұл сұрау HTTP протоколы арқылы алынғандықтан, қызмет конфигурация ақпаратын алады W3SVC(суреттегі WWW қызметі) бұл ақпарат қолданбалар пулы және басқа сайт параметрлері туралы деректерді қамтиды.
5. Қызмет W3SVCбұл ақпаратты конфигурациялау үшін пайдаланады HTTP.SYS.
6. Қызмет W.A.S.процесін бастайды W3WP.exeқолданбалар пулы үшін, егер ол әлі іске қосылмаған болса.
7. Орындалуда W3WP.exeвеб-сайт қолданбасы жұмыс істеп тұр, ол іс жүзінде драйверге жауапты жасайды және қайтарады HTTP.SYS.
8. HTTP.SYSшолғышқа жауап жібереді.

Негізінде, бұл диаграмма көптеген компанияларда сұхбаттан өту және IIS архитектурасы туралы жалпы түсінік алу үшін жеткілікті. Бірақ егер сіз мұнда көрмеге келмеген болсаңыз, одан әрі жалғастырыңыз.

2. Жақын жоспар

Енді аталған компоненттердің әрқайсысын толығырақ қарастырайық.
2.1. HTTP.SYS
Тасымалдау деңгейінде IIS TCP/IP стекінің жоғарғы жағында орналасқан протокол тыңдаушыларын пайдаланады. Біз үшін ең қызықты компонент - HTTP.sys жүйелік драйвері, ол ОЖ ядросына орнатылған және HTTP және HTTPS хаттамаларымен жұмыс істейді, IIS жүйесіндегі сайттарға сұраулар келетін барлық порттарды тыңдау үшін дербес тіркеледі.

Ядроға енгізілген HTTP.sys IIS 6 жүйесінде жаңа болып табылады, ол Windows Socket API, IIS алдыңғы нұсқаларында пайдаланушы деңгейіндегі HTTP және HTTPS сұрауларын тоқтату құрамдастарын ауыстырады. Мүмкін, драйверді ядроға біріктіру IIS нұсқасының Windows нұсқасымен тығыз байланысты болуының себебі болып табылады.

Драйвер барлық кіріс сұрауларды қабылдайды және оларды қажетті қолданбалар пулына қайта бағыттайды. Егер қандай да бір себептермен қажетті пул орналастырылған жұмысшы процесі тоқтатылса (сәтсіздік, күту күту уақыты, конфигурацияны өзгерту және т.б.) немесе әлі жұмыс істеп тұрса, HTTP.sys кіріс сұрауларын әрбір пул үшін арнайы тағайындалған кезекте сақтайды. Осылайша, пайдаланушы сұраулары еш жерде жоғалып кетпейді және олар IIS жұмыс істейтін сайттардың жұмысында ешқандай үзілістерді байқамайды.

HTTP.sys сондай-ақ жауаптарды кэштей алады (толығырақ - HTTP.sys мазмұнын кэштемейтін даналар), сондықтан кейбір сұраулар қолданба деңгейіне тасымалданбай өңделеді, сонымен қатар сұрау URI бастапқы талдауын және оны тексеруді жүзеге асырады. RFC 2396 стандартына сәйкес (кейбір нәрсені осы жерден үйренуге болады - IIS URL мекенжайында "%" '.' және ':' сияқты арнайы таңбаларды пайдалану) және сұрауларды/жауаптарды тіркеу.

Кейбір HTTP.sys параметрлері Windows жүйелік тізіліміне қосылған (қосымша мәліметтер алу үшін Windows жүйесіне арналған Http.sys тізілімінің параметрлерін қараңыз). Айтпақшы, сол жерде – тізілімде – азаматымыздың әдеттегі тіркелген орнын көре аласыз: %SystemRoot%\system32\drivers\http.sys.

Шынымды айтсам, осы мақаланы жазу барысында мен өзім біраз жайттарды анықтадым. Мысалы, HTTP.sys драйвер деңгейіндегі жауапты кэштеу. Бұл маған IIS мінез-құлқындағы біртүрлі құбылыстың бір жағдайын түсіндіруге көмектесті. Маркетологтар келесі мерекеге дейін веб-сайтта swf картасын орналастырды, бірақ кейін олар файлдың атауында бірдеңені ұнатпай, оның атын өзгертті. Дегенмен, сайт ескі URL мекенжайында ашықхат шығаруды жалғастырды, тіпті браузер кэшін тазалау да көмектеспеді. Мен осында қосылдым, бірақ веб-сайтты және бүкіл қолданбалар пулын қайта іске қосу да, корпоративтік прокси серверді айналып өтіп сайтқа кіру де күтілетін нәтиже бермеді. Бірақ қазір кім кінәлі екенін білеміз.
2.2. World Wide Web Publishing Service (W3SVC)
Бұл қызмет (техникалық сипаттамаларда WWW қызметі ретінде қысқартылған) IIS 6-да HTTP/HTTPS протоколдарымен жұмыс істеу және қолданбаның жұмыс үрдістерін басқару үшін жеке құрамдас ретінде енгізілген және келесі функцияларды орындады:
  • HTTP.sys драйверін басқару.
  • Жұмыс процесін басқару.
  • Веб-сайт өнімділігі көрсеткіштерін бақылау.
Бұл қызмет Windows Server 2003 жүйесінде Svchost.exe процесінің контекстінде жұмыс істейді (параметрлерді тізілімде көруге болады). HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Svc) Inetinfo.exe процесінің мәтінмәнінде жұмыс істейтін және Iisw3adm.dll ішінде жүзеге асырылатын барлық басқа IIS қызметтерінен айырмашылығы.

IIS 7.x жүйесінде архитектураны әмбебаптандыру үшін процесті басқару функциясы бөлек қызметке - WAS (2.3-параграфты қараңыз) ауыстырылды. Енді WWW қызметі HTTP.sys драйверінің үстінде жұмыс істейтін HTTP/HTTPS хаттамаларында мамандандырылған адаптерлердің біріне айналды. Дегенмен, WWW қызметі IIS-тің негізгі құрамдас бөлігі болып қала береді, сондықтан оны конфигурациялау басқа протоколдар үшін адаптерлерді конфигурациялаудан ерекшеленеді (бұл туралы толығырақ осында); ол WAS сияқты бірдей жұмыс үрдісінде жұмыс істейді және сол кітапханада жүзеге асырылады (2-сурет).


2-сурет. W3SVC және WAS қызметтерімен жұмыс процесі.

Біз хаттама тыңдаушыларына арналған адаптерлер (протоколды тыңдаушы адаптер) туралы айтып жатқандықтан, сәл кідіріс жасап, олардың не екенін көрейік. Негізінде, IIS 7.x стандартты HTTP және FTP протоколдарынан басқа кез келген протоколдар арқылы сұрауларды өңдеу үшін конфигурациялануы мүмкін, мысалы, POP3, SMTP, Gopher. Сіз тіпті уақытыңызды қажет етпесеңіз, веб немесе WCF қызметі үшін өзіңіздің жеке протоколыңызды ойлап табуға және оған барлық қажетті құрамдастарды енгізуге болады. Ең көп таралған хаттамаларға арналған адаптерлер мен тыңдаушылар тегін және коммерциялық жүктеп алу үшін қол жетімді - мен мұны тексерген жоқпын. Бірақ, ең алдымен, .NET Framework-пен қамтамасыз етілген және IIS-пен біріктірілген стандартты қызметтерге (3-сурет) назар аударған жөн:

  • TCP протоколы үшін NetTcpActivator;
  • Атаулы құбырларға арналған NetPipeActivator;
  • Message Queuing үшін NetMsmqActivator (мысалы, MSMQ).


Күріш. 3. Windows қызметтері қосымшасындағы стандартты HTTP емес адаптерлердің тізімі.

Дегенмен, біз үшін ең маңызды адаптер - бұл WWW қызметі, соның ішінде. IIS 6-дан қалған екі функцияны толығырақ қарастырайық.

HTTP(S) әкімшілігі және конфигурациясы.Веб-сайт конфигурациясы жаңартылған кезде, WAS қызметі бұл ақпаратты WWW қызметіне жібереді, ол өз кезегінде HTTP.sys файлын нақты порттарды тыңдау, сұралған сайттың IP және тақырыбын талдау және, мүмкін, басқа драйвер параметрлерін реттеу үшін конфигурациялайды. . Қарама-қарсы бағытта W3SVC контактілері HTTP.sys кезегіне жаңа сұрау келгенде WAS - осы сұрауды өңдейтін жұмысшы процесін алу үшін.

Өнімділік көрсеткіштерін қадағалау. WWW қызметі HTTP.sys драйверін пайдаланып өнімділік есептегіштерін қолдайды және оларды веб-сайттарға және IIS кэшіне береді. Мен бұл мәселе бойынша толығырақ ақпарат таба алмадым.

2.3. Windows процесін белсендіру қызметі (WAS)
Сонымен, IIS 7.x жүйесіндегі WWW қызметі, IIS 6 сияқты, HTTP.sys басқару және веб-сайт өнімділігі көрсеткіштерін басқару тапсырмаларын орындауды жалғастырады. Бірақ жұмыс процестерін басқару міндеті бөлек қызметке ауыстырылды - WAS. Оны жүйе бір көшірмеде іске қосады, файлдан конфигурацияны оқиды %SystemRoot%\System32\inetsrv\Config\ApplicationHost.configжәне онда көрсетілген ақпаратқа сәйкес сәйкес адаптерлер арқылы хаттама тыңдаушыларын конфигурациялайды. Еске салайық, HTTP/HTTPS протоколдары үшін адаптер W3SVC қызметі, ал тыңдаушы HTTP.sys драйвері болып табылады. Тыңдаушы сұрауды ұстаған кезде, ол клиентке жауапты өңдеу және жасау үшін сұрауды алатын қолданба жұмысшы процесін алу үшін WAS қызметімен байланысу үшін адаптерін пайдаланады.

Пайдаланушы сұрауын өңдеу үшін қажет қолданбаны белсендіру кезінде келесі компоненттер пайдаланылады:

  • Тыңдаушы адаптерлері арнайы протоколмен жұмыс істейтін және сұрауларды дұрыс жұмыс үрдісіне бағыттау үшін WAS-пен әрекеттесетін арнайы Windows қызметтері болып табылады.
  • Шынында да болды. Ол жұмыс процестерін құруға және олардың өмір сүру уақытын басқаруға жауапты.
  • w3wp.exe орындалатын файл жұмыс үрдісінің үлгісі болып табылады.
  • Қолданба менеджері жұмыс процесінде орналастырылған қолданба домендерін жасауды және жоюды басқарады.
  • Протокол өңдеушілері – белгілі бір адаптер мен жұмысшы процесі арасында деректер алмасуға жауапты жұмысшы процесінің протоколға тәуелді құрамдас бөліктері. Протокол өңдегіштерінің 2 түрі бар: процесс протокол өңдегіштері (PPH) және қолданбалы домен протоколының өңдеушілері (ADPH).
Төмендегі сурет қолданбаның жұмыс процесі данасы ішіндегі құрамдастардың диаграммасының мысалын көрсетеді. WAS қызметі жұмыс процесін бастағанда, ол оған қолданба конфигурациясына сәйкес қажетті процестер журналын өңдеушілерді (PPH) жүктейді және қолданба менеджері арқылы қолданба орналастырылатын жұмыс процесінде қолданба доменін жасайды. Қолданба менеджері тиісті желі протоколдары арқылы хабарларды өңдеу үшін қолданба кодын қолданба доменіне және қажетті Қолданба деңгейінің протокол өңдеушілеріне (ADPH) жүктейді.


Күріш. 4.Сыртқы құрамдастармен әрекеттесу үшін w3wp.exe құрамдастары.

Жоғарыда айтылғандай, .NET Framework HTTP/HTTPS (біздің сүйікті ASP.NET), net.tcp, net.pipe және MSMQ протоколдарына арналған құрамдастарды жүзеге асырады. HTTP/HTTPS және FTP протоколының стектері әлі де IIS және ОЖ-мен тығызырақ біріктірілген, сондықтан танымал емес Dotnet протоколдарының мысалын пайдалана отырып, жаңа хаттаманың конфигурациясын көрсеткен дұрыс. Осылайша, құрылымды орнатқаннан кейін IIS ApplicationHost.config конфигурация файлында келесі жазбалар пайда болады:

Және сәйкес PPH және ADPH құрамдастары Dotnet machine.config ішінде конфигурацияланған:

ApplicationHost.config веб-серверінің конфигурация файлы қолданба параметрлерімен бірге осы қолданбаға жіберілетін кіріс сұрауларының параметрлерін анықтайтын байланыстарды сақтайды. Мұндай параметрлер желілік хаттаманың аты, сервердің IP мекенжайы, домен атауы және сайт порты болып табылады. Бұл параметрлер мақсатты қолданбаны бірегей анықтау үшін іске қосылған қолданбалар арасында бірегей болуы керек. WAS қызметі бұл шектеуді бақылайды және бұл шартқа сәйкес келмейтін сайтты іске қосуға рұқсат бермейді немесе сол сілтемесі бар сайтты тоқтатуды ұсынады.

IIS стандартты жұмыс режимінде WAS қызметі, әрбір хаттама тыңдаушысы (соның ішінде W3SVC) үшін адаптер қызметі және әрбір протоколға арналған драйверлер/тыңдаушылардың өздері (HTTP.sys қоса алғанда) ОЖ бір көшірмеде іске қосылатынын ескеріңіз. . Бірақ жеке сұраулар әртүрлі жұмыс үрдістеріндегі әртүрлі қолданбаларға бағытталуы мүмкін. Екінші жағынан, сұраныстарды сәйкес адаптерлер арқылы әртүрлі хаттамалар арқылы бір қолданбаға жіберуге болады. Шамасы, бұл мінез-құлықты дұрыс орындау үшін протокол драйверінің архитектуралық комбинациясы - протокол драйверінің адаптері - белсендіру қызметі (регулятордың бір түрі, дәлірек айтқанда, маршрутизатор) - жұмыс процесі ойлап табылды.

2.4. Қолданбалар пулы
Веб-бағдарламаны конфигурациялау кезінде сұрау параметрлері мен басқа параметрлерге байланыстыруларға қосымша, қолданба пулындағы мүшелік көрсетіледі. Қолданбаларды біріктіру IIS 6 жүйесінде жаңа болды және веб-қосымшалардың бір-бірінен оқшаулануын қамтамасыз етуге және осылайша тұтастай алғанда веб-сервердің тұрақтылығын арттыруға арналған. Қорытындысы, қолданба коды арнайы Windows процесінде жұмыс істейді - w3wp.exe. Сондықтан, веб-бағдарламадағы ерекше жағдай тек сол процесті бұзады және басқа пулдардағы веб-қосымшалардың қолжетімділігіне немесе IIS жұмысына әсер етпейді. Сонымен қатар, WAS қызметі бұзылған сайтты қайта іске қосуға тырысады, ал сыртқы клиенттер тіпті серверде ақауларды байқамауы мүмкін.

IIS жалғыз w3wp.exe жұмыс процесінің кейбір параметрлерін басқару үшін қолданба пулын пайдаланады. Ең жиі қолданылатындары – процесс іске қосылатын тіркелгі, сұрау кезегіне шектеулер, процесті автоматты түрде қайта іске қосу үшін әртүрлі таймерлер мен есептегіштер, x86/x64 архитектурасы (IIS 7.x жүйесінде) және басқалары (5-сурет). ), o қызықты оқырман MSDN және оның сүйікті іздеу жүйесінде оңай оқи алады. Бұл. w3wp.exe процесінің және қолданба пулының сәйкестігі туралы (белгілі ескертпелермен, сондай-ақ 2.5-тің соңғы абзацын қараңыз) сөйлесе аламыз.


Күріш. 5Қосымша қолданба пулының параметрлері

IIS 7.x жүйесіндегі қолданбалы пулдар концепциясының негізгі инновациясы жаңа параметр – контейнерлерді басқару моделі болып табылады, ол 2 мәнді қабылдай алады: классикалық (Классикалық режим) және ендірілген үлгі (Біріктірілген режим).
Осы жұмыс режимдерінің арасындағы айырмашылықты түсіндіру үшін IIS 6/7.x жүйесіндегі «Модуль» түсінігімен және IIS + ASP.NET комбинациясындағы оқиғаға негізделген сұрауды өңдеу үлгісімен таныс болуыңыз керек. Бұл тақырып бөлек мақалаға лайық, бірақ, өкінішке орай, менде оған уақыт жеткіліксіз. Мұнда мен сіздердің назарларыңызға тек жалпы, негізгі ойларды ұсынамын.

Сонымен, IIS сұранысты өңдеген кезде, оны арнайы компоненттер - модульдер тізбегі арқылы жұмыс процесі ішінде өткізеді. Мысалы, сүзу, қайта бағыттау, кэштеу, аутентификация, авторизация. Әрбір осындай модуль белгілі бір оқиғамен байланысты және олардың реттілігі оқиғаға негізделген сұранысты өңдеу үлгісін құрайды. Модульдер жергілікті және басқарылатын болып бөлінеді. Жергілікті модульдер IIS-пен бірге келеді, ал басқарылатын модульдер .NET Framework (ASP.NET) бірге келеді. Жалпы, сіз оларды белгілі бір дәрежеде веб-бағдарлама конфигурациялау деңгейінде басқара аласыз, бірақ тек ASP.NET торап кодынан басқарылатын модульдермен әрекеттесе аласыз.


Күріш. 6. IIS модульдерінің идеологиясы.

Классикалық модельконтейнерлерді басқару IIS 6 жүйесіндегі жұмыс процесін оқшаулау режимімен кері үйлесімділікті қамтамасыз етеді - ASP.NET сайтына сұраулар алдымен жергілікті модульдер арқылы жіберіледі, содан кейін басқарылатын ортадағы модульдер арқылы өңдеу үшін Aspnet_isapi.dll файлына жіберіледі. IIS және ASP.NET арасындағы бұл бөлу аутентификация және авторизация сияқты кейбір функциялардың қайталануына әкеледі. Сізде жергілікті модульдердің әрекетін бағдарламалық түрде басқару мүмкіндігі жоқ (мысалы, ең маңызды болмаса да, осы мақаланың «Сервер тақырыбын жою» бөлімінде бар).

Кірістірілген үлгі IIS және ASP.NET арасындағы жақынырақ әрекеттесуді қамтиды. Мұндай өңдеу архитектурасындағы сұрау оқиғалардың жиынтық тізбегі арқылы өтеді, олардың әрқайсысы сұрауды жергілікті және басқарылатын модульдер арқылы өткізеді. Бұл режимде IIS және ASP.NET сұрауды өңдеу үлгілері бір үлгіге біріктірілген, бұл функциялардың қайталануын болдырмайды және сұрауды өңдеуді көбірек басқаруға мүмкіндік береді.

Тәжірибеде веб-қосымшаларды әзірлеу және орналастыру кезінде ескеру қажет ең маңызды нәрсе - бұл екі режимнің ішінара үйлесімсіздігі. Анау. Торапты (дәлірек айтқанда, сайт жұмыс істейтін қолданбалар пулын) классикалық үлгіден ендірілгенге көшіру кезінде кодты түзету (мүмкін маңызды болмаса да) әрқашан дерлік қажет болады, сонымен қатар мұқият тестілеу қажет болады.

2.5. Қолданба домені, қолданба
Веб-қосымшаның тікелей контейнерлері қолданба және қолданба домені болып табылады (Application Domain, AppDomain). Көбінесе бұл екі ұғым анықталады, бірақ бәрібір олар сәл өзгеше нәрсе. Қолданба IIS тұжырымдамасы және қолданба домені ASP.NET. Сонымен қатар, жалпы жағдайда қосымшаның бірнеше домендері болуы мүмкін. Қолданбаны IIS консолінен басқаруға болады, бірақ қолданба доменін негізінен бағдарламалық түрде басқаруға болады. Мысалы, қолданба консольден қайта іске қосылады. Біз web.config файлын қайта сақтаған кезде, IIS қолданбасына қол тигізбестен қайта жүктелетін қолданба домені.

Практикалық тұрғыдан маңыздырақ, қолданба/қолданба домені сіздің ASP.NET сайтыңыздың кодына арналған құм жәшігі болып табылады (пул жағдайындағыдай сенімді оқшаулаумен емес, бірақ бәрібір). Міне, сұхбат кезінде кандидаттарға қойған менің сүйікті сұрақтарымның бірі. Веб-сайт-1 және веб-сайт-2, сонымен қатар Field1 статикалық өрісі бар MyClass1 класы анықталған MyLib.dll белгілі кітапханасы болсын. Осылайша, екі сайт бірдей қолданбалар пулын іске қосады және бірдей MyLib.dll кітапханасын пайдаланады. Веб-сайт-1 MyClass1.Field1 = 16-ға жазады (7-сурет). Сұрақ: 2-сайт енгізілген өзгерістерді көре ме? Жауабы «Жоқ». Бірақ неге? Бір жұмыс процесінде жұмыс істесе де, IIS қолданбалары үшін қабаттаспайтын мекенжай кеңістіктері бөлінгендіктен, веб-қосымшалар жинақтардың жеке көшірмелерін жадқа жүктейді (. . NET Framework).

Күріш. 7.Мәселеге сурет салу.

Осы жерде тағы бір маңызды жайтты атап өткім келеді. Әдепкі бойынша, әрбір жеке жұмыс процесі сервердегі барлық қол жетімді процессорларды/ядроларды пайдалана алады және қолданбалар пулы бір жұмыс процесінде жұмыс істейді, демек веб-бағдарлама бір IIS қолданбасының ішінде жұмыс істейді. Дегенмен, бір бассейнге жұмысшы процестерінің санын, демек, әрбір веб-бағдарлама үшін IIS қолданбаларының санын көбейту арқылы веб-бағыңызды теңшей аласыз. Интернеттен веб-бақтар туралы ақпаратты оңай табуға болады, сондықтан мен мұнда егжей-тегжейлерді жіберіп отырмын. Сізге ескерткім келетін жалғыз нәрсе, бұл құрал өнімділікті арттыру құралы емес, өйткені... Әдепкі бойынша сервердің барлық есептеу қуаты бұрыннан пайдаланылады. Керісінше, 2+ жұмысшы процестерінің жұмысын синхрондау процессордың «қосымша» уақытын алды. Бұл негізінен веб-қосымшаның қолжетімділігін арттыру үшін жасалады. Бұл жерде веб-ферма туралы айтпау мүмкін емес, өйткені IIS-те жүктемені теңестірудің ең қарапайым құралы - Интернетте бұл туралы көптеген мақалалар бар. Бұл таратылған веб-бағдарламаның тағы бір мысалы. Дегенмен, nginx көмегімен IIS жүйесіндегі кірістірілген жүктемені теңестіру бәсекеге түсе алмайды және нақты жоғары жүктемелі жүйелерде сізге дөңгелекті қайта ойлап табуға немесе үшінші тарап өнімдерін пайдалануға тура келеді.

3. Енді не болады?

Әрі қарай, 2.4 бөлімінде айтылғандай, сұраудың нақты өңделуі орын алған модульдердің жұмысын (IIS тұрғысынан) және оқиға үлгісін түсіну керек. Жалпы алғанда, бұл тақырып жеке мақалаға лайық, оған менің уақытым жетпейді деп қорқамын. Бірақ мұнсыз біз барлық сұранысты өңдеу құбырын қарастырдық деп айта алмаймыз. Сондықтан біз мұнда қызықты оқырман өз бетімен жасай алатын негізгі ойларға қысқаша тоқталамыз.

Жоғарыда 2.4 бөлімінде айтылғандай, IIS модульдері жұмысшы процесінің ішінде қамтылған. Сұрау олар арқылы дәйекті түрде жіберіледі (HttpHandlers-тен айырмашылығы). Олардың жиынтығы мен реті сервердің және/немесе белгілі бір веб-бағдарламаның конфигурациясымен анықталады. Модульдер авторизация, кэштеу, реттелетін журнал жүргізу, қысу, статикалық мазмұнды қайтару және, әрине, берілген URL мекенжайында HTML беттерін жасау сияқты жеке, жоғары мақсатты тапсырмаларға арналған.

Біз білетіндей, IIS модульдері екі түрге бөлінеді: жергілікті және басқарылатын. Модульдердің нақты тізімін MSDN немесе Реган Темплиннің мақаласынан таба аласыз. Сіз әрқашан өз модуліңізді жаза аласыз, мысалы, қайта бағыттаулар үшін. Көбінесе, әрине, олар басқарылатын модульдерді жасайды, өйткені... олар жүзеге асырудың ең оңайы. Айтпақшы, ASP.NET WebForms және MVC осындай басқарылатын модульдер түрінде жұмыс істейді. Оның ішінде Жеке менің holivars WebForms vs. MVC сізді күлдіреді және тролльге ұмтылуға мәжбүр етеді. IIS және ASP.NET қалай жұмыс істейтінін біле отырып, сіз өзіңізге ұнайтын кез келген үлгіні жүзеге асыра аласыз.

Қарастырудың келесі деңгейінде біз HttpHandlers және бет өңдеу оқиғалары сияқты ASP.NET құрамдастарын кездестіреміз. Бұл туралы көптеген мақалалар жазылды, соның ішінде. Мен бұл туралы бұдан былай тоқталудың мағынасын көрмеймін. Сұхбаттасуға баратындарға кеңес бергім келетін жалғыз нәрсе – кездесу алдында іздеу жүйесіне «ASP.NET бетінің өмірлік циклін» теру – бұл, әрине, менің терең сенімім бойынша, өзін ASP.NET әзірлеушісі деп санайтын мамандар үшін ұят. білмеу.

applicationHost.config ішіндегі жергілікті модульдер үшін әдепкі параметрлердің мысалы

 
Мақалалар АвторыТақырып:
Таңбашалар мен бағдарламалар іске қосылмайды: компьютердің қалыпты жұмысын қалпына келтіру нұсқаулары төте жолдар жұмыс істемесе не істеу керек
Жаңадан бастаған пайдаланушылар төте жолдарды бағдарламалардың немесе файлдардың өздері деп ойлайды, сондықтан төте жолды басқан кезде пайда болатын күтпеген мәселелер ол шақырылуы керек нысанға қатысты мәселе ретінде қабылданады (exe файлын ашыңыз), сонымен бірге бұл көбінесе алыс. бастап
Компьютер уақыт пен күнді сақтамайды
Уақыттың жоғалуының негізгі себептері - батареяның істен шығуы, дұрыс емес уақыт белдеуін таңдау кезінде жаңарту және күнді өзгертетін үшінші тарап бағдарламалары. Жүйе сағатының дұрыс жұмыс істемеуінің осы себептерінің әрқайсысын үйде оңай шешуге болады.
Мониторды калибрлеу әдісі: теориялық негіздері
Көпшілігіміз компьютерде ұзақ уақыт жұмыс істегеннен кейін көздеріміз ауырып, тіпті сулай бастайтынын бірнеше рет байқадық. Кейбіреулер бұл құрылғыны пайдалану ұзақтығы маңызды деп санайды. Әрине, егер сіз тым ұзақ отырсаңыз, сүйікті ойыныңызды ойнап немесе жай ғана жұмыс істесеңіз
MegaFon All Inclusive VIP тарифі - сипаттамасы, қосылуы және құны Барлығы қосылған VIP тарифтік жоспары
All Inclusive VIP тарифтік жоспары байланыстарды жұмыс және белсенді жеке байланыс үшін пайдаланатын абоненттерге премиум сервисті ұсынады. Бұл айтарлықтай байланыс шығындары бар ең жақсы қызметтер пакеті, оны ұйым үшін сатып алуға болады