Selectați un server web local pentru Windows. W3Tech: cota nginx în lume a crescut la o treime, Apache a scăzut sub jumătate Cele mai populare trei servere web

Apache de la ASF. Fără exagerare, putem spune că acesta este cel mai comun server Web din lume. Acum există versiuni pentru aproape toate platformele și sistemele de operare cunoscute, inclusiv Windows NT. Suport Windows NT a apărut doar în cea mai recentă versiune, iar acest lucru a crescut și mai mult popularitatea Apache în lume. Avantajele sale neîndoielnice sunt fiabilitatea, performanța excepțională și o gamă largă de funcții și module suplimentare. Dar totuși, „punctul culminant” al acestui server este distribuția gratuită. Acest lucru face posibilă, pe lângă economisirea de bani, să corectați rapid erorile și să faceți completările necesare la codul programului. Trebuie să acordăm credit celor care sunt implicați în crearea serverului Apache Web - acești oameni în mod gratuit și, cel mai important, fac față foarte repede erorilor observate. Apropo, observ că oricine dorește să contribuie la dezvoltarea acestui server poate deveni o astfel de persoană. Versiunea 1.3.x este considerată una dintre cele mai stabile și rapide din întreaga familie Apache. Principalele proprietăți ale Apache sunt suportul pe mai multe platforme, protocolul HTTP/1.1, structura modulară, securitatea și înregistrarea în jurnal. Pe lângă distribuția standard, există un număr mare de module care extind capacitățile Apache. Distribuția gratuită și open source vă permit să creați cele mai sigure module. În acest sens, este dificil pentru orice server comercial să concureze cu Apache. Dar, în ciuda tuturor acestor avantaje, există un decalaj serios, pe care tot nu l-aș numi un dezavantaj: Apache nu frumos program instalare si management. În timpul instalării, trebuie să vă ocupați de linia de comandă. Mai mult, atunci când instalați sub UNIX, uneori chiar trebuie să faceți ajustări pentru a include fișiere. Desigur, există o descriere detaliată a ceea ce trebuie schimbat și cum, totuși, la prima vedere, acest lucru nu pare foarte convenabil. Când lucrați, nu trebuie să aveți de-a face cu un program fereastră, ci cu fișiere de configurare text. Suportul tehnic nu apare sub formă de fișiere de ajutor fanteziste sau firme care oferă specialiști, ci în principal prin teleconferințe și schimburi de opinii ale administratorilor de sistem. De fapt, mai există companii care oferă servicii de suport tehnic, dar costă bani. Dar un astfel de stil atipic pentru un produs serios nu îl face pe Apache mai puțin popular și este cel mai serios competitor pentru toate serverele WWW de pe piață.

server iPlanet ( fostul server Netscape Enterprise) de la Netscape și Sun. Nu cu mult timp în urmă, Netscape și Sun au fuzionat în domeniul creării unui server Web și anume: fostul server Netscape Enterprise a trecut acum într-o nouă calitate - server iPlanet. Nu este doar o schimbare de nume. Acum, integrarea strânsă cu tehnologiile Java a fost adăugată multor calități ale serverului anterior. ultima versiune este 4.1. iPlanet Server, care vine pe CD sau poate fi descărcat de pe web. Cu toate acestea, nu este gratuit. Există versiuni atât pentru Windows NT, cât și pentru unele sisteme UNIX. Atrage ușurință în instalare, configurare și gestionare. Instalarea de bază nu durează mai mult de 15 minute. Toată configurarea ulterioară se face folosind un program Java care poate fi lansat în browser de oriunde. În ceea ce privește Java, așa cum v-ați aștepta, serverul acceptă cele mai recente tehnologii Java, cum ar fi Java Servlets 2.1, Java Server Pages .92, JVM, JavaScript 1.4. Până în prezent, acesta este singurul server de acest fel. În plus, serverul iPlanet include capabilități de control al accesului la baza de date. Distribuția sa conține drivere pentru lucrul cu Oracle, Informix, DB2 și Sybase. În ceea ce privește programarea pentru serverul iPlanet, există acum o tendință de fuziune cu serverul de aplicații iPlanet. Acest lucru va extinde semnificativ posibilitățile de a crea programe pentru serverul Web iPlanet. Toate aceste proprietăți fac serverul Web iPlanet atractiv pentru utilizare în multe domenii. Se lucrează și la serverul FastTrack, care va fi un analog cu funcții limitate al serverului complet, dar în același timp gratuit (în analogie completă cu Netscape FastTrack). În ceea ce privește suportul tehnic, toate descrierile, manualele și alte materiale referitoare la serverul iPlanet sunt realizate la un nivel înalt (totuși, ca orice documentație aflată pe serverul Netscape).

Internet Information Server (IIS) de la Microsoft. Server IIS este cel mai bun pentru Windows NT . Acest lucru este de înțeles, deoarece este puțin probabil ca altcineva decât dezvoltatorii sistemului de operare să poată realiza un program care să folosească pe deplin capacitățile acestui sistem. Versiunea 4.0 a fost livrată gratuit cu Service Pack, în timp ce versiunea 5.0 este disponibilă exclusiv ca parte a Windows 2000. Versiunea 5.0, conform experților, este mai fiabilă, o integrare mai strânsă cu Windows și o serie de caracteristici noi. Instalarea și configurarea durează nu mai mult de 10 minute. Este deosebit de plăcut că acum nu este necesar să instalați niciun Service Pack și nu este nevoie să reporniți sistemul după instalare. Cu toate acestea, serverul în sine ocupă aproximativ 30 MB de spațiu pe disc și funcționează bine pe o mașină Pentium de 200 MHz cu 128 MB de memorie. Cu toate acestea, puteți instala și rula serverul numai pe Windows 2000 Server. Pe lângă instalarea convenabilă, sistemul de management al serverului este, de asemenea, implementat convenabil. Sunt câteva programe utileșabloane (Wizards) pentru efectuarea de operațiuni frecvente și de rutină. În general, în corectitudine, trebuie reținut următoarele: în ceea ce privește comoditatea, puțini oameni pot concura programe Microsoft. În plus, IIS acceptă binecunoscutele și include noi standarde de securitate. Deci, există suport pentru binecunoscutele metode SSL 3.0, Kerberos 5.0 și noua metodă Fortezza (un nou standard de securitate). Cea mai interesantă și distinctivă caracteristică a IIS este suportul pentru WebDAV (Web-based Distributed Authoring and Versioning). Acesta este un standard recent care vă permite să transformați rețelele interne într-un singur spațiu, folosind resursele computerelor învecinate ca pe propriile dvs. Pentru utilizatorii IIS, acest lucru înseamnă că își pot partaja mai ușor fișierele de lucru, putând în același timp să blocheze fișierele. Cu toate acestea, există unele probleme și incompatibilități. Nu este în întregime corect să lucrați simultan cu Serverul Front Page, uneori trebuie să reporniți sistemul la modificarea configurației, apar erori la utilizarea sistemului de administrare la distanță. Dar, în general, versiunea 5.0 este un pas semnificativ înainte față de 4.0 în ceea ce privește fiabilitatea și confortul.

Un indicator important este performanța serverului. Performanța este înțeleasă ca viteza serverului, în funcție de numărul de clienți conectați și de intensitatea transferului datelor solicitate. Performanța depinde de mulți factori: tipul și viteza procesorului, volumul memorie cu acces aleator, sistemul de operare, prezența altor programe, setările serverului în sine. În cazul lui Apache, există un moment mai exotic. De obicei este luată sub formă de texte sursă. Prin urmare, performanța unui program compilat depinde de tipul și parametrii compilatorului și linkerului. Determinarea performanței este o sarcină foarte dificilă deoarece nu totul depinde de serverul Web. Pentru a compara exact performanța serverelor Web, trebuie să le puneți în aceleași condiții. De fapt, nu este complet clar ce înseamnă a pune pe picior de egalitate, să zicem, un server IIS sub Windows 2000 pe Intel și un server Apache sub AIX 4.3 pe RS6000. Acestea sunt absolut diferite ca tip și structură sisteme de operare și procesoare diferite. Aici cel mai subtil punct, după părerea mea, este separarea a ceea ce este legat de serverul Web și a ceea ce este legat de orice altceva. Cu toate acestea, se fac astfel de studii. Rezultatele unora dintre ele pot fi găsite pe același server Webcompare. Să remarcăm pe scurt că, conform acestor teste, performanța Apache este oarecum mai mică în comparație cu cei doi concurenți ai săi, dar, așa cum am spus deja, metodologia de realizare a acestor teste și, cel mai important, principiul procesării informațiilor nu sunt foarte puține. clar.

Pe lângă proprietățile care sunt inerente direct serverelor WWW, există și probleme legate de funcționarea sistemului de operare și a serverului Web în ansamblu. Acest lucru se referă în primul rând la serverul IIS ca fiind cel mai bun pentru Windows 2000. Și ideea nu este în acest server, ci în Windows și, de asemenea, în faptul că necesitatea de a reporni întregul sistem apare mult mai des decât în ​​alte sisteme de operare. Acest lucru face ca serverul dvs. Web să devină instabil. Uneori, stabilitatea este mai importantă decât ușurința în utilizare, cum ar fi sistemele în timp real, cum ar fi radioul pe internet.

server web (server web) este un server responsabil pentru primirea și procesarea cererilor (cereri HTTP) de la clienți către un site web. Clienții sunt de obicei diverse browsere web. Ca răspuns, serverul web emite răspunsuri HTTP clienților, în cele mai multe cazuri împreună cu o pagină HTML, care poate conține: tot felul de fișiere, imagini, flux media sau orice alte date.

Serverul web îndeplinește, de asemenea, funcția de a executa scripturi, cum ar fi CGI, JSP, ASP și PHP, care sunt responsabile pentru organizarea cererilor pentru servicii de rețea, baze de date, acces la fișiere, redirecționare e-mail și alte aplicații de comerț electronic.

Termenul „server web” se aplică și la dispozitive tehniceși software care acționează ca un server web. Acesta poate fi un computer care este selectat special dintr-un grup de computere personale sau o stație de lucru pe care este instalat și rulează un serviciu. software.

Clientul utilizatorului, care este predominant un browser web, trimite cereri către serverul web pentru a obține resurse identificate prin URL-uri. Resursele sunt pagini HTML, conținut media digital, fluxuri media, diverse imagini, fișiere de date sau orice alte date solicitate de client. Ca răspuns, serverul web trimite datele solicitate către client. Acest schimb are loc folosind protocolul HTTP.

HTTP (HyperText Transfer Protocol) este un protocol de rețea pentru nivelul aplicației de transfer de date. Principiul principal al protocolului HTTP este tehnologia „client-server”, care asigură interacțiunea între rețea și utilizator.

În cazul unei organizații mici, serverul web poate fi un sistem complet, care va consta din: server HTTP - servește pentru solicitările către pagini web; Server FTP - folosit pentru a încărca fișiere prin Internet; Servere NNTP - accesează grupuri de știri; Servere SMTP - pentru e-mail.

Poveste

Omul de știință britanic Tim Berners-Lee este considerat inventatorul primului server web. Lucrând din 1980 în Laboratorul European de Cercetare Nucleară (fr. Conseil Européen pour la Recherche Nucléaire, CERN) ca consultant de software, și-a început dezvoltarea. La Geneva, pentru propriile nevoi, a dezvoltat programul Inquire (ing. inquire - ask), care folosea asocieri aleatorii pentru a stoca date și a pus conceptul la baza World Wide Web.

În 1989, Tim Berners-Lee a lucrat la intranetul CERN și a propus înființarea unui proiect global de hipertext, care a constat în publicarea documentelor hipertext legate prin hyperlinkuri. Implementarea acestui proiect, în opinia sa, ar facilita asocierea, căutarea și schimbul de informații pentru oamenii de știință CERN. Pentru a implementa proiectul, Tim Berners-Lee, împreună cu asistenții săi, au inventat URI și URL-uri, protocolul HTTP și limbajul HTML. Toate aceste tehnologii sunt acum utilizate pe scară largă în internetul modern și nu mai pot fi renunțate.


Ca urmare a acestui proiect, Berners-Lee a dezvoltat primul server web din lume, numit „httpd”, precum și primul browser web hipertext din lume pentru computerul NeXT, numit WorldWideWeb (World Wide Web).

Primul browser web a rulat pe platforma NeXTSTEP, un sistem de operare orientat pe obiecte, multitasking, și a fost dezvoltat folosind Interface Builder. Interfața browserului web era foarte simplă și aproape toate informațiile erau afișate în format text cu doar câteva imagini. Pe lângă protocolul FTP standard, Tim Berners-Lee a folosit noul protocol HTTP pe care l-a inventat. Între 1991 și 1993, Berners-Lee și-a îmbunătățit proprietățile tehnice ale noilor sale dezvoltări: URI și URL-uri, protocolul HTTP și limbajul HTML și le-a publicat. Browserul web a fost redenumit ulterior „Nexus” pentru a evita confuzia cu numele sistemului de operare pe care a fost dezvoltat browserul și numele acestuia.

Primul server web din lume și primul browser web rulau pe computerul personal NeXTSTEP; acest computer este acum expus la Muzeul CERN (Microcosm).

Tim Berners-Lee a găzduit primul site web din lume la http://info.cern.ch; Acest site este acum arhivat. Primul site a apărut pe internet pe 6 august 1991. Acest site a oferit:

  • descrierea World Wide Web;
  • instrucțiuni pentru instalarea corectă a serverului web;
  • informații despre cum să achiziționați un browser web;
  • alte informatii tehnice.

Acest site a reprezentat, de asemenea, primul catalog online din lume. Berners-Lee a postat pe acesta o listă de link-uri către alte site-uri și a actualizat-o în mod regulat.

Pe 12 decembrie 1991, primul server web din lume a fost instalat la Stanford Linear Accelerator Center (SLAC) din SUA.

Funcții principale și suplimentare

Toate majore și funcții suplimentare server web:

  • Primirea cererilor de la browsere web prin intermediul protocolului standard HTTP folosind protocoale de rețea TCP/IP;
  • Căutarea și trimiterea fișierelor cu hipertext sau orice documente către browser prin protocolul HTTP;
  • Solicitari de service si procesare, precum: mailto, FTP, Telnet etc.;
  • Lansarea de programe de aplicație pe un server web cu transferul și returnarea ulterioară a parametrilor de procesare prin standardul de interfață CGI;
  • Operarea și întreținerea hărților cu imagini de navigație (Hartă imagine);
  • Administrarea si managementul operational al serverului;
  • Autorizarea utilizatorilor și autentificarea acestora;
  • Mentinerea unui jurnal al accesului utilizatorului la diverse resurse;
  • Lucrări automate ale paginilor web;
  • Suport pentru pagini care sunt generate dinamic;
  • Suport pentru protocolul HTTPS pentru conexiuni sigure cu clienții.

Descrierea serverului web

Browserele web comunică cu serverele web utilizând protocolul HTTP (Hypertext Transfer Protocol). Este un protocol simplu de solicitare și răspuns pentru trimiterea de informații folosind protocolul TCP/IP. Serverul web primește cererea, detectează fișierul, îl trimite către browser și apoi încheie conexiunea. Informațiile grafice care sunt disponibile pe pagină sunt procesate în același mod. În continuare, este rândul browserului web să afișeze documentul HTML descărcat din rețea pe monitorul utilizatorului.

Pe lângă paginile HTML și grafica, serverele web pot stoca orice fel de fișiere, inclusiv documente text, documente de procesor de text, fișiere video și informații audio. Astăzi, în afară de chestionarele pe care le completează utilizatorii, cea mai mare parte a traficului web este transmisă într-o singură direcție - browserele citesc fișiere de pe un server web. Dar acest lucru se va schimba odată cu adoptarea generală a metodei PUT descrisă în proiectul HTTP 1.1, care vă permite să scrieți fișiere pe un server web. Astăzi, metoda PUT este folosită în principal de utilizatorii care creează pagini web, dar în viitor, poate fi util pentru alți utilizatori să părere cu centre de informare. Solicitările PUT sunt mult mai simple decât un simplu fișier POST încărcat pe un server web.

Diverse aplicații își desfășoară activitatea și pe serverul web, dintre care cele mai populare sunt motoarele de căutare și instrumentele de comunicare pentru baze de date. Pentru dezvoltarea acestor aplicații sunt utilizate standarde precum CommonGatewayInterface (CGI), limbaje de scripting JavaScript și limbaje de programare Java și VisualBasic. Pe lângă interfața CGI, unii furnizori de servere web au creat interfețe de programare a aplicațiilor (API), cum ar fi Netscape Server API și Internet Server API, care sunt create de Microsoft și Process Software AG. Aceste interfețe permit dezvoltatorilor să acceseze în mod direct funcționalitățile specifice serverului web. Unele servere web au middleware pentru conectarea la baze de date, ceea ce poate necesita cunoștințe profesionale de programare.

Funcțiile de căutare de bază ajută utilizatorii să sorteze informațiile de care au nevoie, iar utilitățile de bază de date oferă utilizatorilor browserului web acces la aceste informații.

Prezentare generală a serverelor web

Criteriile de alegere a unui server web pot fi caracteristici diferite: instalare, configurare, management server, administrare, gestionarea informațiilor găzduite pe server, protecția acestor informații, controlul accesului, caracteristici de dezvoltare a aplicațiilor și performanță.

Majoritatea serverelor web se instalează rapid și ușor.

Cea mai dificilă parte a procesului de instalare este configurarea mai multor nume de domenii pe un dispozitiv fizic sau, cu alte cuvinte, organizarea de servere virtuale.

Serverele web dispun de instrumente pentru gestionarea unui modul de informare care caracterizează organizarea generală a unui site web, precum și instrumente pentru verificarea corectitudinii legăturilor hipertext interne și externe. Pachetul LiveWire de la Netscape Communications, care vine cu Novell Open Enterprise Server (OES) și este opțional cu serverul FastTrack, are un utilitar de gestionare a nodurilor care listează toate linkurile pentru o pagină selectată. Acest utilitar oferă, de asemenea, o listă generală a tuturor legăturilor nevalide pe care le găsește. WebView de la O'Reilly & Associates are aceeași caracteristică și poate afișa un arbore de fișiere detaliat cu toate linkurile nevalide evidențiate în roșu.

Există și instrumente elementare pentru managementul conținutului. Administratorii web trebuie să aleagă unde să stocheze fișierele și cum vor fi accesate acele fișiere de către utilizatorii care accesează serverul web. Acest lucru necesită maparea între adresele URL logice și directoarele de fișiere fizice. Fiecare software efectuează această operație în felul său unic.

Odată cu popularitatea tot mai mare a serverelor web și utilizarea în creștere a acestora pe intranet, activitatea comercială pe Internet este în creștere, astfel încât importanța protecției informațiilor crește. De cele mai multe ori, sistemele de securitate ale serverelor web sunt fie redundante, fie insuficiente pentru intraneturile de astăzi. Dacă este necesar să se restricționeze accesul la anumite informații din cadrul companiei, atunci există o alegere între utilizarea parolelor necriptate care sunt transmise prin canale de comunicație și utilizarea protocolului SSL (ing. Secure Sockets Layer - secure sockets layer) - un complex și metodă lentă care este folosită pentru a cripta parolele și datele.

Pentru a organiza munca utilizatorilor individuali și a grupurilor acestora, aplicațiile server interne sau anumite funcții sistem de operare. Pentru a organiza munca utilizatorilor individuali și a grupurilor acestora, se pot folosi aplicații interne de server sau anumite funcții ale sistemului de operare. Serviciul Microsoft Internet Information Services (IIS) Batch utilizează instrumentele sistemului de operare de rețea Windows NT de bază.

Pachetul NetWare Web Server de la Novell, Inc. complet integrat cu serviciile de director de adrese (NetWare Directory Services, NDS). Configurarea utilizatorilor dintr-un centru comun este convenabilă, dar poate reprezenta un risc de securitate. Parolele sunt distribuite pe canale de comunicație necriptate, iar dacă sunt interceptate, nu numai serverul web va fi în pericol, ci și securitatea întregului sistem de operare al rețelei.

Dezvoltarea aplicațiilor este una dintre funcțiile principale ale unui server web. Mediul de dezvoltare a aplicațiilor și instrumentele de conectivitate la baze de date sunt foarte importante pentru extinderea capacităților serverului web, deoarece dezvoltarea aplicației depinde de diverse detalii specifice ale interfeței de programare a aplicațiilor (API), precum și de caracteristicile limbajelor de programare sau ale individului. preferințele programatorilor.

Serverele web pot servi sisteme, de la intranet-uri pentru întreprinderi mici până la mari centre de informare web utilizate de milioane de oameni.

Pentru intraneturile corporative mici, pachetul Internet Information Server (IIS), creat și distribuit de Microsoft, este cel mai potrivit. IIS se distinge printr-o instalare destul de simplă și setări de configurare simple. Acest pachet de server web este bine integrat cu instrumentele de control al accesului, Monitorul de performanță și Vizualizatorul de evenimente. Serverul web IIS oferă, de asemenea, mai multe instrumente pentru transferul dinamic de informații din baze de date. IIS este foarte rapid. Componentele IIS acceptă protocoale precum: HTTP, HTTPS, FTP, NNTP, SMTP, POP3.

