Веб-сервер: ол қалай жұмыс істейді, ол қалай жұмыс істейді, қалай қол жеткізуді және өзіңіз үшін не қажет болу керек

Іздеу жүйелеріндегі оң беделді сығымдаушылардан араласпай, семантикамен мүмкін!

«Әлеуметтік желілердегі мазмұн маркетингі: абоненттердің басына отыруға және олардың брендіне ғашық болуға болады» кітабын алыңыз.

Хабарламаға жазылыңыз және сыйлық ретінде кітап алыңыз!

Веб-сервер - бұл пайдаланушыдан сұраныстарды қабылдайтын және оларға жауаптар беретін сервер - бұл құжат, бет немесе сайт.

Біздің арнада көбірек видео - семантикамен Интернет-маркетингті үйреніңіз

Кез келген компьютерді сервер қабылдай алады. Мұны істеу үшін арнайы қабықты орнатыңыз.

Техникалық бөлімге қойылатын талаптар орналастырылған ресурстар санына және жылдамдыққа қойылатын талаптардың санымен анықталады. Олардың ішінде не бар, неғұрлым күшті компьютер болуы керек. Бұл анық, біз аналогияны береміз. Сіз кітапханаға барып, сізге кітап беруіңізді сұрайсыз. Кітапханашы сізге дұрыс нәрсені табады және жібереді. Кітапхана - бұл сервер, барлық деректер сақталады. Кітапханашы - бұл сұранысты қабылдайтын және жауап жіберген снаряд. Сіз клиентсіз. Сіз кітапхананы қосымша ақпарат алу үшін жібере аласыз - сілтемені солға қарай басыңыз. Айырмашылық - Интернеттегі бірдей ресурстар бір уақытта шектеусіз пайдаланушыларды оқи алады. Тұтынушыларға қызмет көрсету ұқсас қағидатпен жүзеге асырылады: Кітапқа келу, біз кітапханашы (іздеу жүйесі) немесе меңзерге қараймыз ( Яндексцаталог). Бұл сізге қажет ақпаратты табуға көмектеседі.

Веб-серверді не етеді

Оның негізгі міндеті - ақпаратты сақтау. Беттер, файлдар, суреттер, мәтін мазмұны. Иса:

  • Сұрақтар алыңыз.
  • Арнайы бағдарламалау тілдерінде (сервер) бағдарламаларды іске қосу.
  • Веб-беттерді қалыптастыру.
  • Оларды пайдаланушыға қайта жіберіңіз.
  • Ақпаратты қорғау.
  • Келушілерді анықтау.
  • Өтініштер журналын жасаңыз.
  • Басқа түрлерден сұраныстарға қызмет етеді: mailto, ftp және т.б.

Веб-сервердің қалай жұмыс істейтінін түсіну үшін желідегі ақпарат беру қағидаттары туралы түсінік қажет. Хаттамалар деп аталатын ережелерге негізделген: кез-келген URL мекен-жайы (FTP, http: //, http: //, https: // және т.б.). Гипер мәтінін беру протоколы - гипермәтіндік жіберу протоколы. Сайт беттерінде әрқашан гипермәтін құжаты бар. Бұл кез-келген сервер немесе клиент бағдарламасының түпкі нәтижесі.

  • Пайдаланушы мекен-жайға кіргенде немесе сілтемені басқан кезде, шолғыш осы ережелер туралы ақпаратты кодтайтын сұранысты жібереді.
  • Бұл мекен-жайы тіркелген хост сервер бағдарламасын іске қосады. Олардың әрқайсысы өз функцияларын орындайды.
  • Алынған мәліметтер шифрланған, командалар орындалады.
  • Гипермәтін қалыптасып, кодталған және жіберілген.
  • Браузер жауап алады, кодты HTML-ге түрлендіреді және экрандағы бетті көрсетеді.

Веб-сервер үшін не қажет

Барлық сұраныстарды өңдейтін машина қажет. Серверге төтеп беретін жүктемені бағалаңыз. Бұл келушілер санына байланысты: көбірек сұраныс, жоғары қуаттың талабы.

Хостинг қызметін ұсынатын арнайы компаниялар бар. Сіз жалға бересіз. Сізге сайт файлдарын орналастыруға квота беріледі. Бірақ егер сізде қарапайым сайт болса, сіз өзіңіз жасай аласыз.

Сұрақ сервермен шешілген кезде, оған статикалық IP мекенжайын байланыстыру керек.

Домен атауы тіркелгеннен кейін сайт веб-серверде қол жетімді болады, DNS қызметін түрлендірулер аяқталды - IP мекенжайын шешу (мысалы, 111.111.111.111) және домен атауы (www.site.com).

Ең көп таралған серверлер

Әрі қарай, біз танымал снарядтар - Серверлерді басқару жүйелерін қарастырамыз.

Apache.

Бұл жеңіл, еркін таратылған өнім, олар артықшылықтары бар:

  • Әзірлеушілерді үнемі қолдау.
  • PHP бағдарламалау тілдерімен, Perl, Python, Ruby, ASP және т.б. жұмыс істеуге арналған модульдер
  • Ашық код. Әр түрлі бағдарламашылар нақтылаумен айналысады. Мысалы, орыс тілді қоғамдастығы оны орыс кодтасуға бейім.
  • Кросс-платформа. Ол бастапқыда Unix астында жасалған, бірақ қазір Windows, Mac OS, BSD, Linux, Linux, OS / 2 және Novell Netward қолдау көрсетіледі.
  • Қауіпсіздік.

Орнатқан кезде, хостыңыздың атын көрсетіңіз, мысалы, жергілікті хост. Apachex.x қалтасында (мұнда x.x нұсқасы) орналасқан HTDocs қалтасында кез келген HTML бетін көшіріңіз. Немесе оны кез-келген мәтінді енгізу және HTML кеңейтілімімен сақтау арқылы оны ноутбукке жасаңыз.

Файл қалтада пайда болған кезде, шолғышты ашып, мекенжайды ашыңыз: localhost: // беті.html. Мәтін экранда пайда болады - парақ серверден ашық. Егер сіз «Сайтқа кіру мүмкін емес» қатесін көрген болсаңыз, онда Apache жұмыс істемейді. Оның белгішесі науада орналасқан. Оны басыңыз және «Ойнату» таңдаңыз. Осыдан кейін бәрі жұмыс істейді.

Ngnix.

Онда жұмыс істейтін белсенді платформалардың үлесі 21,13% (NetBraft зерттеулері). Оны негізінен ірі компаниялар мен кәсіби әзірлеушілер қолданады: Yandex, Mail.ru, Rambler және т.б. Ngnix келушілердің үлкен жүктемесіне қарсы тұрады, сенімді, қауіпсіз және ойланады. Бұл еркін, бірақ ақылы нұсқасы пайда болды, құны пайда болды 2500 доллардан.

ИАЖ.

Оның даңқы әзірлеушінің қатты атымен қамтамасыз етілген. Бұл веб-қызметтер жиынтығы және Windows жүйесімен біріктірілген. Жергілікті бағдарламалау платформасы - ASP.NET, бірақ мүмкін және балама, мысалы, PNP.

Толық хостинг үшін сіз Microsoft Windows Server-ден сервердің амалдық жүйесін орнатуыңыз керек. 6-нұсқа хостингке арналмаған, толық қолдау 7-ші күні басталды. Ол автоматты түрде операциялық жүйемен бірге сатып алынады және оның сипаттамаларына байланысты.

Орнату пакеттері

Жаңадан келген бағдарламашылар мен әзірлеушілер үшін веб-серверді компьютердегі бірнеше рет басу арқылы пайдалануға мүмкіндік беретін құралдар жасалады.

  • Openserver. Портативті даму ортасы, оның ішінде бірнеше мәліметтер базасы, бағдарламалау тілдері мен нұсқалары, сонымен қатар қосымша қызметтер. Мысалы, PHPMyAdmin мәліметтер базасымен жұмыс интерфейсі. Бүгінгі таңда бұл ең танымал орнату жиынтығы. Ол тіпті флэш-дискіден де жұмыс істейді. Төмен жылдамдықтағы тегін жүктеу. 100 рубль үшін жылдамдық кейде жоғарылайды.
  • Xamppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppl. Белсенді қолдау көрсетілетін бума: Apache, PHP, Perl, Mariadb және т.б. Басқару тақтасы бар. Тегін жүктелген.
  • DENWER. Apache, PHP, MySQL, PHPMYADMIN, барлық қажетті құралдардың өте ыңғайлы жиынтығы. Өкінішке орай, соңғы нұсқада ескірген таралулар кіреді. Жалпы алғанда, олар жаттығуларға жарамды. Форумға сүйенсек, жоба бұдан былай қолдау көрсетілмейді.

Веб-сервер. (Веб-сервер ) - Бұл сұраныстарды (HTTP сұраулары) клиенттерден веб-сайтқа алуға және өңдеуге жауап беретін сервер. Клиенттер ретінде әр түрлі веб-шолғыштар әдетте орындалады. Жауап ретінде, веб-серверде HTTP жауаптары, көп жағдайда, көптеген жағдайларда, оларда: барлық түрлері, суреттер, суреттер, медиа ағындары немесе басқа деректер бар.

Веб-сервер сонымен қатар сценарийлердің орындалуын, мысалы, CGI, JSP, ASP, ASP, ASP және PHP, мысалы, желілік қызметтерге, мәліметтер базасына, файлдарға қол жеткізуге, электрондық пошталарға және басқа электрондық коммерцияға қосымшаларды жіберуге жауап береді.

«Веб-сервер» термині сонымен қатар веб-сервер функцияларына қызмет ететін техникалық құрылғылар мен бағдарламалық жасақтамаға қолданылады. Бұл дербес компьютерлер тобынан немесе қызмет бағдарламалық жасақтамасы орнатылған жұмыс станциясынан нақты көрсетілген компьютер болуы мүмкін.

Негізінен веб-шолғыш болып табылатын пайдаланушының клиенті URL мекенжайларымен көрсетілген ресурстарға веб-сервердің сұраныстарын жібереді. Ресурстар - HTML беттері, сандық медиа мазмұны, медиа ағындары, түрлі суреттер, түрлі суреттер, деректер файлдары немесе клиентке қажетті кез келген басқа деректер. Жауап ретінде, веб-сервер оларға сұралған деректерді жібереді. Бұл алмасу HTTP протоколын қолдану арқылы жүзеге асырылады.

HTTP (ENG. Гипермәтінді беру протоколы - гипермәтіндік жіберу протоколы) - бұл қосымшаның деңгейіндегі желі протоколы. HTTP протоколының негізгі қағидасы - бұл желілік өзара әрекеттесуді және пайдаланушыны қамтамасыз ететін клиент-сервер технологиясы.

Шағын ұйым болған жағдайда, веб-сервер веб-серверде тұратын тұтас жүйе бола алады: HTTP сервері - веб-беттерге арналған сұраулар үшін қызмет етеді; FTP сервері - Интернет арқылы файлдарды жүктеуге қолданылады; NNTP сервері - жаңалықтар топтарына кіруді жүзеге асырады; SMTP сервері - электрондық пошта үшін.

Тарих

Бірінші веб-сервердің өнертапқышы - британдық ғалым Тим Бернер-Ли. 1980 жылдан бастап еуропалық ядролық зерттеулер зертханасында жұмыс істейді (FR. Consil Eurol Eurolken eurche inource inter, cern) Бағдарламалық жасақтама бойынша кеңесші, ол өзінің дамуын бастады. Женевада ол деректерді сақтауға арналған кездейсоқ бірлестіктерді пайдаланған және Дүниежүзілік ғаламторға арналған кездейсоқ бірлестіктерді пайдаланған, өз қажеттіліктері үшін рентгендік бағдарламаны жасады (ағылшын тілін білу), ол кездейсоқ бірлестіктерді пайдаланды.

1989 жылы Тим Бернернер-Ли, CERN ұйымының ішкі желісінде жұмыс істеді және гипермәтіндік құжаттарды құруды ұсынды, ол гипермәтіндік құжаттармен салыстырылды, ол еренсілтемелермен байланысты. Бұл жобаны енгізу оның пікірінше, CERN ғалымдары үшін ақпарат іздеу және ақпарат алмасады. Тим Бернер-Ли жобасын жүзеге асыру үшін, оның көмегімен, URI және URL мекен-жайы, HTTM протоколын, сонымен қатар HTML тілін ойлап тапты. Осы технологиялардың барлығы қазір қазіргі заманғы Интернетте кеңінен қолданылады және оларсыз енді жоқ.

Осы жобаның нәтижесінде Бернер-Ли әлемдегі «httpd» деп аталатын алғашқы веб-серверін, сондай-ақ WorldWideweb деп аталатын әлемдегі алғашқы гипермәтіндік веб-шолғышты жасады (Бүкіләлемдік Интернет).

Алғашқы веб-шолғыш келесіде жұмыс істеді - нысанға бағытталған, көп жұмыс істейтін амалдық жүйе және Interface Builder көмегімен жасалды. Веб-шолғыш интерфейсі өте қарапайым болды, және барлық дерлік ақпарат тек бірнеше суреттермен мәтіндік форматта көрсетілді. Стандартты FTP протоколынан басқа, Тим Бернер-Ли жаңа, ойлап тапқан HTTP протоколын қолданды. 1991 жылдан 1993 жылға дейінгі кезеңде Бернерс-Ли өзінің жаңа әзірлемелерінің техникалық қасиеттерін жақсартады: URI және URL мекен-жайы, HTTP протоколдары және HTML тілдері және оларды жариялады. Кейінірек, веб-шолғыш «Nexus» деп өзгертілді, осылайша ол браузер жасалынған операциялық жүйенің атауымен және оның атауымен шатастырмайды.

Әлемдегі алғашқы веб-сервер және алғашқы веб-шолғыш келесі жеке компьютерде жұмыс істеді; Енді бұл компьютер CERN мұражайында қойылған (микрокосм).

Әлемдегі алғашқы веб-сайт Тим ​​Берернер-Ли http://info.cern.ch; Қазір бұл сайт мұрағатта сақталады. Бірінші сайт Интернетте 1991 жылы 6 тамызда пайда болды. Осы веб-сайтта:

  • Дүниежүзілік кең веб-сипаттамасы;
  • Веб-серверді орнатуға арналған нұсқаулық;
  • Веб-шолғышты қалай сатып алуға болатындығы туралы ақпарат;
  • Басқа техникалық ақпарат.

Бұл сайт сонымен қатар әлемдегі алғашқы онлайн каталогтарды ұсынды. Бернер-Ли басқа сайттарға сілтемелер тізімін жариялады және оны үнемі жаңартып отырды.

1991 жылы 12 желтоқсанда АҚШ-тағы сызықтық үдеткіш (SLAC) Стэнфорд орталығында әлемдегі алғашқы веб-сервер орнатылды.

Негізгі және қосымша функциялар

Барлық негізгі және қосымша веб-сервер функциялары:

  • HTTP стандартты протоколын қолдана отырып, веб-браузерлерден сұраныстарды TCP / IP желілік протоколдарын қолдана отырып алуға;
  • HISP арқылы гипермәтін немесе кез-келген құжаттарды іздеу және жіберу файлдарын орындау;
  • Сұранымдарды жүргізу және өңдеу, түрі: түрі: mailto, ftp, telnet және т.б.;
  • CGI интерфейсі стандарты арқылы өңдеу және қайта өңдеу параметрлерін қайтару және қайтару арқылы қосымшаларды қолдану бағдарламаларын іске қосыңыз;
  • Кескін навигациялық карталарына жұмыс және техникалық қызмет көрсету (кескін картасы);
  • Java қосымшаларын жүктеп алыңыз;
  • Әкімшілік және пайдалануды басқару сервері;
  • Пайдаланушының авторизациясы және олардың аутентификациясы;
  • Пайдаланушыларды әр түрлі ресурстарға тіркеу журналын жүргізу;
  • Веб-беттердің автоматтандырылған жұмысы;
  • Динамикалық түрде жасалатын беттерді қолдау;
  • Клиенттермен қауіпсіз қосылыстар үшін HTTPS протоколын қолдау.

Веб-сервердің жұмыс сипаттамасы

Веб-шолғыштар гипермәтіндік хабарламаларды пайдаланып веб-серверлермен сілтемелерді қолдайды (гипермекстросферансферополокол, http). Бұл TCP / IP протоколын пайдаланып ақпарат жіберу үшін қарапайым сұрау және жауаптар. Веб-сервер сұрау алады, файлды анықтайды, оны браузерге жібереді, содан кейін қосылымды бұзады. Бетте қол жетімді графикалық ақпарат бірдей өңделеді. Әрі қарай веб-шолғыш кезекі келеді - HTML құжатын пайдаланушының мониторынан көрсету.

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

Сондай-ақ, веб-сервер сонымен қатар олардың әртүрлі қосымшаларын, олардың ішіндегі ең танымалдығы, олардың ішіндегі ең танымалдығы, олардың ішінде іздеу қозғалтқыштары мен мәліметтер базасы бар мәліметтер базасы бар. Осы қосымшаларды әзірлеу үшін, мысалы, шлюздің ортақ интерфейсі (ComongateWorkeinterface, CGI), JavaScript сценарийлері, сонымен қатар Java және VisualBasic бағдарламалау тілдері сияқты стандарттар бар. CGI стандартты интерфейсінен басқа, кейбір веб-серверлерді әзірлеушілер, мысалы, Microsoft корпорациясы мен API интернет-сервері API және API интернет-сервері AGIN API және API интернет-сервері арқылы бағдарламалаудың интерфейстерін (API) құрды. Бұл интерфейстер әзірлеушілерге арнайы веб-сервердің функцияларына тікелей қол жеткізуге мүмкіндік береді. Кейбір веб-серверлерде бағдарламалауда кәсіби білімді қажет етуі мүмкін мәліметтер базасына қосылу үшін қосылатын бағдарламалық қамтамасыз ету (орта бағдарлама) бар.

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

Веб-серверге шолу

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

Көптеген веб-серверлер оңай және жылдам орнатылады.

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

Веб-серверлер веб-сайттың жалпы ұйымын сипаттайтын ақпараттық модульді басқаруға арналған, сонымен қатар ішкі және сыртқы гипермәтіндік сілтемелердің дұрыстығын тексеру үшін құралдар бар. Novell ашық кәсіпорын серверімен (OES) және қосымша Fasttrack серверімен бірге ұсынылған Netswire Communications Livewire Compance-тің, қосымша парақтың барлық қосылымдарының тізімін жасайды. Бұл қызметтік бағдарлама сонымен қатар барлық дұрыс емес қосылыстардың жалпы тізімін ұсынады. O'REILLY & Associates-тің WebView бағдарламасы бірдей мүмкіндікке ие және барлық қате сілтемелер қызыл түспен бөлінетін файлдардың толық файлын көрсете алады.

Маңызды материалдарды басқарудың бастауыш құралдары да бар. Веб-әкімшілер файлдарды сақтау үшін және веб-серверге кіретін пайдаланушылардан осы файлдарға қалай кіру керектігін таңдау керек. Бұл логикалық URL мекенжайлары мен физикалық каталогтардың сәйкестігін талап етеді. Әрбір бағдарламалық жасақтама бұл әрекетті ерекше жолмен жүзеге асырады.

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

Жеке пайдаланушылар мен олардың топтарының жұмысын ұйымдастыру үшін ішкі сервер қосымшалары немесе нақты операциялық жүйенің функцияларын пайдалануға болады. Жеке пайдаланушылар мен олардың топтарының жұмысын ұйымдастыру үшін ішкі сервер қосымшалары немесе нақты операциялық жүйенің функцияларын пайдалануға болады. Microsoft IIS пакеттік қызмет Windows NT негізгі желілерін қолдануға мүмкіндік береді.

Netware Web Server Noverl, Inc. Мекенжай каталогымен толығымен интеграцияланған (Netware Directory Services, NDS). Жалпы орталықтан пайдаланушылардың жұмысын анықтау ыңғайлы, бірақ бұл қауіпсіздікке қауіп төндіруі мүмкін. Парольдер Шифрланбаған түрдегі байланыс арналары арқылы таралады, егер олар тек веб-серверді ғана емес, сонымен қатар бүкіл желілік операциялық жүйенің қауіпсіздігі тәуекелге ие болса.

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

Веб-серверлер кішкентай интранет кәсіпорнынан түрлі жүйелерге қызмет ете алады, олар миллиондаған адамдарды пайдаланады.

Microsoft сәйкес келетін Microsoft корпоративті интранеттер, Интернет-ақпараттық сервер (IIS) үшін, Microsoft сәйкес келеді және таратады. IIS қарапайым қарапайым орнатумен және қарапайым конфигурация параметрлерімен сипатталады. Бұл веб-сервер пакеті қол жеткізуді басқару құралдарымен, өнімділік монитор жүйесін басқару құралымен (жүйелік монитор), сонымен қатар оқиғаларды қарау журналының қарау құралымен тамаша үйлеседі. Тағы бір IIS Web Server мәліметтер базасынан динамикалық ақпаратқа арналған бірнеше құрал сияқты. IIS өте жоғары жылдамдықпен сипатталады. IIS компоненттері: HTTP, HTTP, FTP, NNTP, SMTP, SMTP, POP3 сияқты протоколдарды қолдайды.

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

Интернетке қосылған кез келген дербес компьютерде арнайы сервер бағдарламалық жасақтамасын орнатсаңыз, веб-сервер жасай алады.

Ең көп кездесетін веб-серверлер: Apache (Apache бағдарламалық жасақтамасы), IIS (Microsoft) және iPlanet сервері (Sun Microsystems және Netscape Communications Corporation). Енді веб-серверлер үшін бағдарламалық жасақтама нарығында өнімнің үлкен таңдауы, коммерциялық және тегін.

Ең көп таралған веб-серверлердің бірі - Apache бағдарламалық жасақтамасынан Apache. Болжалды санау арқылы оны әлемдегі барлық веб-серверлердің 65% пайдаланады. Apache бағдарламалық жасақтамасының негізгі артықшылықтарының бірі - еркін бөлу. Әзірлеушілер нәтижелі қателіктерді үнемі жояды және пайдаланушылардың жақсы қолдауын қамтамасыз етеді. Бұл веб-сервер көптеген модульдерді, утилиталар мен толықтыруларды қолдайды. Аптадан бастап, Apache әкімшілер мен тәжірибелі пайдаланушыларға арналған бағдарламалық жасақтама ретінде жасалды, яғни кемшілігі жоқ, бұл, тәжірибесіз веб-шеберлерді орнатудың және техникалық қызмет көрсетудің күрделілігі.

Содан кейін танымалдылық Microsoft корпорациясының IIS веб-сервері болып табылады. Netcraft мәліметтері бойынша, IIS веб-сервері веб-серверлердің жалпы санының 12,46% құрайды. Бұл өнім Windows NT Server бағдарламалық жасақтамасының бөлігі болып табылады. Оның негізгі артықшылықтары - тұрақтылық, жоғары жылдамдық, қосымша модульдерді қосу мүмкіндігі. Microsoft корпорациясы кез-келген қолданушының өз өнімдерін мамандардың көмегінсіз пайдалана алатындығын және егер ол стандартты тапсырмаларды шеше алса. Сондықтан, IIS орнату, конфигурациялау және қолдау өте оңай. Веб-сервер .NET технологиясын, жалдау, жақында, жақында, әзірлеушілер мен кәсіби пайдаланушыларда танымал. Бұл артықшылықтар IIS веб-сервері жаңа деңгейге дейін көрсетіледі және оны қолдану көбейеді деп күтуге болады.

Басқа танымал веб-серверлер:

  • nginx - Игорь Сайсов әзірлеген тегін веб-сервер және пошта прокси-сервері. Қарапайым, жылдам және сенімді сервер. Linux және басқа UNIX тәрізді операциялық жүйелерде, сонымен қатар Windows жүйесінде жұмыс істейді. Ірі веб-сайттарда танымал ләззат алады;
  • LightPd. - Тегін веб-сервер. Әзірлеуші ​​Ян Нешка. Жылдам және қауіпсіз веб-сервер. Linux және басқа UNIX немесе басқа да жұмыс істейтін операциялық жүйелерде, сонымен қатар Windows жүйесінде жұмыс істейді;
  • Google веб-сервері - Apache-ке негізделген веб-сервер және оны Google веб-инфрақұрылымын ұйымдастыру үшін пайдаланады;
  • Ыру - Java үшін ақысыз веб-сервер және бағдарлама сервері. Әзірлеуші ​​- Caucho Technology Inc .;
  • Чероки. - тек веб-интерфейс арқылы басқарылатын тегін веб-сервер. Бағдарламалау тілінде жазылған SI;
  • Тамыры. - Java бағдарламалау тілінде жазылған веб-сервер. Linux және Windows-та жұмыс істейді;
  • Thttp. - қарапайым, кішкентай, жылдам және қауіпсіз веб-сервер. ACME зертханалық бағдарламалық жасақтамасы.

Веб-сервер клиенттері

Әдетте, клиент веб-шолғыш болып табылады. Басқа әр түрлі құрылғылар мен бағдарламалар веб-серверге де қол жеткізе алады:

  • Тұрақты дербес компьютерге орнатылған веб-шолғыш;
  • PDA немесе басқа портативті құрылғыға орнатылған веб-шолғыш;
  • Ұялы телефондар мен қолданушы WAP протоколы үшін веб-сервер ресурстарына кіретін смартфондар;
  • Басқа ақпаратты жаңарту немесе алу үшін веб-серверге дербес қол жеткізе алатын түрлі бағдарламалар. Мысал - дерекқорды жаңарту үшін веб-серверге мезгіл-мезгіл сілтеме жасайтын әртүрлі антивирустар;
  • Әр түрлі сандық құрылғылар, сонымен қатар кейбір тұрмыстық техника.

Веб-сервер дегеніміз не

Бұл мақалада біз өзіңізден веб-серверлерден, олар қалай жұмыс істейтінін және олар неге маңызды екенін білеміз.

Түсінік «Веб-сервер. »Ол жабдыққа де, бағдарламалық жасақтамаға да қатысты болуы мүмкін. Немесе тіпті бірге жұмыс істейтін бөлікке де.

  1. «Темір» тұрғысынан, «Веб-сервер. »- Бұл сайт файлдарын (HTML құжаттарын, CSS-Stryls, JavaScript файлдары, суреттер және басқалар) сақтайтын және оларды соңғы пайдаланушы құрылғысына (веб-шолғышта және т.б.) сақтайды. Ол Интернетке қосылған және оларға ұқсас домендік атау арқылы қол жетімді болуы мүмкін Mozilla.org. .
  2. Бағдарламалық жасақтама тұрғысынан Веб-сервер. веб-пайдаланушылардың серверде орналастырылған файлдарға кіруін ең аз дегенде, бірнеше компоненттерді қамтиды - ол HTTP сервері. . HTTP сервері. - Бұл URL мекен-жайы (веб-мекен-жайлар) және HTTP (сіздің браузеріңіз веб-беттерді қарау үшін пайдаланатын протокол) бағдарламалық жасақтаманың бөлігі.

Бастапқы деңгейде, браузерге веб-серверде орналастырылған файл қажет болған кезде, шолғыш оны HTTP протоколы арқылы сұрайды. Сұрау қажетті веб-серверге («Темір») жеткенде, HTTP Server (бағдарламалық жасақтама) сұрауды қабылдайды, сұранысты қабылдайды, сұраным бар құжатты табады (егер жоқ болса, ол 404-ші қате, ол Reports хабарлайды) және HTTP арқылы жібереді.

HTTP арқылы клиенттің / сервер қосылымының негізгі көрінісі

Сайтты жариялау үшін, статикалық немесе динамикалық веб-сервер қажет.

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

Динамикалық веб-сервер Статикалық веб-серверден және қосымша бағдарламалық жасақтамадан тұрады, көбінесе Қолданба серверлері и Дерекқор . Біз оны шақырамыз «Динамикалық »Себебі, бағдарлама сервері бастапқы файлдарды HTTP арқылы шолғышқа жібермес бұрын өзгертеді.

Мысалы, шолғышта көрінетін соңғы бетті алу үшін, бағдарлама сервері дерекқордан HTML-деректер деректерін толтыра алады. MDN немесе Wikipedia сияқты сайттар мыңдаған веб-беттерден тұрады, бірақ олар нақты HTML құжаттары емес - тек бірнеше HTML шаблондары және үлкен мәліметтер базасы. Бұл құрылым веб-қосымшалар мен мазмұнды жеткізу үшін қолдауды жеңілдетеді және тездетеді.

Веб-бетті жүктеу үшін, сіз айтқандай, сіздің браузеріңіз сұранысты веб-серверге жібереді, ол сұралған файлды өз жадында таба бастайды. Файлды тапқаннан кейін сервер оны оқиды, оған қалай қажет екенін және оны браузерге жібереді. Осы қадамдарды толығырақ қарастырайық.

Біріншіден, веб-серверде веб-серверде веб-сайт файлдары, атап айтқанда барлық HTML құжаттары және олардың байланысты ресурстары, соның ішінде суреттер, CSS мәнерлері, JavaScript файлдары, қаріптер және бейне болуы керек.

Техникалық тұрғыдан, сіз барлық осы файлдарды компьютеріңізге орналастыра аласыз, бірақ оларды арнайы веб-серверде сақтау ыңғайлы:

  • Әрқашан іске қосылып, жұмыс істейді
  • Әрқашан Интернетке қосылыңыз
  • Онда тұрақты IP мекен-жайы бар (барлық провайдерлер емес, барлық провайдерлер үйге қосылу үшін статикалық IP мекен-жайыңызды бермейді)
  • үшінші, үшінші тарап компаниясы қызмет көрсетеді

Осы себептер бойынша жақсы хостинг провайдерін іздеу сіздің сайтыңызды құрудың негізгі бөлігі болып табылады. Компаниялардың көптеген ұсыныстарын қарастырыңыз және сіздің қажеттіліктеріңізге және сіздің қажеттіліктеріңізге сәйкес келетін нәрсені таңдаңыз (сөйлемдер айына мыңдаған доллардан тұрады). Сіз осы мақаладағы мәліметтер таба аласыз.

Сіз хостингке қатысты мәселені шешкеннен кейін, сізге файлдарды веб-серверге жүктеу керек болады.

Екіншіден, веб-сервер HTTP қолдауын ұсынады (Eng.) Hипер. tІшкі. TРансер. PРотокол - гипермәтіндік көлік протоколы ). Атау келесідей, HTTP екі компьютер арасында гипермәтінді (I.e. веб-құжаттарды) қалай жіберу керектігін көрсетеді.

Хаттама - бұл екі компьютер арасындағы байланыс үшін ережелер жиынтығы. HTTP - бұл күйді сақтамай-ақ мәтін протоколы.

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

HTTP қатаң клиент пен сервердің өзара әрекеттесу ережелерін анықтайды. Біз HTTP протоколын техникалық қағаздағы біраз уақыттан кейін қарастырамыз. Осы уақытқа дейін осы ережелер туралы білу жеткілікті:

  • Тек Тұтынушылар HTTP сұрауларын шығара алады және тек қосулы Сервер . Серверлер тек http-ге жауап беруге қабілетті Тұтынушының сұранысы .
  • HTTP файлын сұраған кезде, клиент файлдың URL мекенжайын қалыптастыруы керек.
  • Веб-сервер. Жауап беруі керек Әр HTTP сұранысы үшін, кем дегенде, қате туралы хабарлама.

MDN 404 беті осындай қате бетінің мысалы ретіндеHTTP сервері кіріс сұраныстарды өңдеуге және оларға жауап беруге жауап береді.

  1. Сұрау алғаннан кейін HTTP сервері алдымен осы URL мекен-жайы бар-жоғын тексереді.
  2. Олай болса, веб-сервер файлдың мазмұнын шолғышқа қайта жібереді. Олай болмаса, бағдарлама сервері қажетті ресурстар жасайды.
  3. Егер бұдан ешнәрсе мүмкін болмаса, веб-сервер қате туралы хабарламаны шолғышқа қайтарады, көбінесе «404 табылмады». (Бұл қате соншалықты жиі кездеседі, көптеген веб-дизайнерлерде 404 қате беттерін жасау үшін көп уақыт жұмсайды.)

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

«Динамикалық »Бұл сервер деректерді өңдейтінін немесе тіпті оларды дерекқордан шыбын шығарады дегенді білдіреді. Ол үлкен икемділікті қамтамасыз етеді, бірақ сату және техникалық қызмет көрсетуде қиын және қиын, өйткені сайт құру процесі өте күрделі.

Мысалы, сіз қазір оқып жатқан бетті алыңыз. Хостессасатын веб-серверде мақаланың мазмұнын дерекқор пішімдерінен шығаратын бағдарлама сервері бар, оны дерекқор пішімдерінен алады, оны HTML шаблондарына қосады және сізге нәтиже жібереді. Біздің жағдайда, бағдарлама сервері Кума деп аталады, ол Python бағдарламалау тілінде (Django Framework көмегімен) жазылады. Моцилла экипажы құрылды Кума. Белгілі бір MDN қажеттіліктері үшін, бірақ басқа технологиялар бойынша көптеген ұқсас қосымшалар бар.

Қолданбалар көп, бұл біраз ұсыну өте қиын. Кейбір бағдарламалар серверлері блогтар, вики-беттер немесе интернет-дүкендер сияқты веб-сайттардың кейбір санаттарында өткірленеді; Басқа, CMSS деп аталатын (мазмұнды басқару жүйелері) жан-жақты. Егер сіз динамикалық сайт жасасаңыз, қажеттіліктеріңізге сәйкес келетін құралды таңдауға біраз уақыт бөліңіз. Егер сіз Веб бағдарламалауды үйренгіңіз келмесе (ол өздігінен қызықты болса да!), Сіз өзіңіздің қолданбалы серверіңізді жасаудың қажеті жоқ. Бұл келесі велосипедтің өнертабысы болады.

