Valg mellem Apache og NGINX til dine behov for webhosting

For at komme i gang med et splinternyt webprojekt behøver du virkelig kun to ting: en hostingudbyder og en HTTP (HyperText Transfer Protocol) server. Cloududbydere som Amazon Web Services og Microsoft Azure tilbyder en række platformindstillinger til at imødekomme størrelsen og hastighedskravene på dit websted. Når du er tilmeldt dig en cloud-vært, kan du vælge, hvilken HTTP-server, der skal køres på din virtualiserede hardware.


En HTTP-server er ansvarlig for at acceptere webanmodninger fra dit websteds besøgende og derefter svare på deres browser med det relevante indhold. For eksempel kan en grundlæggende webanmodning bede om HTML-tekstindhold og en række sammenkædede billeder. HTTP-serveren leverer et webrespons, som browsere som Google Chrome eller Mozilla Firefox kan forstå og vise.

Når det kommer til HTTP-servere, dominerer to løsninger meget af det aktuelle landskab: Apace og NGINX (der udtales som “Engine X”). Læs videre for at lære det grundlæggende i begge dele, og hvordan de sammenligner hinanden med hensyn til arkitektur, ydeevne og andre kategorier.

Grundlæggende om Apache

Apache-webserverløsningen har eksisteret siden midten af ​​1990’erne. I betragtning af softwarens levetid og stabilitet er det stadig en af ​​de mest populære muligheder for hosting af websteder. Det er en vigtig del af LAMP-udviklingsstakken, der bruges af teams i alle størrelser til at implementere dynamiske applikationer på internettet. De andre elementer i LAMP-stakken er Linux (operativsystem), MySQL (database) og PHP (scripting på serversiden).

Apache tilbydes som en gratis open source-softwarepakke. Det administreres og udvikles af Apache Software Foundation. Da verdensweben ankom på scenen i 1990’erne var Apache standardserverløsningen for de fleste websteder. Det var designet med enkelhed i tankerne, og selvom det muliggør fleksibilitet og skalerbarhed, fik Apache popularitet i en tid, hvor internettrafikniveauerne var meget lavere, end de er i dag.

NGINX Basics

NGINX-webserverløsningen blev først frigivet i 2002. Den blev oprettet af en enkelt systemadministrator i Rusland og blev en del af open source-samfundet to år senere. Designet bag NGINX fokuserer specifikt på hastighed og ydelse, to områder, hvor nogle mener, at Apache mangler. Faktisk kom NGINX-projektet oprindeligt på grund af C10K’s offentlige udfordring, som bad udviklere om at designe en HTTP-løsning, der kunne håndtere 10.000 samtidige brugere på et stabilt ydeevneniveau.

NGINX er vokset i popularitet i det sidste årti, især blandt startups, der har brug for at vokse deres hardware hurtigt. Imidlertid anses NGINX generelt for at være sværere at installere og integrere end Apache.

Arkitekturovervejelser

Apache-softwarepakken indeholder et sæt af flere behandlingsmoduler (kendt som MPM’er), der giver en serveradministrator mulighed for at bestemme, hvordan deres HTTP-løsning skal håndtere anmodninger. Denne type arkitektur giver mulighed for stor fleksibilitet og tilpasning.

Det mest basale Apache-modul er mpm_prefork. Det fungerer på enkelttrådslogik, hvor hver serverproces håndterer en webanmodning ad gangen. Dette er det anbefalede modul til webprojekter, der er baseret på PHP-scriptingsprog. Et andet Apache-modul er mpm_worker, der understøtter flere tråde på samme tid. Dette vil hjælpe Apache med at være mere effektiv og skalerbar. Det sidste primære Apache-modul, mpm_event, fungerer på samme måde som mpm_worker, men tilføjer bedre support til at holde liv i forbindelser, hvilket er et krav til mange moderne webapplikationer.

NGINX adskiller sig bestemt fra Apache med hensyn til arkitektur. Det er baseret på begrebet begivenhedsstyret operation snarere end ved at bruge processer eller tråde. Hvad dette betyder er, at en enkelt NGINX-arbejder kan håndtere tusinder af HTTP-forbindelser på samme tid.

NGINX er afhængig af et looping-system, der giver arbejdstagerne mulighed for hurtigt at hente nye anmodninger, hver gang en begivenhed udløses. Begivenheder behandles asynkront, hvilket betyder, at de ikke behøver at vente på, at andre begivenheder tildeles sekventielt.

Indholdshåndtering

Disse dage falder webindhold i en af ​​to kategorier: statisk eller dynamisk. Statisk indhold inkluderer alt på en webside, der forbliver konsistent, uanset hvordan webstedet bruges. For eksempel er et firmalogo øverst på et websted et stykke statisk indhold. Dynamisk indhold på den anden side i kontrolleret af scriptsprog som PHP og ændres baseret på en brugers session eller andre variabler. E-mail-websteder, banksider og sociale netværk er alle afhængige af dynamisk indhold for at vise brugerne deres individuelle data.

Apache kan kun tjene statisk indhold på en enkelt trådbasis, hvilket gør NGINX til en mere overbevisende løsning til webprojekter, der har brug for en stor mængde statisk indhold, der hurtigt leveres. Apache tilbyder dog nogle fordele, når det kommer til dynamisk indhold. Det integreres let med PHP og kan integrere en scripting-processor direkte i HTTP-arbejdstageren. Den grundlæggende NGINX-softwarepakke inkluderer ikke support til dynamisk levering af indhold, så du bliver nødt til at tilføje en ekstern processor til din softwarestack for at understøtte den.

Yderligere sammenligninger

Uden for besøgende på dit websted er det ligeglad med hvilken slags HTTP-server du bruger på backend. De beskæftiger sig kun med at få adgang til dit indhold hurtigt og pålideligt. Af denne grund skal ydeevne være den nøglemetrik, der skal overvejes, når man vurderer både Apache og NGINX som indstillinger for webhosting.

Takket være sin begivenhedsdrevne arkitektur betragtes NGINX generelt som den hurtigste HTTP-løsning. Det kører på minimale ressourcer, selv når din webtrafik vokser med tiden. Dette resulterer i lav hukommelse og CPU-brug, hvorimod Apache muligvis kræver mere hardwareudnyttelse i tider med øget belastning.

Brugervenlighed

Når den er installeret på en webserver som en del af LAMP-softwarestaklen, er Apache HTTP-værten utroligt enkel at konfigurere og køre. De fleste administratorer behøver slet ikke at ændre indstillingerne for multi-behandlingsmodulet. De fleste Apache-tilpasninger vil ske på katalogniveau i det, der er kendt som .htaccess-filer.

Disse små tekstelementer giver dig mulighed for at skrive regler og retninger for, hvordan HTTP-serveren skal håndtere visse typer anmodninger. For eksempel kan du slå URL-omskrivning til, så en bestemt web-adresse i dit domæne indlæser ressourcer fra et andet sted. Dette bruges ofte på websteder på sociale medier, hvor “/ username” vises i slutningen af ​​en URL.

NGINX understøtter ikke .htaccess-filer eller anden konfiguration på et katalogniveau. Dette gør behandlingen af ​​anmodninger hurtigere og mere sikker, men begrænser stadig den kontrol, som en systemadministrator har.

Kompatibilitet og support

HTTP-servere køres typisk på UNIX-baserede operativsystemer, især open source Linux-platforme. Dette er af hensyn til hastigheden, da UNIX betragtes som det mest effektive operativsystem, der findes. Både Apache og NGINX kan installeres på populære Linux-distributioner som Ubuntu eller BSD.

Apache tilbyder også fuld support til Microsoft Windows Server-operativsystemet. NGINX kan også konfigureres til at køre på Windows, men anses generelt for at være mindre stabil. Hvis din organisation udelukkende kører Windows på sine webservere, er Apache det logiske valg.

Apache har en robust online dokumentationsportal med frigivelsesnotater, referencehåndbøger, brugervejledninger og tutorials for at hjælpe dig med at få Apache installeret i dit skymiljø og begynde at bruge det til en webapplikation. NGINX tilbyder en lignende type dokumentationslager, der dækker grundlæggende konfiguration samt en mere detaljeret udviklingsvejledning.

Resumé

Apache og NGINX er begge meget populære HTTP-serverløsninger i dagens moderne verden af ​​cloud computing. De fleste af de bedste hostingfirmaer i Canada bruger Apache og NGINX.

Indsættelse af en af ​​dem i din udviklingsstabel er et klogt valg, da de giver stabil ydelse og pålidelighed.

Hvis hastighed er din højeste prioritet, og dit websted er vært for en stor mængde statisk indhold, er NGINX muligvis den bedste mulighed. Det er også ved at blive det foretrukne valg blandt udviklingshold, der bygger en mikroservice-arkitektur med masser af undersystemer, der interagerer med hinanden. På den anden side kan små udviklere eller nybegynder have det bedre med at holde sig med Apache, da det er lettere at konfigurere og kommer forudkonfigureret med tredjeparts softwarestacks som LAMP.

Én ting at huske er, at du ikke nødvendigvis skal vælge mellem Apache og NGINX og glemme den anden. Faktisk bruges de to løsninger meget ofte i tandem til at levere den bedst mulige webhostingoplevelse. Med NGINX konfigureret som din oprindelige web-proxy, kan anmodninger behandles hurtigt og sendes til en Apache-medarbejder ved applikationsafslutningen. Derfra kan Apache integreres med PHP eller et andet scriptingsprog for at forberede webresponset og sløbe det tilbage til NGINX-laget.

Sørg for at gøre din research, når du vælger en HTTP-serverløsning. Dit valgte system bliver en del af rygraden på dit websted eller din applikation og vil være kritisk i dine brugers daglige oplevelse.

Du vil måske også syntes om:

  • Bedste webhosting
  • Bedste Webstedsbygger

Referencer og billedkreditter:

  • Nginx.com
  • ESDS.co.in
  • TutorialsPoint.com
  • NTU.edu.sg
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map