Velge mellom Apache og NGINX for dine behov for webhotell

For å komme i gang med et splitter nytt nettprosjekt, trenger du egentlig bare to ting: en vertsleverandør og en HTTP-server (HyperText Transfer Protocol). Cloud-leverandører som Amazon Web Services og Microsoft Azure tilbyr en rekke plattformalternativer for å møte størrelsen og hastighetskravene på nettstedet ditt. Når du har registrert deg hos en skyvert, kan du velge hvilken HTTP-server som skal kjøres på den virtualiserte maskinvaren din.


En HTTP-server er ansvarlig for å akseptere nettforespørsler fra besøkende på nettstedet ditt og deretter svare på nettleseren deres med riktig innhold. For eksempel kan en grunnleggende nettforespørsel be om HTML-tekstinnhold og en serie koblede bilder. HTTP-serveren vil levere et webrespons som nettlesere som Google Chrome eller Mozilla Firefox kan forstå og vise.

Når det gjelder HTTP-servere, dominerer to løsninger store deler av det nåværende landskapet: Apace og NGINX (som uttales som “Engine X”). Les videre for å lære det grunnleggende om begge deler og hvordan de sammenligner seg med hverandre når det gjelder arkitektur, ytelse og andre kategorier.

Apache-grunnleggende

Apache-webserverløsningen har eksistert siden midten av 1990-tallet. Gitt programvarens levetid og stabilitet, er det fortsatt et av de mest populære alternativene for hosting av nettsteder. Det er en sentral del av LAMP-utviklingsbunken, som brukes av team i alle størrelser for å distribuere dynamiske applikasjoner på internett. De andre elementene i LAMP-stabelen er Linux (operativsystem), MySQL (database) og PHP (skriptservering på serversiden).

Apache tilbys som en gratis, åpen kildekode-programvarepakke. Det administreres og utvikles av Apache Software Foundation. Da world wide web kom på scenen på 1990-tallet, var Apache standard serverløsningen for de fleste nettsteder. Det ble designet med enkelhet i tankene, og selv om det gir mulighet for fleksibilitet og skalerbarhet, fikk Apache popularitet i en tid der internettrafikknivået var mye lavere enn de er i dag.

NGINX Grunnleggende

NGINX webserverløsning ble første gang utgitt i 2002. Den ble opprettet av en enkelt systemadministrator i Russland og ble en del av open source-samfunnet to år senere. Designet bak NGINX fokuserer spesielt på hastighet og ytelse, to områder der noen mener at Apache mangler. Faktisk kom NGINX-prosjektet opprinnelig på grunn av den offentlige utfordringen C10K, som ba utviklere om å designe en HTTP-løsning som kunne håndtere 10 000 samtidige brukere på et jevnt ytelsesnivå.

NGINX har vokst i popularitet det siste tiåret, spesielt blant startups som trenger å utvide maskinvarene sine raskt. Imidlertid anses NGINX generelt å være vanskeligere å installere og integrere enn Apache.

Arkitekturhensyn

Apache-programvarepakken inneholder et sett med flere prosesseringsmoduler (kjent som MPMer) som lar en serveradministrator bestemme hvordan deres HTTP-løsning skal håndtere forespørsler. Denne typen arkitektur gir stor fleksibilitet og tilpasning.

Den mest grunnleggende Apache-modulen er mpm_prefork. Den fungerer på en-trådslogikk, der hver serverprosess håndterer en nettforespørsel om gangen. Dette er den anbefalte modulen for nettprosjekter basert på PHP-skriptspråk. En annen Apache-modul er mpm_worker, som støtter flere tråder samtidig. Dette vil hjelpe Apache til å være mer effektiv og skalerbar. Den siste primære Apache-modulen, mpm_event, fungerer på samme måte som mpm_worker, men gir bedre støtte for å holde liv i forbindelse, noe som er et krav for mange moderne webapplikasjoner.

NGINX skiller seg definitivt fra Apache når det gjelder arkitektur. Det er basert på konseptet om hendelsesstyrt drift i stedet for å bruke prosesser eller tråder. Hva dette betyr er at en enkelt NGINX-arbeider kan håndtere tusenvis av HTTP-tilkoblinger samtidig.

NGINX er avhengig av et looping-system som gjør at arbeidstakere raskt kan hente nye forespørsler hver gang en hendelse utløses. Hendelser behandles asynkront, noe som betyr at de ikke trenger å vente på at andre hendelser blir tildelt i rekkefølge.

Innholdshåndtering

I disse dager faller nettinnhold i en av to kategorier: statisk eller dynamisk. Statisk innhold inkluderer alt på en webside som forblir konsistent uansett hvordan nettstedet brukes. For eksempel er en firmalogo på toppen av et nettsted et stykke statisk innhold. Dynamisk innhold derimot i kontrollert av skriptspråk som PHP og vil endres basert på en brukers økt eller andre variabler. E-postnettsteder, banksider og sosiale nettverk er avhengige av dynamisk innhold for å vise brukerne deres individuelle data.