Pentru a facilita crearea centrelor de informare web, majoritatea serverelor web vin cu utilități și instrumente pentru gestionarea conținutului. Pe lângă editorii HTML și convertizoarele de format de documente, cele mai utile sunt instrumentele de control URL care asigură funcționarea tuturor legăturilor hipertext din site-ul dvs. web.

Orice Calculator personal, care este conectat la Internet, poate fi transformat într-un server web prin instalarea unui software special pentru server.

Cele mai comune servere web sunt Apache (de la Apache Software Foundation), IIS (de la Microsoft) și serverul iPlanet (de la Sun Microsystems și Netscape Communications Corporation). Acum, pe piața de software pentru servere web, există o selecție uriașă de produse, atât comerciale, cât și gratuite.

Unul dintre cele mai populare servere web este Apache de la Apache Software Foundation. Se estimează că este folosit de 65% dintre toate serverele web din lume. Unul dintre principalele avantaje ale software-ului Apache este distribuția sa gratuită. Dezvoltatorii remediază în mod regulat erorile găsite și oferă un suport bun pentru utilizatori. Acest server web acceptă un număr mare de module, utilități și suplimente. Deoarece Apache a fost dezvoltat de la bun început ca software pentru administratori și utilizatori avansați, există un dezavantaj - complexitatea configurației și întreținerii pentru webmasteri fără experiență.

Următorul ca popularitate este serverul web IIS de la Microsoft. Potrivit Netcraft, serverul web IIS reprezintă 12,46% din numărul total de servere web. Acest produs face parte din familia de software de server Windows NT. Principalele sale avantaje sunt stabilitatea, viteza mare, conectivitatea module suplimentare. Microsoft se străduiește să se asigure că orice utilizator își poate folosi produsele fără ajutorul specialiștilor dacă are nevoie să rezolve sarcini comune. Prin urmare, IIS este foarte ușor de instalat, configurat și întreținut. Serverul web acceptă tehnologia .NET, care a câștigat recent popularitate în rândul dezvoltatorilor și utilizatorilor profesioniști. Aceste beneficii duc serverul web IIS la nivelul următor și se poate aștepta să crească în utilizare.

Alte servere web notabile:

  • nginx este un server web gratuit și un proxy de e-mail dezvoltat de Igor Sysoev. Server simplu, rapid și de încredere. Funcționează pe Linux și alte sisteme de operare asemănătoare Unix, precum și pe Windows. Popular pe site-urile principale;
  • lighttpd- server web gratuit. Dezvoltatorul Jan Kneske. Server web rapid și sigur. Funcționează pe Linux și alte sisteme de operare asemănătoare Unix, precum și pe Windows;
  • Server Web Google- un server web bazat pe Apache și utilizat de Google pentru a-și organiza infrastructura web;
  • Răşină este un server web gratuit și un server de aplicații pentru Java. Dezvoltator - Caucho Technology Inc.;
  • Cherokee- server web gratuit, care este controlat doar prin interfața web. Scris în limbajul de programare C;
  • Înrădăcinare este un server web scris în limbajul de programare Java. Funcționează pe Linux și Windows;
  • THTTPD- server web simplu, mic, rapid și sigur. Dezvoltat de ACME Labs Software.

Clienti server web

De obicei, clientul este un browser web. Dar și alte dispozitive și programe diferite pot accesa serverul web:

  • Browser web instalat pe un computer personal staționar;
  • Un browser web care este instalat pe un PDA sau alt dispozitiv portabil;
  • Telefoane mobile și smartphone-uri, cu ajutorul cărora utilizatorul are acces la resursele serverului web prin protocolul WAP;
  • Diverse programe care pot accesa serverul web pe cont propriu pentru a actualiza sau a obține alte informații. Un exemplu sunt diverse antivirusuri care accesează periodic serverul web pentru a actualiza baza de date;
  • Diverse dispozitive digitale, precum și unele aparate de uz casnic.

Lucrul cu serverul web rus Apache. Apache rus

Cel mai utilizat server web din lume este Apache. Potrivit Netcraft ( http://www.netcraft.com/Survey/) numărul total de site-uri Web care operează sub controlul său a ajuns la 2 milioane până la sfârșitul anului 1998 (55% din numărul total de site-uri) și este în continuă creștere. Pentru comparație: serverele Microsoft reprezintă 25%, Netscape -7%. Fiind un program open source gratuit conceput pentru sisteme Unix gratuite (FreeBSD, Linux etc.), Apache este la fel de funcțional și de fiabil ca și serverele comerciale, iar opțiunile sale extinse de configurare îi permit să fie configurat pentru a funcționa cu aproape orice sistem specific. Există localizări de server pentru diferite limbi, inclusiv rusă.

Din punct de vedere istoric, textele rusești de pe Internet pot fi reprezentate în diferite codificări, dintre care koi8-r (sau pur și simplu koi8) și Windows-1251 sunt cele mai comune: primul funcționează cu majoritatea serverelor și stațiilor de lucru care rulează Unix, al doilea este standard pentru toate versiunile de Windows. Deoarece codarea Windows-1251 este utilizată în mod natural pe marea majoritate a mașinilor client, ponderea celor care navighează în partea rusă a WWW folosind koi8 nu depășește în prezent 5%. Cu toate acestea, documentele sunt stocate în această codificare pe multe servere Unix, mesajele de e-mail sunt cel mai adesea transmise în ea și aproape întotdeauna scrisorile în teleconferințe, multe canale IRC în limba rusă lucrează cu ea (apropo, abrevierea KOI înseamnă „schimb de informații cod"). Pentru a rezolva problemele care apar atunci când codificările textului nu se potrivesc pe server și pe computerul client, a fost creat modulul Apache-RUS rus pentru serverul Web Apache.

În articol, vom lua în considerare procesul de instalare și configurare atât a serverului în sine, cât și a mecanismului de transcodare a documentelor din mers.

Instalare

Cea mai recentă versiune de Apache-RUS poate fi obținută la ftp://apache.lexa.ru/pub/apache-rus/ (partea „majorală” a numărului versiunii, de exemplu 1.3.3, corespunde versiunii Apache original, partea „minoră”, de exemplu PL27. 3, - așa-numitul nivel de patch, adică versiunea modulului rus). Se recomandă instalarea acelor versiuni care s-au dovedit a fi „stabile”. Aici este descrisă configurarea serverului folosind Apache_1.3.3rusPL27.3 ca exemplu.

Deci, în primul rând, copiem arhiva (mai puțin de 1,5 MB) pe mașina noastră și o despachetăm:

# ftp ftp://apache.lexa.ru/pub/apache-rus/ apache_1.3.3rusPL27.3.tar.gz

# tar xvzf apache_1.3.3rusPL27.3.tar.gz

După aceea, intrăm în directorul apache_1.3.3rusPL27.3 creat în timpul despachetării și rulăm scriptul de configurare:

# cd apache_1.3.3rusPL27.3

Dacă este necesar, puteți specifica în mod explicit argumente pentru script (lista lor este dată de comanda configure -help). Deci, dacă doriți să instalați serverul într-un alt director decât cel standard, trebuie să rulați „configure -prefix=

Când configurarea este terminată, ar trebui să lansați comenzile make and make install ca de obicei (aceste acțiuni sunt efectuate de utilizatorul root).

Acum serverul este instalat în directorul /usr/local/apache, dar nu poate fi pornit încă - mai întâi trebuie să edităm fișierele de configurare httpd.conf, access.conf și srm.conf în /usr/local/apache/etc. / directorul (începând cu versiunea 27.4 - /usr/local/apache/conf).

Setare

Configurarea fișierelor de configurare ale serverului web este cel mai important pas în configurarea acestuia. Aici vom lua în considerare doar cele mai comune directive și parametrii acestora, deoarece o listă completă cu o descriere va dura mai mult de o duzină de pagini. Serverul recitește fișierele de configurare la pornire și, de asemenea, atunci când primește un semnal -HUP (repornire hard) sau -uSR1 (repornire soft). Dacă serverul este în stare de funcționare, atunci când se schimbă configurația, se recomandă să-l reporniți cu comanda

# kill -USR1 `cat /usr/local/apache/logs/httpd.pid`

În acest caz, conexiunile existente nu sunt închise și terminate forțat în mod obișnuit, iar următorii clienți lucrează cu noile fișiere de configurare.

fişier access.conf

access.conf conține directive care descriu permisiunile de acces la directoare și fișiere de pe serverul Web. În primul rând, decideți în ce director vor fi stocate documentele. Valoarea implicită este /usr/local/apache/share/htdocs, totuși mulți administratori preferă să plaseze documente începând de la /www/<имя_сервера>/, deoarece această organizare facilitează navigarea în structura fișierelor. Să am creat, de exemplu, directoare:

/www/radio-msu.net/

/www/people.radio-msu.net/

Acestea vor fi rădăcina serverelor virtuale respective.

Fișierul access.conf poate conține secțiuni Director, Locație și Fișiere, care sunt limitate la directive cu același nume. Parametrii acestor directive pot folosi caracterele „?” și „*” , precum și expresiile regulate precedate de un tilde, de exemplu . Secțiunea Director conține instrucțiuni legate de un anumit director de pe disc, secțiunea Locație conține instrucțiuni legate de o cale virtuală, iar secțiunea Fișiere conține instrucțiuni legate de un fișier sau grup de fișiere.

# directive care se aplică tuturor documentelor stocate în

directorul /www/rmt.ru și imbricat

# directive care se aplică tuturor documentelor disponibile la http://<имя_сервера>/cgi-bin/<путь_к_файлу>

# directive legate de fișierul form.html din director

Diferența dintre secțiunile Director și Locație este că prima se referă la directoare de pe disc, în timp ce a doua se referă la calea virtuală (URL) pe care browserul o solicită de la serverul Web. Ambele pot conține directive de ordine, de autorizare și de respingere, care vă permit să restricționați accesul la un director sau URL de la mașini diferite.

Următoarele două directive se referă la secțiune .

Opțiuni

Valori posibile ale parametrilor:

    ExecCGI - permite executarea scripturilor CGI în directorul dat și subarborele acestuia;

    FollowSymLinks - permite urmărirea legăturilor simbolice (create de comanda ln);

    Include - activați SSI (Server Side Includes);

    Indecși - permit emiterea unei liste de directoare dacă nu conține un fișier index.html (sau un fișier index specificat de directiva DirectoryIndex);

    MultiViews - permiteți suportul pentru mai multe limbi; este dezactivat implicit și, de obicei, nu trebuie să îl activați; suportul pentru transcodarea din mers pentru limba rusă este stabilit folosind alte directive, despre care vom discuta mai târziu;

    Toate - setați toate modurile listate simultan, cu excepția MultiViews.

În absența cerințelor speciale de securitate, este perfect acceptabil să specificați „Opțiuni toate” în secțiunea ; în caz contrar, trebuie să descrieți separat parametrii fiecărui director.

permitoverride

Majoritatea directivelor pot fi setate nu numai în fișierele de configurare a serverului, ci și în fișierele .htaccess din directoarele serverului. Directiva AllowOverride definește setul de directive permise în fișierele .htaccess. Parametrii pot fi specificați după cum urmează:

FileInfo - activați directivele responsabile pentru tipurile de documente;

Indexuri - activați directive legate de listarea directoarelor;

Limit - permit comenzile allow și deny, care restricționează accesul la fișiere în funcție de adresa computerului client;

Opțiuni - activați directiva Opțiuni descrisă mai sus.

Rețineți că activarea celui din urmă mod permite utilizatorilor să-și creeze propriile fișiere .htaccess și să le permită să ruleze scripturi CGI. Prin urmare, dacă doriți să controlați scripturile CGI ale utilizatorului, nu ar trebui să extindeți directiva AllowOverride Options la directoarele utilizatorilor.

Cu toate acestea, în multe cazuri (în special, când numai administratorul are drepturi de a modifica conținutul serverului), fișierul access.conf poate arăta ca în.

fișierul srm.conf

Fișierul srm.conf conține directive legate de setari generale structuri de directoare ale serverului. De regulă, este suficient să schimbați doar câteva rânduri în ea.

DocumentRoot<первый каталог сервера>

Calea către directorul implicit al cărui fișier index îl va primi utilizatorul la accesarea serverului (http://<имя_сервера>/). Această directivă ar trebui, de asemenea, setată pentru fiecare dintre serverele virtuale (în secțiunea fișier httpd.conf).

UserDir<имя пользовательского каталога>

Directorul în care utilizatorii trebuie să își plaseze fișierele pentru ca acestea să fie disponibile la http://<имя_сервера>/~<имя_пользователя>/. Valoarea implicită este public_html. Uneori, pentru a ușura viața utilizatorilor, administratorii dau directiva „UserDir www”.

DirectoryIndex<список файлов индекса>

Fișierul index este fișierul care va fi transmis clientului la accesarea directorului. Dacă specificați mai multe nume, serverul va căuta fișierul corespunzător „de la stânga la dreapta”. În mod implicit, lista conține un singur nume - index.html, dar este obișnuit să adăugați alte nume de fișiere index comune. De exemplu, directiva poate arăta astfel: DirectoryIndex .index.html index.html index.htm index.cgi index.shtml home.html home.htm default htm default html

Pentru a activa scriptul CGI pe server, eliminați comentariul înainte de directivele ScriptAlias ​​​​și AddHandler cgi-script .cgi. Primul specifică directorul de pe disc unde vor fi stocate programele executabile, iar al doilea specifică că toate fișierele cu extensia .cgi trebuie tratate ca scripturi.

Directiva ErrorDocument vă permite să înlocuiți mesajele de eroare standard ale serverului cu propriile dvs. De exemplu, în cazul celei mai frecvente erori - 404 (fișierul nu a fost găsit) - este considerată o bună practică de a oferi utilizatorului o pagină prin care îi cere să-și continue călătoria prin server sau un formular de căutare pe site. Acest lucru este implementat destul de simplu: în setările serverului, eliminăm semnul de comentariu din linie

ErrorDocument 404 /missing.html

În directorul rădăcină al fiecărui server virtual, creați un fișier missing.html. Este recomandat să oferiți link-uri către secțiunile principale ale serverului din acesta - atât pentru comoditatea utilizatorilor, cât și pentru a oferi informațiile necesare pentru căutarea roboților de indexare a serverelor.

fișier httpd.conf

Fișierul de configurare httpd.conf este cel principal și conține setări legate de funcționarea serverului Web, a serverelor virtuale și a tuturor modulelor software ale acestuia. În plus, este configurată transcodarea literelor rusești atunci când se transferă de la server la client și invers.

Directiva Port, plasată chiar la începutul fișierului, specifică numărul portului pentru serverul http; implicit este 80. Dacă este necesar, puteți aloca un alt port sau mai multe porturi serverului, pentru care servește directiva Listen.

Directiva HostnameLookups, cu parametrul on sau off, activează sau dezactivează conversia adreselor IP numerice ale clienților care au primit documente de la server în nume de domenii, respectiv. O astfel de conversie încetinește oarecum serverul, dar cu un număr de vizite mai mic de 10.000 pe zi, de regulă, acest lucru practic nu se observă.

Directivele Utilizator și Grup specifică utilizatorul care va administra serverul. Din punct de vedere al securității, nu este de dorit să specificați aici un utilizator existent care are acces la orice alte resurse sau fișiere. Este mai bine să creați un utilizator și un grup separat special pentru serverul http, așa:

Directivele ServerRoot, ErrorLog, CustomLog definesc respectiv directorul rădăcină al serverului http, calea către jurnalul de erori (error_log) și calea către jurnalul general de acces la server (access_log).

Directiva CacheNegotiatedDocs permite stocarea în cache a documentelor primite de la server. În mod implicit, acest mod este dezactivat, dar din moment ce lățimea de bandă a canalelor interne de internet va lăsa mult de dorit mult timp, ar fi bine să-l activați: atunci utilizatorul nu va trebui să aștepte ca imaginile să se încarce de fiecare dată când accesează pagina ta.

Configurarea serverelor virtuale în fișierul httpd.conf

În cele mai multe cazuri, un singur server http este capabil să gestioneze cereri către diferite servere Web, așa-numitele virtuale. Serverele virtuale pot avea aceeași adresă IP, dar nume de domenii diferite sau adrese IP diferite. Din punctul de vedere al utilizatorului, a doua opțiune este puțin mai de preferat, deoarece cererea către server, care diferă de cea principală, este doar numele domeniului, trebuie să conțină numele său, iar unele browsere mai vechi care nu acceptă protocolul HTTP/1.1 (de exemplu, Microsoft Internet Explorer 2.0) nu includ aceste informații în cerere. Cu toate acestea, astfel de browsere intră în neutilizare (acum sunt mai puțin de 0,5% din total); pe de altă parte, alocarea propriei adrese IP fiecărui server virtual poate fi o risipă nejustificată a spațiului de adrese al companiei.

Directivele ServerName, ServerAlias, NameVirtualHost și VirtualHost sunt folosite pentru a descrie adresele și numele de domenii ale serverelor virtuale. Sunt necesare doar dacă trebuie să instalați mai mult de un server virtual.

http://www.apache.org/- serverul oficial al dezvoltatorilor Apache

http://apache.lexa.ru/- serverul grupului de dezvoltatori ai modulului rus Apache

În fiecare zi apar tot mai multe site-uri pe Internet și tot mai mulți oameni doresc să învețe cum să le creeze, vor să devină buni stăpâni web, dar uită un mic aspect - capacitatea de a menține și configura un server web. Prin urmare, am decis să dedic o întreagă linie de articole dedicate serverelor web. Astăzi ne vom uita la cele mai populare servere webîn prezent.

După cum am spus, procesul de creare a unui site web nu este numai Scrierea HTML pagini, așa cum cred mulți oameni :), aceasta este o întreagă gamă de activități care necesită o cantitate destul de mare de cunoștințe în direcția web, de exemplu, puteți citi articolul „Cum să devii webmaster și ce trebuie să știi pentru acest? ” și probabil vei înțelege că cunoștințele de HTML nu dau încă nimic.

Servere web populare

Ei bine, destul de introducere, să trecem la subiectul articolului nostru. Și să începem prin a enumera cele mai populare servere WEB, iar astăzi sunt:

  • Apache- aproximativ 55-60% din toate site-urile de pe Internet ( este cel mai popular server web din lume!);
  • Microsoft-IIS- aproximativ 12-14% din toate site-urile de pe Internet;
  • Nginx- aproximativ 10-12% din toate site-urile de pe Internet.

Restul este ocupat, după cum înțelegeți, de servere web mai puțin populare, cum ar fi:

  • Lighttpd;
  • gws;
  • Răşină;
  • si altii.

Astăzi vom trece în revistă cele mai populare 3 servere web și vom începe, bineînțeles, cu cel mai popular - Apache!

Prezentare generală a serverului web Apache

Apache este un server web gratuit, multiplatformă, care acceptă următoarele sisteme de operare: Microsoft Windows, Linux, BSD, Mac OS, Novell NetWare, BeOS.

Acest server web se distinge prin flexibilitatea sa în configurație și extensibilitate, de exemplu. module externe pot fi conectate la acesta. Pe acest server web, puteți dezvolta site-uri în limbaje de programare precum:

  • Piton;
  • rubin;
  • perl;

Și cel mai important, conectarea acestor limbi \u200b\u200este destul de simplă, trebuie doar să înregistrați conexiunea modulelor necesare în fișierul de configurare httpd.conf, de exemplu, PHP este conectat după cum urmează:

#connection for apache version 2.2, connect module LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll" #add type file for handler AddType application/x-httpd-php .php #specific directory with php.ini PHPIniDir "C :\Fișiere de program\PHP\"

Noi am fost cei care am conectat php la apache versiunea 2.2, da, apropo, dacă vorbim de versionare, să vorbim și despre asta.

Până în prezent, cea mai recentă versiune de Apache este 2.4, dar, în mod ciudat, această versiune nu este încă cea mai populară. Există două versiuni de Apache care sunt utilizate pe scară largă pe Internet - acestea sunt versiunea 1.3 și versiunea 2.2. Deși versiunea 1.3 este deja învechită din punct de vedere moral, ei încă nu încetează să o folosească. Nu există diferențe deosebit de dramatice între aceste versiuni, deși în versiunea 2.2 locația unor fișiere s-a schimbat, fișierul httpd.conf s-a rupt în mai multe părți, iar structura folderului s-a schimbat ușor, ceea ce poate îngreuna inițial migrarea din versiunea 1.3 până la 2.2.

Cel mai important lucru care îmi place la Apache este că există multă documentație normală, ceea ce, desigur, îl face mai ușor de stăpânit. acest server. De exemplu, Apache are un site oficial - www.apache.org de unde, apropo, puteți descărca orice versiune de Apache pentru orice sistem de operare. Începătorii au întotdeauna întrebări despre unde puteți descărca această sau acea distribuție (vă sfătuiesc să descărcați doar de pe site-ul oficial), de exemplu, pe această pagină puteți descărca distribuția pentru Windows ( de exemplu, versiunea 2.2.22 ca pachet msi, selectați extensia dorită în consecință).

Una dintre principalele caracteristici ale Apache este că dezvoltatorul site-ului, de exemplu, tu, după ce ai plasat site-ul pe o găzduire, poți gestiona și modifica setările acestui server, fără a-l reporni și fără a aduce atingere altor site-uri care se află pe acest server. server, acest lucru se face cu fișier .htaccess.

Asta e totul despre Apache deocamdată, să trecem la următorul cel mai popular server web.

Prezentare generală a serverului web IIS

IIS (Servicii de informare pe Internet ) nu este un server web separat, ci un întreg set de servicii web necesare pentru funcționarea unui server web cu drepturi depline. Acest server WEB este implementat pe platforma Windows ( și, în consecință, este deținut de Microsoft), voi spune chiar mai multe, este complet integrat cu acest sistem de operare ( precum și toate celelalte servere care fac parte din Windows). Pe acest server, puteți dezvolta site-uri folosind tehnologii ASP ( dar e depășită) și ASP.NET, deoarece această tehnologie este de la Microsoft, dar fani ai altor tehnologii ( limbaje de programare) Microsoft nu a uitat și a făcut posibilă conectarea acestor limbi la acest server WEB, de exemplu: PHP, PERL și altele. Cele mai populare versiuni sunt IIS-6, IIS-7, IIS-7.5 și cea mai recentă versiune ( până în prezent) IIS-8 ( în Windows 8 și Windows Server 2012 ).

Principalele componente ale serverului web IIS sunt:

  • serviciul web în sine;
  • serviciul FTP, apropo, poate funcționa ca un server independent, dacă dintr-o dată doriți să configurați ftp, dar nu folosiți un server web, nu este nimic în neregulă cu asta, instalați și folosiți-l pentru sănătatea dumneavoastră;
  • Server SMTP, îl puteți utiliza și ca autonom server de mailîn propria organizație.

Desigur, în noile versiuni de Windows, cum ar fi Windows 7, Windows Server 2008, există o defalcare mai detaliată în componente individuale, ca să spunem așa pentru comoditate, de exemplu. Dacă îl utilizați, instalați-l; dacă nu, nu îl instalați. Mai sus, am prezentat doar un general ( mic) parte a tuturor componentelor.

Toți cei care au lucrat cu servere Windowsștiți că aproape toate setările din toate rolurile de server sunt realizate prin GUI iar serverul IIS nu face excepție, așa că dacă nu vă place să configurați fișiere sau doar să lucrați pe linia de comandă, atunci acest server este perfect pentru dvs. Pentru cineva va fi plusuri în comparație cu același Apache.

Mulți webmasteri nu vor să folosească IIS doar pentru că cred că trebuie să instalați Windows Server, de exemplu, 2003 sau 2008, pe de o parte au dreptate, adică. dacă doriți să vă găzduiți site-urile pe propriul server ( precum companiile de găzduire web), atunci bineînțeles că cel mai bine este să instalați sistemul de operare pentru server. Dar dacă doriți doar să dezvoltați site-uri web și apoi să le transferați pe găzduire pe Internet, atunci IIS poate fi instalat pe sisteme de operare client obișnuite, cum ar fi Windows XP Pro sau Windows 7 Pro și o versiune ulterioară. Acest lucru se face prin mijloace standard ale sistemului de operare:

Panoul de control -> Adăugați/Eliminați programe (Windows XP) sau Programe și caracteristici (Windows 7) -> Instalați caracteristici (Windows XP) sau Activați/dezactivați funcții (Windows 7) -> selectați Internet Information Services (IIS) pentru Windows XP și IIS pentru Windows 7.

Pe Windows XP Pro:

Pe Windows 7:

Dacă este necesar, puteți face clic pe compoziție (Windows XP) sau pur și simplu faceți clic pe semnul plus (Windows 7) pentru a vizualiza mai detaliat sau pentru a selecta componentele necesare care vor fi instalate. Apoi poate fi necesar să introduceți discul de instalare cu sistemul de operare pentru ca programul de instalare să preia componentele necesare și asta este tot, instalare în curs cum să instalați aplicare regulată, atunci puteți deschide:

Panou de control->Administrare->Internet Information Services (Windows XP) sau Internet Information Services Manager (Windows 7).

Pentru a verifica dacă serverul rulează și este activat, deschideți orice browser și tastați, de exemplu, 127.0.0.1, pagina implicită ar trebui să se deschidă.

Dacă aveți Windows XP, atunci va fi instalat IIS 5.1, care este mai puțin funcțional în comparație cu alte versiuni, de exemplu, IIS 6 și 7. Și dacă aveți Windows 7, atunci va fi instalată versiunea IIS 7, ceea ce este grozav pentru un server WEB normal. În viitor, pe Windows 8, veți instala IIS versiunea 8.

Dacă intenționați să instalați IIS pe un sistem de operare server normal, atunci pe Windows Server 2003 veți instala IIS 6 și pe Windows Server 2008 IIS 7, pe Windows Server 2008 R2 IIS 7.5, pe Windows Server 2012 IIS versiunea 8. Luați în considerare instalarea detaliată a acestuia nu vom avea acum un server, deoarece acest lucru depășește scopul acestui articol, dar în curând plănuiesc să public câteva articole despre instalarea, configurarea, administrarea serverului WEB IIS 7 pe platforma Windows Server 2008, unde puteți vedea deja în detaliu toate subtilitățile acestui server.

Sunt câteva diferențele dintre serverele IIS 6 și IIS 7(și superioare) pentru a fi mai precis, avantajele versiunii 7 (și superioare) față de 6:

  • versiunea 7, după părerea mea, are o interfață mai convenabilă;
  • dacă doriți să dezvoltați site-uri în PHP, atunci în versiunea 7 (și superioară) există integrarea și gestionarea mai convenabilă a extensiei php;
  • IIS 6 nu a fost vizat inițial pentru găzduire, dar IIS 7 (și superioare) este deja vizat, de exemplu: capacitatea proprietarilor de site-uri de a-și gestiona și configura site-urile ( disponibil in minte web Server) fără a contacta suportul tehnic și fără a folosi scripturi suplimentare de la hoster, deoarece hosterii au folosit scripturi suplimentare pe versiunea IIS 6 pentru a nu configura manual, pentru a îndeplini solicitările proprietarilor site-ului. IIS6 s-a concentrat doar pe site-uri web corporative, dar și hosterii au început să-l folosească, de exemplu. a câștigat popularitate. IIS 7 este o opțiune grozavă pentru cei care iubesc aplicațiile Windows și Windows și nu este deja cu nimic inferior celui mai popular server web de pe Internet, apache.

Până în prezent, cele mai populare servere IIS de pe Internet sunt încă versiunea 6, dar versiunea 7 aproape a ajuns din urmă și toți web masterii și hosterii trec deja activ la versiunea 7 sau mai mare a IIS.

Prezentare generală a serverului web Nginx

Nginx- un server web și un server proxy de mail dezvoltat de un programator rus care îl promovează activ, acum a apărut chiar și Nginx, Inc.

Nginx rulează pe sisteme de operare asemănătoare unix, precum: FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX, HP-UX, dar există și versiuni pentru Windows, deși, după cum ați înțeles deja, acest server web a fost dezvoltat special pentru Unix. Cea mai recentă versiune în acest moment este versiunea 1.2.4.

Principalele caracteristici ale lui Nginx sunt: simplitate, viteză, fiabilitate. În general, la fel ca și serverele web de mai sus, acesta este un server web excelent.

Atât pentru astăzi, în articolele următoare vom lua în considerare în detaliu instalarea, configurarea, întreținerea serverelor web (folosind ca exemplu Apache 2.2.22 și IIS 7).

|

Aplicațiile dezvoltate în Ruby pot fi implementate în acces general folosind unul dintre numeroasele servere web. Fiecare server web este unic și are propriile sale avantaje, dar toate au un lucru în comun: se bazează pe interfața Rack.

Acest articol sugerează scurtă recenzie servere web populare pentru aplicațiile Ruby, precum și vă prezintă specificația Rack și middleware.

Notă: Pentru mai multe informații despre middleware, consultați .

Interfață rack

LA lumea modernăÎn dezvoltarea de aplicații web, abilitatea de a combina și potrivi serverele web adecvate și alte programe și tehnologii este esențială. De fapt, acesta este unul dintre cele mai solicitate aspecte ale oricărui limbaj sau cadru de programare. Poate cel mai simplu exemplu aici este mediile de dezvoltare, testare și producție ale unei aplicații – toate ar trebui să fie diferite.

Pentru a face acest lucru, Rack a fost lansat în 2007, o interfață modulară pentru serverele web Ruby. Astăzi este folosit de multe servere web și cadre (Espresso, Mack, Ruby on Rails, Sinatra etc.).

În ciuda convențiilor de denumire și a diverselor explicații pentru limbi diferite programare și domenii, specificațiile pentru interoperabilitatea aplicațiilor sunt foarte asemănătoare (dacă nu identice). Deși spre deosebire de specificația Python WSGI care a inspirat Rack și multe alte specificații, Rack este, de asemenea, un middleware.

Middleware-ul Rack (disponibil ca o bijuterie) implementează specificația Rack; împarte cererile HTTP primite în diferite etape, apoi le procesează în părți, după care trimite un răspuns aplicației web (controller). Programul Rack constă din două componente separate: un handler și un adaptor, prin care se fac schimb de date între servere web și aplicații (frameworks).

Prezentare generală a serverelor web pentru Ruby

Acum puteți vorbi despre cele mai populare servere web moderne, puteți înțelege caracteristicile acestora și puteți alege cea mai potrivită soluție pentru aplicația dvs.

Notă: Serverele web sunt listate în ordine alfabetică.

Phusion Passenger: Web rapid și server de aplicații

Mulți dezvoltatori Ruby on Rails recomandă utilizarea Passenger pentru a susține aplicații. Este un server matur și bogat în funcții, care îndeplinește cele mai exigente cerințe de implementare și facilitează instalarea și rularea aplicației. Elimină arhitectura tradițională de server proxy prin integrarea directă în serverele web Apache și Nginx. Prin urmare, în comunitatea Ruby (Rails), este adesea denumit și mod_rails și mod_rack.

Caracteristici pentru pasageri

Passenger oferă posibilitatea de a lucra cu mai multe aplicații găzduite pe același server.

De asemenea, acceptă gestionarea clienților lenți. Pasagerul pune în tampon toate cererile și răspunsurile pentru a preveni atacurile care blochează resursele sistemului.

Serverul web Passenger este foarte popular și este adesea folosit într-un mediu de producție. În plus, are o comunitate activă în care poți obține o mulțime de sfaturi și trucuri utile. Compania de dezvoltare Pasageri oferă suport comercial.

Versiunea cu sursă deschisă a Passenger oferă un mod cu un singur proces, în timp ce versiunea comercială acceptă moduri cu un singur și cu mai multe fire.

De asemenea, versiunea comercială oferă multe funcții „avansate”: paralelism, multithreading, implementare în masă, management al resurselor, limitare a resurselor etc.

Notă: Mai multe informații despre Passenger pot fi găsite pe site - ul proiectului . Despre Passenger Enterprise - .

Puma: un server web modern pentru Ruby

Puma este un server web de înaltă performanță pentru aplicațiile Ruby. Se bazează pe serverul web Mongrel, care a adăugat câteva caracteristici revoluționare și a influențat dezvoltarea aplicațiilor Ruby în multe feluri. Dezvoltatorul Puma (Evan Phoenix) a transformat structura de operare a lui Mongrel prin trecerea la Rack (și astfel eliminând unele probleme de performanță) și a dezvoltat o aplicație pentru a sprijini concurența.

Caracteristici Puma

Puma nu necesită mult spațiu și folosește puține resurse.

Serverul web Puma oferă mai multe moduri de funcționare: vă permite să setați numărul minim și maxim de fire de execuție și, de asemenea, acceptă modul cluster, în care puteți utiliza procese bifurcate pentru a procesa cereri simultan.

Se bazează pe analizatorul Mongrel și și-a moștenit în mare parte codul.

Serverul web Puma este conceput pentru Rubinius, dar poate funcționa și cu JRuby

Oferă un set simplu, dar destul de extins și flexibil de configurații, ceea ce face ușoară pregătirea unui server web atât pentru dezvoltare, cât și pentru mediu.

Din cutie, Puma nu acceptă găzduirea și producția cu mai multe aplicații, dar acest lucru se poate face folosind instrument special Junglă.

Subțire: server HTTP simplu și rapid

Thin este un server de aplicații foarte popular; creatorii săi susțin că este cel mai „securizat, stabil, rapid și extensibil server web Ruby”. Subțire se dezvoltă activ. Se bazează pe trei biblioteci principale Ruby:

  • Parser Mongrel.
  • Biblioteca de rețea EventMachine
  • Rack Middleware

Caracteristici subțiri

Thin HTTP Server este proiectat să funcționeze cu orice cadru care implementează specificația Rack. Pentru a face acest lucru, încarcă fișierele de configurare Rack.

Bazat pe EventMachine, Thin poate gestiona cereri lungi fără ajutorul unui proxy invers (spre deosebire de alte servere web).

Notă: Pentru a afla mai multe despre Thin, accesați site-ul web al proiectului.

Unicorn: server HTTP bazat pe rack pentru clienți rapidi și Unix

Unicorn este un server de aplicații matur, cu caracteristici complete pentru Ruby. Ulterior a fost adaptat pentru a funcționa cu Python. Principiul de funcționare al lui Unicorn este următorul: serverul web nu realizează toate sarcinile, ci doar cele pentru care este direct responsabil, transferă restul sarcinilor către alte programe care sunt mai capabile să le realizeze.

Caracteristici unicorn

Procesul principal Unicorn generează procese de lucru pentru a procesa cereri în funcție de parametrii dați. De asemenea, monitorizează procesele lucrătorilor pentru a preveni problemele legate de resurse. Adică, dacă un proces necesită mult timp sau resurse, serverul îl va opri cu Unicorn.

După cum am menționat mai sus, Unicorn folosește sistemul de operare pentru echilibrarea încărcăturii; pentru a face acest lucru, poate transfera sarcini către alte servicii. Datorită acestui fapt, cererile nu se acumulează.

La fel ca NGINX, Unicorn vă permite să implementați aplicații fără a renunța la conexiunile curente ale clientului. Aceasta este o caracteristică foarte utilă atunci când actualizați o aplicație.

Alte caracteristici utile Unicorn:

  • Toate procesele de lucru rulează într-un anumit spațiu de adrese izolat și servesc cererile pe rând.
  • Cârligele before_fork și after_fork vă permit să vă ocupați de furcile de proces.
  • Un mecanism de copiere la scriere pentru gestionarea memoriei economisește memorie.
  • Un server web poate asculta pe mai multe interfețe.

Notă: Mai multe despre Unicorn - .

Etichete: ,