Енді сіз веб-серверлермен танысқансыз, сіз:

Веб-сервер-құрылым-000.pngВеб-сервер дегеніміз не? Орташа адам тұрғысынан - бұл браузердің сұраныстарын өңдейтін және жауап ретінде веб-бетті шығаратын қара жәшік. Техникалық маман сізді төмен жанаспайтын шарттарда құйыңыз. Нәтижесінде, веб-серверлердің жаңадан келген әкімшілері кейде терминдер мен технологиялардың әртүрлілігін анықтау қиын. Шынында да, веб-даму аймағы қарқынды дамып келеді, бірақ көптеген заманауи шешімдердің негізі базалық технологиялар мен біз бүгін туралы және сөйлесудің негізгі технологиялары мен қағидалары болып табылады.

Егер сіз қайда бастау керектігін білмесеңіз, алдымен алдымен бастау керек. Заманауи веб-технологиялардың барлық түрлерінде шатастырмау үшін сіз заманауи Интернеттің қайда басталғанын және жетілдірілгенін түсіну үшін оқиғаны жіберуіңіз керек.

HTTP сервері.

Интернеттің дамуанған уақытында сайттар арнайы белгіленген құжаттарды және кейбір байланысты деректерді қарапайым сақтау: файлдар, суреттер және т.б. Құжаттарды бір-біріне және байланысты мәліметтерге сәйкес мәліметтерге арнайы HTML гипермәтінді белгілеу тіліне және HTTP Интернет желісіне ондай құжаттарға қол жеткізу ұсынылды. Тіл және тіл, протокол, даму және жақсарту, осы күнге дейін айтарлықтай өзгерістерсіз өмір сүрді. 1999 жылы қабылданған HTTP / 1.1 протоколын ауыстыруға келе бастады, HTTP / 2 хаттамасы заманауи желінің талаптарын ескере отырып, түбегейлі өзгерістерді жүзеге асырады.

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

HTTP Server тапсырмасы тұтынушының сұранысын шешіп, оны қажетті ресурс беріңіз немесе оны жасаудың мүмкін еместігін хабарлайды. Келесі схеманы қарастырыңыз:

Веб-сервер-құрылым-001.png

HTTP клиенті арқылы пайдаланушы, көбінесе бұл шолғыш HTTP серверінен белгілі бір URL мекенжайын сұрайды, серверде сервер тексереді және осыған сәйкес URL файлын береді, әдетте HTML беті болып табылады. Алынған құжатта суреттер сияқты байланысты ресурстарға сілтемелер болуы мүмкін. Егер олар бетте көрсетілуі керек болса, клиент оларды серверден дәйекті түрде сұрайды, тек стильдер кестелеріне, клиентте орындалған сценарийлерден және т.б. Барлық қажетті ресурстарды алғаннан кейін, шолушы оларды HTML құжаттарының кодына сәйкес өңдейді және пайдаланушыға дайын бетті береді.

Көптеген адамдар осы схемадағы HTTP серверінің аты астында, бүгінде веб-сервер деп аталатын мәні бар. Веб-сервердің басты мақсаты мен міндеті - HTTP сұрауларын өңдеу және олардың нәтижелерінің пайдаланушысына оралу. Веб-сервер мазмұнды қалай өз бетінше құруға және тек тұрақты мазмұнмен жұмыс істеуді білмейді. Бұл қазіргі заманғы веб-серверлер үшін олардың барлық мүмкіндіктеріне қарамастан өзекті.

Ұзақ уақыт бойы бір веб-сервер толыққанды сайтты жүзеге асыру үшін жеткілікті болды. Бірақ статикалық HTML желісінің өсуімен күрт жетіспейді. Қарапайым мысал: әр статикалық бет өзін-өзі қамтамасыз етеді және оған қатысты барлық ресурстарға сілтемелер болуы керек, егер оған бұрыннан бар беттерді қосу қажет болса, олардан бұрыннан бар беттерді қосу қажет, әйтпесе пайдаланушы ешқашан мүмкін болмайды Оларға жетіңіз.

Сол уақыттағы сайттар, әдетте, қазіргі уақытта аз ғана ұнады, мысалы, төменде, орыс тілді интернеттің бірінің, Rambler сайтының көрінісі көрсетілген:

Веб-сервер-құрылым-002.pngЖәне кез-келген сілтемелерге көшу қазіргі заманғы пайдаланушыны таңқалдыруға, мұндай беттен оралу үшін, мүмкін емес, браузердегі бірдей атауды басудан басқа.

Веб-сервер-құрылым-003.pngҚазіргі сайтқа ұқсас немесе аз нәрсе жасау әрекеті жақын арада қолданыстағы беттерге өзгерістер енгізу бойынша жұмыс көлеміне айналды. Егер біз сайттың ортақ бөлігінде бір нәрсені өзгерткен болсақ, мысалы, тақырыптағы логотипті, содан кейін осы өзгерісті барлық бар беттерге енгізуіміз керек. Егер біз беттердің біріне жолды өзгерткен болсаңыз немесе оны жойсақ, онда біз оған барлық сілтемелерді табу және оларды өзгерту немесе алып тастау керек.

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

Веб-сервер-құрылым-004.pngЕнді логотипті немесе дастархан мәзірімді өзгерту үшін барлы беттерді өңдеудің орнына, тек бір файл жасау керек. Сонымен қатар, SSI беттерде кейбір динамикалық мазмұнға, мысалы, ағымдағы күнге және қарапайым шарттар жасауға және айнымалылармен жұмыс істеуге мүмкіндік берді. Бұл Веб-шеберлердің жұмысын жеңілдетіп, пайдаланушылардың ыңғайлылығын арттыруға арналған маңызды қадам болды. Алайда, шынымен динамикалық сайтты іске асыру үшін бұл технологиялар рұқсат етілмеген.

Айта кету керек, SSI бүгінде белсенді қолданылып, бет кодында, ең алдымен, қарапайымдылық пен ресурстарды игеруге байланысты тұрақты мазмұнды енгізу керек.

Cgi

Веб-технологияның дамуындағы келесі қадам серверлік сұраныстарды өңдеуді жүзеге асыратын арнайы бағдарламалардың (сценарийлердің) пайда болуы болды. Көбінесе олар сценарий тілдерінде жазылған, ол бастапқыда болды, ал бүгін көшбасшылық алақандары PHP-ді өткізеді. Біртіндеп бағдарламалардың барлық класы - мазмұнды басқару жүйелері - CMS. (Мазмұнды басқару жүйесі. ), ол пайдаланушының сұраныстарын динамикалық өңдеуді қамтамасыз етуге қабілетті толыққанды веб-қосымшаларды білдіреді).

Енді маңызды сәт: Веб-серверлер сценарийлерді қалай жасау керектігін білмейді және білмейді, олардың міндеті тұрақты мазмұн беру болып табылады. Мұнда сахнаға жаңа ұйым келеді - сценарий тілдерінің аудармашысы және оларда веб-қосымшалар жазылған бағдарлама сервері келеді. DBMS әдетте деректерді сақтау үшін қолданылады, бұл көптеген өзара байланысты ақпаратқа қол жеткізу қажеттілігіне байланысты.

Алайда, бағдарлама сервері HTTP протоколымен қалай жұмыс істеуді және пайдаланушының сұрауларымен қалай жұмыс істеу керектігін білмейді, өйткені бұл веб-сервер тапсырмасы. Олардың өзара әрекеттесуін қамтамасыз ету General Gateway интерфейсі - Cgi (Жалпы шлюздің интерфейсі. ).

WEB-сервер-құрылым-005.pngМұны нақты түсіну керек, CGI бағдарлама емес, бұл протокол емес, бұл интерфейс, I.e. Қосымшалар арасында өзара әрекеттесу тәсілдерінің жиынтығы. CGI терминімен CGI қосымшасы немесе CGI сценарийі туралы түсініксіз CGI CGI сценарийі туралы түсініксіз, ол CGI интерфейсі арқылы жұмыс істейді (сценарий).

Деректерді беру үшін стандартты I / O ағындары қолданылады, веб-серверден CGI қосымшасына жіберіледі stdin арқылы қабылданады stdout Пайдаланылған қате туралы хабарламалар үшін Strderr. .

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

Динамикалық сайттың тағы бір маңызды айырмашылығы - оның беттері пайдаланушыға физикалық түрде жоқ. Шындығында, веб-қосымша бар, I.E. Сценарийлер мен шаблондар жиынтығы және сайттың материалдарын және қызмет ақпаратын сақтайтын мәліметтер базасы және қызмет туралы ақпарат бөлек, статикалық мазмұны бар: суреттер, Java сценарийлері, файлдар.

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

CGI-дің артықшылықтарына тіл және сәулеттік тәуелсіздік кіреді: CGI қосымшасы кез-келген тілде жазуға және кез-келген веб-сервермен бірдей жұмыс істеуге болады. Стандарттың қарапайымдылығы мен ашықтығын ескере отырып, бұл веб-қосымшалардың қарқынды дамуына әкелді.

Алайда, артықшылықтардан басқа, CGI айтарлықтай кемшіліктері бар. Бастапқы - бұл процесті бастауға және тоқтатуға, бұл аппараттық талаптардың жоғарылауына және төмен өнімділікті арттырады. Стандартты I / O ағындарын қолдану масштабтау мүмкіндігін шектейді және жоғары қол жетімділікті қамтамасыз етеді, өйткені ол веб-сервер мен бағдарлама сервері бірдей жүйеде болуы керек.

Қазіргі уақытта CGI іс жүзінде қолданылмайды, өйткені одан әрі дамыған технологиялар оны ауыстыруға келді.

FASTCGI.

Бұл технологияны дамытудың негізгі мақсаты келесідей, CGI қойылымын арттыру болды. Оның FastCGI-дің одан әрі дамуы бола отырып, веб-сервер мен қауіпсіздікті қамтамасыз ететін клиенттік протокол және жоғары өнімділік пен қауіпсіздікті қамтамасыз ететін бағдарлама сервері.

FASTCGI негізгі CGI проблемасын жояды - веб-қосымшаның әр сұранысына қайта бастаңыз, әр сұраныс бойынша FastCGI процестері үнемі жұмыс істеп тұр, бұл сізге уақыт пен ресурстарды айтарлықтай үнемдеуге мүмкіндік береді. Стандартты ағындардың орнына деректерді беру үшін қолданылады Unix розеткалары немесе TCP / IP. Бұл сізге веб-сервер мен бағдарлама серверін әр түрлі хосттарда орналастыруға мүмкіндік береді, осылайша жүйенің масштабты және / немесе жоғары қол жетімділігін қамтамасыз етеді.

Веб-сервер-құрылым-006.pngСондай-ақ, біз бір компьютерде бірнеше FastCGI процестерін жүргізе аламыз, ол параллельде сұраныстарды өңдей алады немесе сценарий тілінің әртүрлі параметрлері немесе нұсқалары бар. Мысалы, сіз бір уақытта әр түрлі сайттар үшін бірнеше PHP нұсқаларын ала аласыз, оларды әр түрлі FastCGI процестеріне жібере аласыз.

FASTCGI процестері мен жүктемелерін таратуды басқару үшін, процестерді басқару менеджерлерін басқарыңыз, олар веб-сервердің де, бөлек қосымшалардың да болуы мүмкін. Танымал Apache және LightPD веб-серверлерінде FastCGI кіріктірілген процестер бар, ал Nginx өз жұмысы үшін сыртқы менеджерді қажет етеді.

PHP-FPM және Spawn-FCGI

FastCGI процестеріне, PHP-FPM және SPAN-FCGI үшін сыртқы менеджерлерден қолданылады. PHP-FPM бастапқыда PHP-ді PHP-дің жиынтығы Андрей Нигматулиннен жасалған, жобаның 5.3, бөлігінен басталып, PHP жеткізіліміне кірісті. PHP-FPM жүктемеге байланысты PHP процестерінің санын динамикалық түрде басқарады, бассейндерді сұраныстарсыз қайта бастайды, сәтсіздік процестерін жедел қайта бастайды және әділетті менеджер болып табылады.

Spawn-FCGI - Lighttpd жобасының бөлігі, бірақ бірдей атаудың веб-сервері кірмейді, әдепкі LigTPD өзінің қарапайым процесс менеджерін қолданады. Әзірлеушілер оны басқа хостта орналасқан FastCGI процестерін басқару қажет болған жағдайда пайдалануды ұсынады немесе қауіпсіздік параметрлері қажет.

Сыртқы менеджерлер сізге CHROOT-да әрбір FastCGI процесін оқшаулауға мүмкіндік береді (қосымшаның түбірлік каталогын оған қол жеткізу мүмкіндігінсіз өзгерту), басқа процестердің және Chroot веб-серверінен жақсы. Біз сөйлескендей, TCP / IP арқылы басқа серверлерде орналасқан FastCGI бағдарламаларымен жұмыс істеуге рұқсат етіңіз, жергілікті қол жеткізу жағдайында сіз жергілікті қол жетімділік жағдайында қол жеткізуді жылдам қосылу түрі ретінде таңдауыңыз керек.

Веб-сервер-құрылым-007.pngЕгер сіз қайтадан схеманы қарасаңыз, бізде жаңа элемент бар, бізде жаңа элемент бар, ол веб-сервер мен бағдарламалар серверлері арасындағы делдал болып табылады. Бұл схеманы біршама қиындатады, өйткені сіз көбірек қызметтерді орнатып, сүйемелдесеңіз, бірақ сонымен бірге көптеген мүмкіндіктер ашады, бірақ сіз әр сервер элементін тапсырмаларыңыз бойынша конфигурациялауға мүмкіндік береді.

Іс жүзінде, жағдайды бағалау үшін кіріктірілген менеджер мен сыртқы шығындар арасында таңдау және сіздің сұрауларыңызға ең қолайлы құралды таңдау. Мысалы, типтік қозғалтқыштарда бірнеше сайттар үшін қарапайым сервер жасау. Сыртқы менеджерді қолдану өте қажет емес. Сізді ешкім өз көзқарасыңызға жүктемейді. Linux тақырыптары және дизайнерден келгеннің бәрі жақсы, ол өзіне керек нәрсені жинай алады.

SCGI, PCGI, PSGI, WSGI және басқалар

Веб-даму тақырыбына батыру, сізден әр түрлі CGI технологиялары, ең танымал, біз тақырыпқа ие болдық. Осындай әртүрліліктен шатастыруға болады, бірақ егер сіз біздің мақаланың басын мұқият оқып шығыңыз, егер сіз біздің мақаланың басталуын мұқият оқып шықсаңыз, сіз өзіңіз үшін CGI және FASTCGI қалай жұмыс істейді, демек, осы технологиялардың кез-келгенімен күресу қиын болмайды.

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

Біз тақырыпқа кіргендіктен, аббревиатуралардың жалпы пакеті, біз толығырақ өтеміз.

Скан (Қарапайым жалпы шлюздің интерфейсі - Қарапайым жалпы шлюздің интерфейсі - CGI-ге балама ретінде әзірленген және көбінесе FastCGI-ге ұқсас, бірақ оларды жүзеге асыру оңай. Біз FastGCI туралы айтқанның бәрі SCGI үшін дұрыс.

PCGI (Perl Common Hapeway интерфейсі ) - Перл кітапханасы CGI интерфейсімен жұмыс істеу үшін CGI арқылы PERL қосымшаларымен жұмыс істеудің негізгі нұсқасы болды, ол CGI арқылы PERL қосымшаларымен жұмыс істеудің басты нұсқасы болды, ол ресурстарға қарапайым қажеттіліктері бар және артық жүктеме қорғауы бар жақсы нәтижеге ие болды (CGI-ге қатысты).

Псги (Perl веб-серверінің шлюзі интерфейсі ) - Perl үшін веб-сервердің өзара әрекеттесуі және қолданбалы серверінің технологиясы. Егер PCGI классикалық CGI интерфейсімен жұмыс істеу құралы болса, онда PSGI FASTCGI есебеленеді. PSGI сервері Perl қосымшаларын орындау үшін қоршаған ортаны ұсынады, ол қызмет ретінде үнемі жұмыс істеп, TCP / IP немесе Unix розеткалары арқылы өзара әрекеттеседі және Perl қосымшаларын FastCGI ретінде ұсынады.

Wsgi. (Веб-сервер шлюзінің интерфейсі ) - PHYTON-да жазылған бағдарламалар үшін бағдарламалық қосымшаның сервері бар веб-серверді өзара әрекеттесуге арналған тағы бір нақты шлюз интерфейсі.

Айта кету оңай, бізде тізімделген барлық технологиялар бір дәрежеде немесе CGI / FASTCGI аналогтарында, бірақ нақты қосымшалар үшін. Біз берген мәліметтер олардың жұмысының принципі мен тетіктері туралы жалпы түсінікке жетеді, ал тереңдетілген зерттеулер тек көрсетілген технологиялармен және тілдермен күрделі жұмыс істеуі мүмкін.

Apache модулі ретінде бағдарлама сервері

Егер бұрын белгілі бір дерексіз веб-сервер туралы сөйлесе, қазір нақты шешім туралы айтамыз және мұнда біздің қалауымыз жоқ. Apache веб-серверлерінің арасында ерекше орын алады, көп жағдайда олар Linux платформасындағы веб-сервер және веб-сервер туралы мүлде сөйлескен кезде, содан кейін ол Apache қолданады.

Бұл әдепкі веб-сервердің бір түрі деп айта аламыз. Кез-келген жаппай хостингті алыңыз - Apache болады, кез-келген веб-қосымшаны алыңыз - әдепкі параметрлер Apache-да орындалады.

Иә, технологиялық тұрғыдан Apache технологияның тәжі емес, бірақ ол алтын, қарапайым, қарапайым, анық, икемді, әмбебап. Егер сіз сайт ғимаратындағы алғашқы қадамдарды жасасаңыз - содан кейін Apache - бұл сіздің таңдауыңыз.

Мұнда біз Apache-дің көптен күткенін байқай аламыз, оның бәрі «нағыз ұлдар» әлі де Nginx және т.б. Сонымен т.б, сондықтан сіз осы сәтті толығырақ түсіндіресіз. Барлық танымал CMSSS Apache-ді қолдануға теңшелген, бұл веб-сервердің мүмкін проблемаларының мүмкін көзін алып тастаған веб-қосымшамен жұмыс істеуге барлық назар аударуға мүмкіндік береді.

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

Шын мәнінде, Apache әзірлеушілері мұны не істеді, бұл олардың миын ерекше орынға ие болды? Жауап қарапайым: олар өз жолымен жүрді. CGI белгілі шешімдерден анықталған кезде, әмбебап шлюзге назар аудара отырып, Apache басқаша қабылданды - веб-сервер және бағдарлама сервері мүмкіндігінше біріктірілді.

Шынында да, егер сіз бағдарлама серверін жалпы мекенжай кеңістігінде веб-сервер модулі ретінде іске қоссаңыз, онда біз әлдеқайда қарапайым схема аласыз:

WEB-сервер-құрылым-008.pngОл қандай артықшылықтар береді? Қарапайым схема және одан аз элементтер, оны еріп, ұстап тұру, оны ұстап тұру, оның ішінде сәтсіздік нүктелері аз болады. Егер ол бір сервер үшін соншалықты маңызды болмауы мүмкін, содан кейін хостинг ішінде бұл өте маңызды фактор.

Екінші артықшылық - бұл жұмыс. Тағы да, Nginex жанкүйерлері, бір мекенжай кеңістігіндегі жұмыстың арқасында Apache + Mod_PhP қосымшасының серверінің өнімділігі кез-келген басқа веб-сервер + кез-келген басқа веб-серверге қарағанда 10-20% жылдам болады (немесе басқа CGI шешімі). Бірақ сонымен бірге сайттың жылдамдығы қолданбалы сервердің жұмысына ғана емес, сонымен қатар балама веб-серверлердің әлдеқайда жақсы нәтиже көрсете алатын бірқатар басқа да шарттарын да есте сақтау керек.

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

Интернеттің дамуы мүмкін веб-қосымшалардың саны (CMS, сценарийлер, құрылымдар және т.б.) өте үлкен болды, ал кірудің төменгі шегі - арнайы техникалық білімі жоқ көптеген адамдарды қызықтырды. Сонымен бірге, әр түрлі веб-қосымшалар әр түрлі бағдарлама серверінің параметрлерін қажет етуі мүмкін. Не істесем екен? Әрдайым қолдау қызметіне хабарласу керек пе?

Шешім өте қарапайым болды. Бағдарлама сервері қазір веб-сервердің бір бөлігі болғандықтан, сіз соңғысына оның параметрлерін басқаруға нұсқау бере аласыз. Дәстүр бойынша, HTTAccess файлдары Apache Settings конфигурация файлдарына қосымша басқару үшін пайдаланылды, бұл пайдаланушыларға олардың директиваларын жазуға және оларды осы файлдың және төменде орналасқан каталогқа қолдануға рұқсат етіңіз, егер оларды HTTAccess файлымен шектелмесе, оларды осы файл орналастырыңыз. MOD_PHP режимінде бұл файлдар бөлек сайт немесе каталог үшін көптеген PHP опцияларын өзгертуге мүмкіндік береді.

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

Осы артықшылықтардың барлығын тіркесім және Apache-ді Apache, соншалықты кең қолданбалы және әмбебап веб-сервердің күйін қамтамасыз етті. Басқа шешімдердің басқа да шешімдері одан да, үнемді, жақсы болуы мүмкін, бірақ олар әрқашан тапсырманы талап етеді, сондықтан негізінен мақсатты жобаларда қолданылады, жаппай сегментте толығымен басым.

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

Екінші минус - бұл ресурстарды тұтыну жоғары. CGI схемасында, бағдарлама сервері бетті жасайды және оны веб-серверді береді, ресурстарды босатады, Apache + Mod_PhP бумасы веб-сервер клиенттің мазмұнын қайтармайынша, қолданбалы сервердің ресурстарын алады. Егер клиент баяу болса, ресурстар барлық қызметке барлық уақытта жұмыс істейді. Сондықтан, Apache жылдам клиенттің рөлін ойнатпас бұрын, Nginx-ты жиі қояды, бұл Apache-ді клиенттің өзара әрекеттесуін клиенттің өзара әрекеттесуін көбірек үнемді Nginx-ке ауыстыруға мүмкіндік береді.

Қорытынды

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

Добавить комментарий