Apache kan bare tjene statisk innhold på en trådtrinn, noe som gjør NGINX til en mer overbevisende løsning for nettprosjekter som trenger en stor mengde statisk innhold som leveres raskt. Apache tilbyr imidlertid noen fordeler når det gjelder dynamisk innhold. Det integreres enkelt med PHP og kan legge inn en skripteprosessor direkte i HTTP-arbeideren. Den grunnleggende NGINX-programvarepakken inkluderer ikke støtte for dynamisk levering av innhold, så du må legge til en ekstern prosessor i programvarestabelen din for å støtte den.

Ytelses-sammenligninger

Utenfor besøkende på nettstedet ditt vil ikke bry seg om hva slags HTTP-server du bruker på backend. De er bare opptatt av å få tilgang til innholdet ditt raskt og pålitelig. Av denne grunn bør ytelse være den viktigste metrikken du bør vurdere når du vurderer både Apache og NGINX som alternativer for webhotell.

Takket være den hendelsesdrevne arkitekturen anses NGINX generelt for å være den raskeste HTTP-løsningen. Det kjøres på minimale ressurser, selv når webtrafikken din vokser over tid. Dette resulterer i lite minne- og CPU-bruk, mens Apache kan kreve mer maskinvarebruk i tider med økt belastning.

Enkel implementering

Når den er installert på en webserver som en del av LAMP-programvarestakken, er Apache HTTP-verten utrolig enkel å konfigurere og kjøre. De fleste administratorer trenger ikke å endre innstillingene for flerbehandlingsmodulen i det hele tatt. De fleste Apache-tilpasninger vil skje på katalognivå i det som kalles .htaccess-filer.

Disse små tekstelementene lar deg skrive regler og veibeskrivelse for hvordan HTTP-serveren skal håndtere visse typer forespørsler. Du kan for eksempel slå på URL-omskriving slik at en spesifikk nettadresse i domenet ditt vil laste inn ressurser fra et annet sted. Dette brukes ofte på nettsteder på sosiale medier der “/ brukernavn” vises på slutten av en URL.

NGINX støtter ikke .htaccess-filer eller annen konfigurasjon på et katalognivå. Dette gjør behandlingen av forespørsler raskere og sikrere, men begrenser likevel kontrollen som en systemadministrator har.

Kompatibilitet og støtte

HTTP-servere kjøres vanligvis på UNIX-baserte operativsystemer, spesielt med åpen kildekode Linux-plattformer. Dette er av hensyn til hastigheten, da UNIX anses å være det mest effektive operativsystemet som er tilgjengelig. Både Apache og NGINX kan installeres på populære Linux-distribusjoner som Ubuntu eller BSD.

Apache tilbyr også full støtte for operativsystemet Microsoft Windows Server. NGINX kan også konfigureres til å kjøre på Windows, men anses generelt for å være mindre stabil. Hvis organisasjonen din utelukkende kjører Windows på sine webservere, vil Apache være det logiske valget.

Apache har en robust online dokumentasjonsportal med utgivelsesnotater, referansehåndbøker, brukerveiledninger og opplæringsprogrammer for å hjelpe deg med å få Apache installert i skymiljøet ditt og begynne å bruke det til en webapplikasjon. NGINX tilbyr en lignende type dokumentasjonsdatabase som dekker grunnleggende konfigurasjon samt en mer detaljert utviklingsveiledning.

Sammendrag

Apache og NGINX er begge veldig populære HTTP-serverløsninger i dagens moderne cloud computing-verden. De fleste av de beste vertsselskapene i Canada bruker Apache og NGINX.

Å sette en av dem i utviklingsstabelen er et lurt valg, da de vil gi stabil ytelse og pålitelighet.

Hvis hastighet er din toppprioritet og nettstedet ditt vil være vert for en stor mengde statisk innhold, kan NGINX være det beste alternativet. Det er også i ferd med å bli det foretrukne valget blant utviklingsteam som bygger en mikroservice-arkitektur med mange undersystemer som samhandler med hverandre. På den annen side kan det hende at små utviklere eller nybegynnere har det bedre å holde seg med Apache, da det er enklere å konfigurere og kommer forhåndskonfigurert med tredjeparts programvarestack som LAMP.

En ting å huske på er at du ikke nødvendigvis trenger å velge mellom Apache og NGINX og glemme den andre. Faktisk blir de to løsningene ofte brukt i tandem for å levere en best mulig webhotellopplevelse. Når NGINX er satt opp som din første proxy, kan forespørsler behandles raskt og sendes til en Apache-arbeider på applikasjonsslutt. Derfra kan Apache integreres med PHP eller et annet skriptspråk for å forberede webresponsen og sløyfe den tilbake til NGINX-laget.

Sørg for å gjøre undersøkelser når du velger en HTTP-serverløsning. Ditt valgte system vil bli en del av ryggraden på nettstedet eller applikasjonen din og vil være kritisk i brukernes hverdagslige opplevelse.

Du vil kanskje også like:

  • Beste webhotell
  • Beste nettstedbygger

Referanser og bildekreditt:

  • Nginx.com
  • ESDS.co.in
  • TutorialsPoint.com
  • NTU.edu.sg
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector