Избор на режим на работа на веб-серверот врз основа на лично искуство. Основи на веб-апликации Што е потребно за да функционира веб-серверот

Ако напишете http://www.site/how-web-server-work/ во лентата за адреси на вашиот прелистувач и притиснете го копчето Enter, оваа страница на нашата веб-локација ќе се појави на екранот.

На најосновно ниво, се случи следново: Вашиот прелистувач формираше врска со веб-серверот, испрати барање за добивање на веб-страницата на страницата и го прими.

Сега малку повеќе детали:

URL-то се состои од три дела:

1. Протокол (http)

2. Име на сервер (www.site)

3. Адреси на страници (како работи-веб-серверот)

Прелистувачот контактира со серверот за име на домен за да го преведе името на страницата www.site IP адреса, кој го користи за поврзување со серверската машина. Потоа, прелистувачот се поврзува со веб-серверот на наведената IP адреса на портата 80 или која било друга доколку е така наменета (Ќе разговараме за портите подоцна во оваа статија).

Следејќи го протоколот HTTP, прелистувачот испрати барање до серверот, барајќи ја датотеката http://www.site/how-web-server-work/

Забележи го тоа колачињаможе да се испрати и од прелистувачот до серверот.

Како одговор, серверот се генерира динамична веб-страницаи испрати HTML текст за да се прикаже оваа страница во вашиот прелистувач. Колачињаможе да се испрати и од серверот до прелистувачот во заглавието на страницата. Прелистувачот ги чита HTML таговите и го произведува излезот на веб-страницата на екранот.

Интернет

Значи, што е „интернет“? Интернетот се состои од стотици милиони компјутери поврзани заедно компјутерска мрежа. Мрежата им овозможува на сите компјутери да комуницираат едни со други. Домашен компјутерможе да се поврзе на интернет користејќи најмногу различни начинии уреди - почнувајќи со примитивен модем за телефонска линија, поставување врска преку локална мрежа (LAN) со интернет провајдер ( Интернет провајдер).

Големите даватели на интернет услуги поддржуваат линии со оптички влакна за цела земја или регион. Мрежите на 'рбетот се поставени насекаде низ светот, поврзани преку линии со оптички влакна, подморски кабли или сателитски врски. Така, секој компјутер на Интернет е поврзан со секој друг компјутер на Интернет.

Клиенти и сервери

Општо земено, сите компјутери на Интернет можат да се поделат во две категории: сервери и клиенти. Компјутерите кои обезбедуваат услуги (како што се веб сервери, FTP сервери, облак услуги) на други машини се сервери. Машините што се користат за поврзување со овие услуги се − клиенти. Кога ќе се поврзете на Google за да извршите барање за пребарување или да користите некоја од неговите услуги, Google го обезбедува својот компјутер (најверојатно цел кластер на моќни компјутери) за да го сервисира вашето барање. Така, Google го обезбедува серверот. Вашата машина исто така може да обезбедува услуги на некого на Интернет. Така, корисничката машина обично е клиент, иако може да стане и сервер доколку е потребно.

Серверот може да обезбеди една или повеќе услуги на Интернет. На пример, серверскиот компјутер може да има инсталиран софтвер кој му овозможува да дејствува како веб-сервер, сервер за е-пошта и FTP сервер. Компјутерите на клиентите кои се приклучуваат на серверот ги насочуваат своите барања до специјален софтвер што работи на заеднички серверски компјутер. На пример, ако користите веб-прелистувач на вашиот компјутер, тој ќе „разговара“ со веб-серверот на серверскиот компјутер. Вашата апликација за е-пошта ќе „разговара“ со серверот Е-пошта, и така натаму.

IP адреси

За да ги поврзете сите овие машини во мрежа, секој компјутер на Интернет има единствена адреса наречена IP адреса. Типична IP адреса изгледа вака:

Се повикуваат четирите броеви во IP адресата октетибидејќи тие можат да земат вредности помеѓу 0 и 255 или 28 можни вредности.

Секој компјутер на Интернет има своја единствена IP адреса. Серверот има статична IP адреса која ретко се менува. Домашниот компјутер често има IP адреса доделена од интернет провајдерот кога машината се поврзува со него. Оваа IP адреса е единствена за оваа сесија, но може да биде различна следниот пат. На овој начин, на интернет провајдерот му треба само една IP адреса за секој рутер што го поддржува, а не за секој клиент.

Ако сте на машина со Windows, можете да прегледате многу информации за Интернет на вашиот компјутер, вклучувајќи ја вашата моментална IP адреса и име на домаќин, користејќи ја командата ipconfig. На UNIX машина, треба да напишете nslookupВ командна линијаза прикажување на IP адресата на машината.

Имиња на домени

Бидејќи повеќето луѓе имаат потешкотии да се сетат на низата броеви што ги сочинуваат IP-адресите, и бидејќи IP-адресите понекогаш треба да се менуваат, сите сервери и сајтови на Интернет исто така имаат имиња читливи од луѓе наречени имиња на домени. На пример, www.. Ова е полесно за повеќето од нас да го запомнат www.сајтотколку да се запамети 5.9.205.233

Името www.site всушност се состои од три дела:

1. Име на World Wide Web (www). Всушност, можете да направите без експлицитно да наведете „www“, иако, формално, ова ќе биде различна мрежа.

2. Име на домен (qriosity)

3. Во зоната на домен од највисоко ниво (ru)

Имиња на домениуправуваат Регистратори на домени. Регистраторите создаваат имиња на домени од највисоко ниво и гарантираат дека сите имиња во зоната на највисоко ниво на доменот се единствени. Регистраторот исто така обезбедува информации за контакт за секое име на домен и ја стартува услугата кој е, означувајќи го сопственикот на доменот. Името на домаќинот е креирано од сопственикот на доменот.

Сервери за имиња на домени

Збир на сервери наречени сервери за име на домен(DNS) мапира имиња читливи од човек во IP адреси. Овие сервери содржат едноставни бази на податоци со имиња и IP адреси и тие се дистрибуирани низ Интернет. Повеќето индивидуални компании, даватели на интернет услуги и големи универзитети поддржуваат мали DNS. Исто така, постојат централни DNS-и кои користат податоци обезбедени од регистратори на домени.

Кога ќе ја внесете URL-адресата http://www..site, ја пренесувате на серверот за име на домен, серверот ја враќа точната IP адреса за www.site. Голем број сервери за имиња може да бидат вклучени во добивањето на точната IP адреса.

Значи, да го повториме она што го прочитавме: Интернетот се состои од милиони машини, секоја со единствена IP адреса. Многу од овие автомобили се сервери.Ова значи дека тие обезбедуваат услуги на други компјутери на Интернет. Многу од овие сервери се сервери за е-пошта, веб-сервери, FTP сервери, сервери за облак услуги.

Пристаништа

Секој сервер ги прави своите услуги достапни преку Интернет користејќи нумерирани пристаништа, по една за секоја услуга достапна на серверот. На пример, постои серверски компјутер кој работи на веб-сервер и FTP-сервер. Веб-серверот обично ќе биде достапен на портата 80, а FTP-серверот ќе биде достапен на портата 21. Клиентите се поврзуваат со услугата на одредена IP адреса и на одредена порта.

Секоја од најпопуларните услуги е достапна на претходно познат број на порта, но можете да доделите сопствен број на порта на која било услуга.

Ако серверот прифаќа врски на порта од надворешниот свет, и ако заштитниот ѕид не ги заштитува портите, можете да се поврзете на однапред одредена порта од кој било компјутер на Интернет и да ја користите услугата. Забележете дека нема ништо што ве принудува, на пример, да го задржите веб-серверот на портата 80. Ако сте го инсталирале вашиот сервер и го вчитале софтверот на веб-серверот на него, можете да го ставите веб-серверот на портата 999 или која било друга неискористена порта . Потоа, ако, на пример, вашата машина е позната како xxx.yyy.com, тогаш тие можат да се поврзат со неа од URL-то http://xxx.yyy.com:999 -„:999“ јасно го означува бројот на портата преку кој може да се стигне до вашиот веб-сервер. Ако пристаништето не е наведено, тогаш прелистувачот едноставно претпоставува дека веб-серверот е достапен со помош на добро познатата порта 80.

Протоколи

Откако клиентот е поврзан со услуга на дадена порта, тој пристапува до услугата користејќи специјална протокол. Протоколе збир на конвенции на логично ниво кои им овозможуваат на програмите да разменуваат податоци. За да работат заедно помеѓу компјутерите на Интернет, се користи семејството на протоколи TCP/IP. Веб-серверот користи протокол HTTP.

Дополнително: Безбедност

Од овој опис можете да видите дека веб-серверот е прилично едноставна работа софтвер. Го зема името на датотеката испратена со помош на командата GET, ја прима датотеката и ја испраќа до прелистувачот. Дури и ако го земете предвид целиот код за ракување со пристаништа, едноставна програма за веб-сервер се состои од не повеќе од 500 линии код. Веб-серверите со целосен размер се посложени, но во основата тие се исто така многу едноставни.

Повеќето сервери поставуваат одредено ниво безбедностна сервисните процеси. Наједноставната опција е да побарате најава и лозинка за да добиете пристап до серверот. Понапредните сервери додаваат дополнителна безбедност со воспоставување шифрирана врска помеѓу серверот и прелистувачот, така што доверлива информација(на пр. броеви на кредитни картички) може да се испраќаат преку Интернет.

Ова е навистина сè што е потребно за веб-сервер кој служи стандардно, статични веб-страници. Статичните страници се страници кои не се менуваат освен ако самиот веб-администратор не ги уредува.

Дополнително: Динамични страници

Што се случи динамичен Веб-страници? На пример:

1. Секоја книга за гости ви овозможува да внесете порака во HTML форма и автоматски ги прикажува новите и старите записи.

2. Секој пребарувач ви овозможува да внесувате клучни зборови во формуларот за барање HTML, а потоа динамички создава страница базирана на пребарување на информации користејќи ги овие клучни зборови.

Во сите овие случаи, веб-серверот прави повеќе од само „пребарување датотека“. Ги обработува информациите и генерира страници во зависност од спецификите на барањата. Во речиси сите случаи, веб-серверот користи т.н скрипти- програмски код напишан во PHP, Perl, Java и други програмски јазици за да се заврши овој процес.

Динамични се и страниците на нашата веб-страница, креирани од PHP помошкористејќи MySQL бази на податоци.

Веб сервер (веб-сервер) е сервер одговорен за примање и обработка на барања (HTTP барања) од клиенти до веб-локација. Клиентите се обично различни веб-прелистувачи. Како одговор, веб-серверот издава HTTP одговори на клиентите, во повеќето случаи заедно со HTML страница, која може да содржи секакви датотеки, слики, медиумски поток или какви било други податоци.

Веб-серверот, исто така, ја извршува функцијата на извршување скрипти, како што се CGI, JSP, ASP и PHP, кои се одговорни за организирање барања до мрежни услуги, бази на податоци, пристап до датотеки, препраќање е-пошта и други апликации за е-трговија.

Терминот „веб сервер“ се однесува и на технички уреди и софтвер што ги извршуваат функциите на веб-серверот. Ова може да биде компјутер кој е специјално избран од група персонални компјутери или работна станица на која е инсталиран и работи сервисен софтвер.

Клиентот на корисникот, кој е првенствено веб-прелистувач, поднесува барања до веб-серверот за да добие ресурси идентификувани со URL-адреси. Ресурси се HTML-страници, дигитални медиумски содржини, медиумски преноси, разни слики, датотеки со податоци или кои било други податоци што ги бара клиентот. Како одговор, веб-серверот му ги испраќа на клиентот бараните податоци. Оваа размена се случува со помош на протоколот HTTP.

HTTP (англиски: HyperText Transfer Protocol) е мрежен протокол за апликацискиот слој за пренос на податоци. Главниот принцип на протоколот HTTP е технологијата клиент-сервер, која обезбедува интеракција помеѓу мрежата и корисникот.

Во случај на мала организација, веб-серверот може да биде интегрален систем, кој ќе се состои од: HTTP сервер - се користи за барања до веб-страници; FTP сервер – се користи за преземање датотеки преку Интернет; NNTP сервери – обезбедува пристап до вести групи; SMTP сервер – за е-пошта.

Приказна

Британскиот научник Тим Бернерс-Ли се смета за пронаоѓач на првиот веб-сервер. Работејќи од 1980 година во Европската лабораторија за нуклеарни истражувања (Conseil Européen pour la Recherche Nucléaire, CERN) како софтверски консултант, тој ја започна својата развојна работа. Во Женева, за свои потреби, тој ја разви програмата Inquire, која користеше случајни асоцијации за складирање на податоци и го постави концептот за основата на World Wide Web.

Во 1989 година, Тим Бернерс-Ли, работејќи на интранетот CERN, предложи основање на глобален проект за хипертекст, кој се состоеше од објавување хипертекст документи поврзани со хиперврски. Имплементацијата на овој проект, според него, би им олеснила на научниците од ЦЕРН да комбинираат, пребаруваат и разменуваат информации. За да го спроведе проектот, Тим Бернерс-Ли, заедно со неговите помошници, ги измислија идентификаторите на URI и URL, протоколот HTTP и јазикот HTML. Сите овие технологии сега се широко користени во современиот Интернет и повеќе не можат да се прават без нив.


Како резултат на овој проект, Бернерс-Ли го разви првиот веб-сервер во светот, наречен „httpd“, како и првиот во светот веб-прелистувач за хипертекст за компјутерот NeXT, наречен WorldWideWeb.

Првиот веб-прелистувач работеше на платформата NeXTSTEP, објектно-ориентиран оперативен систем со повеќе задачи, и беше развиен со помош на Interface Builder. Интерфејсот на веб-прелистувачот беше многу едноставен и речиси сите информации беа прикажани во текстуален формат со само неколку слики. Покрај стандардниот FTP протокол, Тим Бернерс-Ли го користел и новиот HTTP протокол, кој тој го измислил. Помеѓу 1991 и 1993 година, Бернерс-Ли ги рафинирал и објавил техничките својства на неговите нови случувања: URI и URL-адреси, протоколот HTTP и јазикот HTML. Веб-прелистувачот подоцна беше преименуван во „Nexus“ за да се избегне забуна со оперативниот систем на кој е развиен прелистувачот и неговото име.

Првиот веб-сервер во светот и првиот веб-прелистувач работеа на персоналниот компјутер NeXTSTEP; овој компјутер сега е изложен во музејот ЦЕРН (Микрокосмос).

Тим Бернерс-Ли беше домаќин на првата веб-страница во светот на http://info.cern.ch; Оваа страница сега е архивирана. Првиот сајт се појави на Интернет на 6 август 1991 година. На оваа веб-страница беше дадено:

  • опис на World Wide Web;
  • инструкции правилна инсталацијавеб сервер;
  • информации за тоа како да купите веб-прелистувач;
  • други технички информации.

Оваа страница беше и првиот онлајн директориум во светот. Бернерс-Ли објави листа на линкови до други сајтови на неа и редовно ја ажурираше.

На 12 декември 1991 година, првиот веб-сервер во светот беше инсталиран во Центарот за линеарни акцелератори на Стенфорд (SLAC) во САД.

Основни и дополнителни функции

Сите основни и дополнителни функции на веб-серверот:

  • Примање барања од веб-прелистувачи преку стандардот HTTP со користење на протоколи на мрежата TCP/IP;
  • Пребарување и испраќање датотеки со хипертекст или какви било документи до прелистувачот преку HTTP;
  • Сервис и обработка на барања, како што се: mailto, FTP, Telnet и сл.;
  • Лансирање на апликативни програми на веб-сервер со последователен пренос и враќање на параметрите за обработка преку стандардот за интерфејс CGI;
  • Работење и одржување на карти со слики за навигација (Image map);
  • Администрација и оперативно управување на серверот;
  • Овластување на корисниците и нивна автентикација;
  • Одржување дневник на кориснички барања до различни ресурси;
  • Автоматско работење на веб-страници;
  • Поддршка за страници кои се генерираат динамички;
  • Поддршка за протоколот HTTPS за безбедни врски со клиенти.

Опис на веб-серверот

Веб-прелистувачите комуницираат со веб-сервери користејќи го протоколот за пренос на хипертекст (HTTP). Тоа е едноставен протокол за барање и одговор за испраќање информации со помош на протоколот TCP/IP. Веб-серверот го прима барањето, ја открива датотеката, ја испраќа до прелистувачот и потоа ја затвора врската. Графичките информации кои се присутни на страницата се обработуваат на ист начин. Следно, на ред е веб-прелистувачот да го прикаже документот HTML преземен од Интернет на мониторот на корисникот.

Покрај HTML-страниците и графиките, веб-серверите можат да складираат која било датотека, вклучувајќи текстуални документи, документи за процесор на текст, видео датотеки и аудио информации. Денес, ако не ги земете предвид прашалниците што корисниците ги пополнуваат, најголемиот дел од веб сообраќајот се пренесува во една насока - прелистувачите читаат датотеки од веб-серверот. Но, ова ќе се промени со општото усвојување на методот PUT опишан во нацртот на HTTP 1.1, кој дозволува датотеките да се запишуваат на веб-серверот. Денес, методот PUT се користи главно од корисници кои креираат веб-страници, но во иднина може да биде корисно и за другите корисници да даваат повратни информации до информативните центри. Барањата за PUT се многу поедноставни од обичното POST прикачување датотеки на веб-сервер.

Различни апликации исто така ја извршуваат својата работа на веб-серверот, од кои најпопуларни се пребарувачите и алатките за комуникација со бази на податоци. Стандардите што се користат за развој на овие апликации вклучуваат заеднички интерфејс за портата (CGI), JavaScript скриптни јазици и Јава програмирањеи VisualBasic. Покрај стандардот CGI, некои веб-серверски компании создадоа интерфејси за програмирање на апликации (API), како што се Netscape Server API и Internet Server API, кои беа креирани од Microsoft и Process Software AG. Овие интерфејси им овозможуваат на програмерите директно да пристапат до одредени функции на веб-серверот. Некои веб-сервери обезбедуваат среден софтвер за поврзување со бази на податоци, што може да бара напредно програмско знаење за да функционира.

Основните функции за пребарување им помагаат на корисниците да ги сортираат информациите што им се потребни, а алатките за бази на податоци им овозможуваат на корисниците на веб-прелистувачи пристап до тие информации.

Преглед на веб сервер

Критериумите за избор на веб-сервер може да вклучуваат различни карактеристики: инсталација, конфигурација, управување со серверот, администрација, управување со информации хостирани на серверот, заштита на овие информации, контрола на пристап, функции за развој на апликации и перформанси.

Повеќето веб-сервери се лесни и брзи за инсталирање.

Најтешкиот дел од процесот на инсталација е конфигурирање на повеќе имиња на домени на едно физички уредили со други зборови организација на виртуелни сервери.

Веб-серверите имаат алатки за управување со информативниот модул кој ја карактеризира целокупната организација на веб-страницата, а исто така имаат алатки за проверка на исправноста на внатрешните и надворешните хипертекст врски. Пакетот LiveWire на Netscape Communications, кој се испорачува со Novell Open Enterprise Server (OES) и е опционално достапен со FastTrack Server, има алатка за управување со домаќинот што ги наведува сите врски за избраната страница. Оваа алатка обезбедува и општ список на сите неточни врски што ги детектира. WebView на O'Reilly & Associates ја има истата функционалност и може да прикаже детално стебло на датотеки со сите неважечки врски означени со црвено.

Исто така, постојат основни алатки за управување со содржински материјал. Веб-администраторите мора да изберат каде да ги складираат датотеките и како корисниците кои пристапуваат до веб-серверот ќе имаат пристап до тие датотеки. Ова бара мапирање помеѓу логички URL-адреси и директориуми на физички датотеки. Секој софтвер ја извршува оваа операција на свој уникатен начин.

Со зголемената популарност на веб-серверите и нивната зголемена употреба во интранет, се зголемува комерцијалната активност на Интернет, па се зголемува и важноста за заштита на информациите. Почесто отколку не, безбедносните системи на веб-сервери се или претерани или недоволни за денешните интранети. Доколку е неопходно да се ограничи пристапот до одредени информации во рамките на компанијата, тогаш постои избор помеѓу користење нешифрирани лозинки кои се пренесуваат преку каналите за комуникација и користење SSL протокол(англиски: Secure Sockets Layer) е сложен и бавен метод кој се користи за шифрирање на лозинки и податоци.

Со цел да се организира работата на индивидуалните корисници и нивните групи може да се користат внатрешни апликациисервер или одредени функции на оперативниот систем. Со цел да се организира работата на индивидуалните корисници и нивните групи, може да се користат интерни серверски апликации или одредени функции на оперативниот систем. Сериската услуга Microsoft IIS обезбедува поддршка за основниот мрежен оперативен систем Windows NT.

Веб сервер NetWare од Novell, Inc. Целосно интегриран со услугите на директориумот за адреси (NetWare Directory Services, NDS). Удобно е да се управуваат корисници од заеднички центар, но може да претставува безбедносен ризик. Лозинките се дистрибуираат нешифрирани преку комуникациските канали, а доколку се пресретнат, не е загрозен само веб-серверот, туку и безбедноста на целиот мрежен оперативен систем.

Развојот на апликации е една од главните функции на веб-серверот. Околината за развој на апликации и алатките за поврзување со базата на податоци се многу важни за да се прошират можностите на веб-серверот, бидејќи развојот на апликацијата зависи од различни идиосинкратски детали на апликацискиот програмски интерфејс (API), како и од карактеристиките на програмските јазици или индивидуални преференции на програмерите.

Веб-серверите можат да опслужуваат различни системи од интранет на мало претпријатие до големи веб-информативни центри што ги користат милиони луѓе.

За мали корпоративни интранети, најдобриот пакет за користење е Интернет информативниот сервер (IIS), креиран и дистрибуиран од Microsoft. IIS има прилично едноставна инсталација и едноставни поставкиконфигурации. Овој веб-серверски пакет е добро интегриран со контролите за пристап, алатката за следење на системот за следење на перформансите и Прегледувачот на настани. Веб-серверот IIS, исто така, обезбедува неколку алатки за динамичко пренесување информации од бази на податоци. IIS е многу брз. Компонентите на IIS поддржуваат протоколи како што се: HTTP, HTTPS, FTP, NNTP, SMTP, POP3.

За да се олесни креирањето на веб-информативни центри, повеќето веб-сервери доаѓаат со комунални услуги и алатки за управување со содржина. Покрај уредниците на HTML и конверторите на формати на документи, најкорисните алатки се контролите на URL-то, кои осигуруваат дека сите хипертекст врски на вашата веб-страница работат.

Секој персонален компјутер што е поврзан на Интернет може да се претвори во веб-сервер доколку на него инсталирате специјален серверски софтвер.

Најчестите веб-сервери се Apache (Apache Software Foundation), IIS (Microsoft) и iPlanet серверот (од Sun Microsystems и Netscape Communications Corporation). Сега на пазарот на софтвер за веб сервери има огромен избор на производи, комерцијални и бесплатни.

Еден од најчестите веб-сервери е Apache од Apache Software Foundation. Се проценува дека се користи на 65% од сите веб-сервери во светот. Една од главните предности на софтверот Apache е тоа што е бесплатен за дистрибуција. Програмерите редовно ги поправаат пронајдените грешки и обезбедуваат добра корисничка поддршка. Овој веб-сервер поддржува голем број на модули, комунални услуги и додатоци. Бидејќи од самиот почеток Apache беше развиен како софтвер за администратори и напредни корисници, недостатокот е што е тешко да се конфигурира и одржува за неискусни веб-администратори.

Следен по популарност е веб-серверот IIS од Microsoft. Според Netcraft, веб-серверот IIS учествува со 12,46% од вкупниот број на веб-сервери. Овој производ е дел од семејството на Windows NT софтвер за сервери. Неговите главни предности се стабилноста, големата брзина и можноста за поврзување дополнителни модули. Мајкрософт се стреми да осигура дека секој корисник може да ги користи неговите производи без помош од специјалисти доколку треба да ги решат стандардните проблеми. Затоа, IIS е многу лесен за инсталирање, конфигурирање и одржување. Веб-серверот поддржува .NET технологија, која неодамна добива на популарност меѓу програмерите и професионалните корисници. Овие поволности го носат веб-серверот IIS на следното ниво и можете да очекувате неговата употреба да се зголеми.

Други познати веб-сервери:

  • нгинксе бесплатен веб-сервер и прокси-сервер за пошта развиен од Игор Сисоев. Едноставен, брз и сигурен сервер. Работи на Linux и други системи слични на Unix оперативни системи, како и на Windows. Популарни на големите веб-локации;
  • lighttpd- бесплатен веб-сервер. Развиена од Јан Кнешке. Брз и безбеден веб-сервер. Работи на Linux и други оперативни системи слични на Unix, како и на Windows;
  • Веб-сервер на Google- веб-сервер кој е базиран на Apache и го користи Google за да ја организира својата веб-инфраструктура;
  • Смола- бесплатен веб-сервер и сервер за апликации за Java. Развиена од Caucho Technology Inc.;
  • Чироки- бесплатен веб-сервер кој се контролира само преку веб-интерфејсот. Напишано на програмскиот јазик C;
  • Коренот- веб-сервер напишан на програмскиот јазик Јава. Работи на Linux и Windows;
  • THTTPD- едноставен, мал, брз и безбеден веб-сервер. Развиено од ACME Labs Software.

Клиенти на веб-сервери

Типично, клиентот е веб-прелистувач. Но, разни други уреди и програми исто така можат да пристапат до веб-серверот:

  • Веб-прелистувач инсталиран на десктоп персонален компјутер;
  • Веб-прелистувач инсталиран на PDA или друг пренослив уред;
  • Мобилни телефони и паметни телефони со кои корисникот добива пристап до ресурсите на веб-серверот преку WAP протоколот;
  • Различни програми кои можат независно да пристапат до веб-серверот за ажурирање или добивање други информации. Пример се различни антивируси кои периодично контактираат со веб-серверот за да ја ажурираат базата на податоци;
  • Разни дигитални уреди, како и некои апарати за домаќинство.

Оваа статија ќе биде корисна за оние луѓе кои веќе имаат сопствена веб-страница или кои планираат да отворат. Статијата ќе биде особено интересна за амбициозните веб-администратори кои сметаат дека најдобриот час од нивниот проект е веднаш зад аголот и сакаат да се подготват за приливот на посетители на страницата.

Дури и оние кои само сонуваат за илјадници корисници на нивната веб-локација, веројатно се запрашале: „Колку корисници ќе поддржи мојата веб-страница ако се логираат во исто време? Веднаш се сеќавам на добро познатиот израз „Хабраефект“ - феноменот на неуспех на страницата што не беше подготвен за бројни транзиции кон неа откако се појави врска на Интернет.

Да претпоставиме дека веќе постои веб-страница (или ќе има наскоро): каде да ја поставиме? Дали треба да биде класичен хостинг или VPS сервер? Ако vps, кој и како најдобро да го конфигурирате? Или можеби воопшто нема разлика и полесно е да се избере што е поевтино? Во оваа статија ќе разгледаме неколку опции и во пракса ќе видиме која е подобро прилагодена за нашата страница.

Ќе експериментираме: ќе поставиме различни режими на работа на серверот и ќе ги мериме перформансите. Ќе го симулираме оптоварувањето на страницата користејќи ја услугата Loaddy.com. Таму можете да го поставите бројот на корисници, зголемениот тип на оптоварување, а графикот ќе покаже како серверот реагира на нив. Се верува дека еден корисник генерира приближно едно барање до страницата во рок од 10 секунди. Како тест-страница, ајде да направиме демо онлајн продавница на cms moguta. Ќе биде исполнет со тест „производи“ кои се прикажуваат на главната страница според неколку критериуми (односно, при креирањето на страницата, се работи со базата на податоци итн.). На еден или друг начин, ова ќе ви овозможи да ги споредувате режимите едни со други.

Како тест-страница, ќе создадеме VPS сервер на Ubuntu OS. Неговата конфигурација ќе биде . Ќе претпоставиме дека тоа се серверите влезно нивосоздадени во повеќето случаи за нови проекти. Тест верзијата на онлајн продавницата ќе биде достапна на IP адресата http://130.193.44.219/

Добро ќе ни дојде и класичниот хостинг, на кој исто така ќе ја прикачиме истата онлајн продавница за да спроведеме тестови. Можете сами да го следите нашиот пат и да ги спроведете истите тестови на вашиот проект!

Бидејќи во повеќето случаи се нуди контролен панел заедно со vps, ние ќе ги направиме главните промени во поставките во него. На vps серверот имаме на располагање 3 начини на работа:

  • Апачи;
  • Apache во CGI режим;
  • Nginx + php-fpm (без Apache).
Но, прво, ајде да го тестираме на хостинг:

Класичен ефтин хостинг

Грешките се појавуваат кога бројот на посетители надминува 50 луѓе. Хостингот престанува да служи содржина и ако одиме на контролната табла за хостирање, можеме да видиме нешто како следново:

Вашата страница е ограничена во последните 24 часа. Ресурсите на процесорот се ограничени за вашата страница. Ги достигнавте границите на влезните процеси (број на истовремено извршувани PHP и CGI скрипти, закажани задачи и сесии на конзолата) 126 пати.
Па, се разбира, хостинг е хостинг, особено ефтин. Се разбира, можете да најдете тарифа што ќе ви даде повеќе можности, но сето ова треба да се земе предвид и некако да се дознаат точните податоци за ограничувањата од секој хостинг провајдер.

VPS: Апачи

Следен на ред е нашиот тест VPS со режим на Apache, кој, патем, стандардно се нуди при инсталирање на контролната табла на интернет провајдерот.

Проблемите започнуваат кога бројот на корисници надминува 90. Ако се најавиме на нашиот сервер преку ssh и во овој момент ја погледнеме листата на процеси со помош на командата горната, подредена со Shift+M (според количината на потрошена меморија), ќе видиме нешто како ова:

Гледаме дека процесот apache2 прерасна во многу деца и тие ја изедоа целата RAM меморија на нашиот vps сервер.

Тука треба да направиме мала забелешка. Факт е дека за серверот Apache, теоретски, постои режим кој овозможува, наместо голем број деца процеси за секоја врска, да се создадат неколку таканаречени мултинишки, од кои секоја би опслужувала неколку конекции. Овој режим се нарекува работник, за разлика од стандардното предвилушка. Но, не е лесно да се инсталира, тоа е невозможно да се направи на панели како интернет провајдерот, а ако се збуните и се обидете да го направите преку ssh, ќе откриете дека за ова не е доволно да го исклучите prefork и да го вклучите работникот. , исто така ви треба верзија на php безбедна за нишки. И ако се користат модули како Zend или IonCube, тогаш тие исто така мора да бидат безбедни за нишки. И воопшто, официјалната веб-страница на PHP не препорачува инсталирање на овој режим.

VPS: CGI

Ајде да видиме што се случува кога се користи режимот CGI. За да го направите ова, треба да дозволите употреба на PHP во CGI режим во контролната табла на провајдерот, тоа е направено во „ Сметки– корисници – поставки за корисникот“.

Се покажа дека е мрачна слика. Серверот одбива да опслужува содржина дури и со 55+ посетители, RAM меморијата е целосно изедена од процесите „php“. Следува обид да се врати функционалноста, но сепак завршува со речиси 100% неуспеси.

VPS: Nginx + PHP-FPM

Дојде време за режим во кој серверот Apache воопшто не се користи, наместо тоа работи Nginx, а php се обработува од модулот php-fpm. Ако користите контролен панел на интернет провајдерот, мора да го овозможите овој режим за корисникот. Ова е направено и во делот „Сметки - Корисници - Кориснички поставки“. Овој режим треба да биде достапен и во делот „Поставки – Карактеристики – Веб сервер (www)“.

Токму она што е потребно! 100% достапност, додека брзината на вчитување и времето на одговор на серверот се на прифатливи нивоа, иако се зголемуваат со зголемување на оптоварувањето. Сепак, серверот се справува!

Ајде да ја погледнеме табелата на процеси во моментот на максимално оптоварување на серверот:

Гледаме дека сè уште имаме залиха по пристапна цена меморија за случаен пристап. И детските процеси на php-fpm7.0 не растат во големи количини, туку се ограничени на 5 копии, од кои секоја служи неколку нишки.

Па, се чини дека „победничкиот режим“ е одреден. Ајде да дознаеме колку истовремени посетители може да опслужува нашиот сервер во овој режим. Но, пред тоа ќе направиме мало „подесување“. Прво, бидејќи apache не се користи кога серверот работи на овој начин, може целосно да се оневозможи. Ова ќе го направиме во контролниот панел на провајдерот во делот „Систем - услуги“. Второ, да го смениме малку принципот на стартување на процесите php-fpm. Стандардно е динамичен. Ова значи дека детските процеси ќе висат во меморијата дури и кога не се потребни. Во исто време, меморијата не се ослободува и со текот на времето овие процеси можат да станат поголеми отколку што би сакале. Затоа, се предлага да се инсталира режимот „ondemand“ - на барање. И поставете го бројот на детски процеси и времето на истекување за нив.

За да го направите ова, ќе треба да се најавите на серверот преку ssh и да ги напишете овие поставки во конфигурацијата php датотека. Удобно е да се направи ова во датотека за корисникот за кого е креиран доменот во интернет провајдерот.

Обично се наоѓа во /etc/php/7.0/fpm/pool.d

Значи: sudo nano /etc/php/7.0/fpm/pool.d/www-root.conf

Таму ги гледаме следните стандардни поставки:

Pm = динамични pm.start_servers = 13 pm.min_spare_servers = 13:00.max_children = 17:00.max_spare_servers = 5
За да функционира режимот по барање, треба да го замените со:
pm = ondemand pm.max_children = 17:00.process_idle_timeout = 10 секунди
И рестартирајте го php-fpm со командата

Sudo услугата php7.0-fpm се рестартира
После ова, процесите php-fpm7.0 ќе се креираат на барање (ако има оптоварување), максималниот број од нив ќе биде = 5, а по 10 секунди време на мирување процесот ќе биде убиен, ослободувајќи ја RAM меморијата.

За секој случај, да го извршиме нашиот тест повторно за да се увериме дека целата оваа аматерска активност не влијае негативно на перформансите на страницата:

Сега да го извршиме Loaddy со многу посетители за да видиме со колку врски може да се справи нашиот сервер:

Добрата вест е што сите барања беа обработени, иако со долго задоцнување, со голем број во секунда. Времето на одговор на серверот се приближува до 10 секунди со голем број барања од 190+. Но, да се потсетиме на графикот на режимот apache, каде што добивме 4 секунди одговор на серверот веќе со 80+ корисници, додека во режимот php-fpm слични заостанувања се забележани со 130 барања, кои конкретно го истакнавме курсорот на графиконот погоре.
Но, ова е истиот VPS.

Табела со врвни процеси на крајот од тестот (со 200 корисници):

Забележете дека по завршувањето на тестирањето, меморијата што ја користеше pfp-fpm беше ослободена:

Ова значи дека нашиот сервер е подготвен за нови оптоварувања.

Неопходно е да се запамети дека страницата работи во режим nginx+php-fpm, тоа значи дека apache2 не се користи во работата и, како резултат на тоа, не се користи .htaccess. Ова може да изгледа незгодно, но е најбрзата достапна опција, а пребарувачите подобро ги рангираат сајтовите кои се брзи.

Заклучок

Како заклучок, уште една мала точка: ако конфигуриравте сè што сакавте на серверот и одлучивте да ја оневозможите контролната табла на интернет провајдерот или вашата лиценца за него е истечена, имајте на ум дека „основниот“ процес од него ќе остане да виси. вашиот сервер. Како што поминуваат месеци, може да расте и да расте, па затоа е подобро да го „убиете“ и да го отстраните од автоматско и крона.

Ако сакате сами да ја тестирате страницата користејќи Loaddy или други методи, таа е достапна на

Веб хостинг индустријата бара барем некои основни знаења за да работи. Постојат неколку термини за веб хостинг за кои секој веб-администратор треба да знае. Еден од најосновните е: веб серверВо реалноста, веб-хостингот е составен од веб-сервери кои обезбедуваат простор за вашата веб-страница. Серверот HP Micro AMD N40L е разновиден сервер кој може да обезбеди платформа за организирање и заштита на деловните информации, да овозможи ефикасна комуникација со клиентите и да го искористи максимумот од вашата постоечка канцелариска опрема и ресурси. HP MicroServer е исплатлив стартен сервер за бизниси со помалку од 10 клиенти и може да го одведе вашиот бизнис на нови нивоа на продуктивност и ефикасност. За да дознаете повеќе за серверот HP Micro AMD N40L, следете ја оваа врска http://vint.com.ua/product/computers/dir_3010558/dir_3010559 .

Веб серверможе да значи две работи - компјутер, кој е домаќин на веб-страницата и програма, кој работи на таков компјутер.Затоа терминот поврзан со веб-серверот и хардвер и софтвер . Ќе ги разгледаме овие два вида еден по еден.

Хардвер на веб-серверот

Веб-страницата е колекција веб-страницикои се дигитални датотеки кои обично се пишуваат со користење на јазикот за означување на хипертекст HTML. Веб-страницата ќе биде достапна за целиот свет цело време; за ова мора да се чува или на хостинг или на компјутер поврзан на Интернет 24/7/365. Таков компјутер се нарекува Веб сервер (забележете дека првите букви се големи).

Потенцијално можете да хостирате веб-страница на вашиот домашен компјутер, но ова бара многу работа и постојано следење.Полесно е да се купи веб-хостинг од компанија бидејќи има илјадници такви кои ја нудат оваа услуга по разумни цени. Накратко за една од најдобрите компании на крајот од статијата, не само што можете да добиете веб хостинг, туку и име на домен и веб-страница и тоа е навистина евтино!

Постојат голем број барања за компјутерски сервер - тој мора да биде доволно брз, да има голема количина RAM и HDDсо голем волумен.Но, најважно е да имате постојана адреса на Интернет, позната и како IP - адреса на Интернет протокол. Ако IP адресата на веб-страницата не е пронајдена и таа ќе работи офлајн- прелистувачот ќе прикаже грешка не можам да најдам веб-страница.

Веб сервер програми и софтвер

Програми веб серверОва е софтвер кој работи на веб-локација на хостинг сервер компјутер. Неговата главна цел: проблемвеб-страници; тоа значи дека слуша барања од веб-прелистувачи (исто така познат како клиенти ) и одговара со испраќање на потребните податоци назад. Оваа интеракција клиент-сервер е карактеристичен дел од тоа како функционира веб-серверот..

Постојат многу програми за веб-сервери. Најпознатиот и најпопуларниот од нив е Апачи, развиен од Apache Foundation. Apache не само што е бесплатен, туку е достапен и за неколку оперативни системи, вклучувајќи Windows, Macintosh и Linux/Unix.

Иако термините веб-сервер и сервер за апликации често се користат наизменично за да се однесуваат на истото, односно да се обезбеди правилно функционирање на веб-локацијата, тие не се иста работа. Наместо тоа, тие работат заедно за да достават содржина од веб-локации до крајните корисници. Веб-серверот може да се однесува на програма која прифаќа и исполнува дојдовни барања од клиенти за веб-ресурси ширум светот. Ги опслужува овие барања заедно со опционалните содржини, кои обично се HTML страници, датотеки со слики, видео датотеки итн. Оваа статија ја објаснува разликата помеѓу двете.

Што е веб-сервер?

Веб-серверот не е ништо повеќе од софтверска програма дизајнирана да се справува со веб-барања. Ги прифаќа дојдовните барања во форма на статична содржина, кои во основа се компоненти на веб-локацијата, вклучувајќи HTML-страници, графички и видео-датотеки, итн. Потоа одговара на барањата преку HTTP заедно со дополнителна содржина на податоци. Главната работа на веб-серверот е да обезбеди содржина на World Wide Web за да ја направи достапна за крајните корисници. Може да се однесува на систем составен од хардвер или софтвер, или каде се складирани веб-содржини. Зборувајќи со едноставни зборови, веб-сервер е компјутер кој испорачува веб-страници како што се бара. Apache е најпопуларниот и најшироко користен веб-сервер со отворен код развиен и одржуван од Apache Software Foundation.

Што е сервер за апликации?

Сервер за апликации е термин кој често се меша со веб-сервер, освен што може да користи различни стратегии за справување со барањата иницирани од веб-серверот. Ова го олеснува хостирањето и испораката на висококвалитетни деловни апликации. Често се гледа како апликација со три нивоа која се состои од GUIкорисник (GUI), сервер за апликации и база на податоци и сервер за трансакции. Ја служи деловната логика на апликативните програми преку различни протоколи, вклучувајќи, но не ограничувајќи се на HTTP. Тоа е софтверска рамка која ги обезбедува сите можности потребни за креирање и извршување на веб-базирани и деловни апликации. Наместо да служи статична содржина, најдобро одговара за опслужување динамична содржина и пренесување апликации од еден уред на друг.

Разлика помеѓу веб-сервер и сервер за апликации

Основи на веб-сервери и апликации

Веб-серверот се однесува на хардверот или софтверот, или и двата, кои доставуваат содржина или услуги до крајните корисници преку World Wide Web. Тоа е повеќе како програма која одговара на дојдовните мрежни барања за веб-ресурси користејќи го протоколот HTTP. Познат е и како Интернет сервер. Од друга страна, серверот за апликации е софтверска рамка заснована на компоненти што го олеснува развојот и стартувањето на веб-апликациите. Во суштина, тоа е програма за сервери од средно ниво дизајнирана да обезбеди деловна логика за апликативните програми.

Веб-серверот е ограничен само на HTTP содржина, што значи дека го користи протоколот HTT за складирање, обработка и доставување содржина до клиентите. Тоа е моќен компјутер што ги прави веб-страниците достапни преку Интернет, а комуникацијата помеѓу клиентот и серверот се врши со помош на HTTP. Апликативниот сервер не е ограничен на испраќање статична HTML содржина; Всушност, тој ја пренесува деловната логика на клиентските апликации користејќи повеќе протоколи.

Веб-сервер и функција сервер за апликации

Работата на веб-серверот е да прифаќа и одговара на барања од корисници кои се пренасочени од HTTP клиентите на нивните компјутери, кои можат да бидат или од веб-прелистувач или од мобилна апликација. Главната цел на веб-серверот е да направи статична содржина достапна за корисниците да ја гледаат во веб-прелистувачите. Работата на апликативниот сервер е да хостира и објавува апликации и деловни логички процеси користејќи неколку различни протоколи. Работи во врска со веб-сервер.

Повеќенишки

Веб-серверот одговара на барањата кои доаѓаат од повеќе врски истовремено, но не може да обработува повеќе истовремени барања паралелно. Идејата за користење нишки за подобрување на брзината на обработка едноставно не функционира со веб-сервери. Од друга страна, серверите за апликации поддржуваат мулти-нишки, како и голем број други функции како што се споделување на изолација, здружување, балансирање на оптоварување, кластерирање итн.

Капацитет на веб-серверот и серверот за апликации

Веб-серверот се базира на програми поврзани со интернет и интранет за да опслужува е-пошта, барања за преземање FTP-датотеки, и да креирате и објавувате веб-страници за клиенти користејќи го протоколот HTTP. Може да се користи сам или како компонента во апликациски сервер. Од друга страна, апликациските сервери можат да прават сè што можат серверите за апликации и многу повеќе. Тие се поспособни да создаваат динамична содржина за да служат и на веб и на деловни апликации.

Веб сервер против сервер за апликации: табела за споредба

Резиме на веб сервер Vs. Сервер за апликации

Веб-серверите играат фундаментална улога во тоа како работи Интернетот, без што Интернетот престанува да постои. Во едноставни термини, веб-серверите делуваат како порта помеѓу корисникот и World Wide Web. Тоа е систем дизајниран да доставува статична содржина до крајните корисници преку Интернет. Тоа е ограничено на барање за опслужување клиенти само преку HTTP протокол.Спротивно на тоа, серверите за апликации се поинтензивни за ресурси, кои обезбедуваат услуги за среден софтвер за клиентските апликации преку различни протоколи, вклучително и HTTP. Тоа е платформа дизајнирана за инсталирање, работење и хостирање на апликации и услуги за крајните корисници. Иако и двете се неопходни за веб-страницата да функционира правилно, тие се многу различни едни од други.


Врв