Valitse valinta Apache: n ja NGINX: n välillä Web-hosting-tarpeitasi varten

Aloittaaksesi aivan uudella verkkoprojektilla tarvitset todella vain kahta asiaa: isännöintipalveluntarjoajaa ja HTTP (HyperText Transfer Protocol) -palvelinta. Pilvipalveluntarjoajat, kuten Amazon Web Services ja Microsoft Azure, tarjoavat erilaisia ​​käyttövaihtoehtoja vastaamaan sivustosi koko- ja nopeusvaatimuksia. Kun olet kirjautunut pilvipalvelimeen, voit valita, mitä HTTP-palvelinta käytetään virtualisoidussa laitteistossasi.


HTTP-palvelin on vastuussa verkkopyyntöjen vastaanottamisesta sivustosi kävijöiltä ja vastaa sitten heidän selaimessaan asianmukaisella sisällöllä. Esimerkiksi perusverkkopyyntö voi pyytää HTML-tekstisisältöä ja joukko linkitettyjä kuvia. HTTP-palvelin toimittaa verkkovastauksen, jonka selaimet, kuten Google Chrome tai Mozilla Firefox, voivat ymmärtää ja näyttää.

Kun kyse on HTTP-palvelimista, kaksi ratkaisua hallitsevat suurta osaa nykyisestä maisemasta: Apace ja NGINX (joka lausutaan nimellä “Engine X”). Lue jatkossa oppiaksesi molempien perusteet ja kuinka niitä verrataan toisiinsa arkkitehtuurin, suorituskyvyn ja muiden luokkien suhteen.

Apache-perusteet

Apache-verkkopalvelinratkaisu on ollut olemassa 1990-luvun puolivälistä lähtien. Ohjelmiston pitkäikäisyys ja vakaus huomioon ottaen se on edelleen yksi suosituimmista vaihtoehdoista verkkosivustojen ylläpidossa. Se on tärkeä osa LAMP-kehityspinoa, jota kaiken kokoiset ryhmät käyttävät dynaamisten sovellusten käyttöönottoon Internetissä. Muut LAMP-pinon elementit ovat Linux (käyttöjärjestelmä), MySQL (tietokanta) ja PHP (palvelinpuolen komentosarjat).

Apache on ilmainen avoimen lähdekoodin ohjelmistopaketti. Sitä hallinnoi ja kehittää Apache Software Foundation. Kun Internet-verkko saapui näyttämölle 1990-luvulla, Apache oli oletuspalvelinratkaisu useimmille verkkosivustoille. Se on suunniteltu yksinkertaisuutta ajatellen, ja vaikka se mahdollistaa joustavuuden ja skaalautuvuuden, Apache saavutti suosion aikaan, jolloin Internet-liikenteen tasot olivat paljon alhaisemmat kuin nykyään ovat..

NGINX-perusteet

NGINX-verkkopalvelinratkaisu julkaistiin ensimmäisen kerran vuonna 2002. Sen on luonut yksi järjestelmänvalvoja Venäjällä ja siitä tuli osa avoimen lähdekoodin yhteisöä kaksi vuotta myöhemmin. NGINX: n taustalla oleva suunnittelu keskittyy erityisesti nopeuteen ja suorituskykyyn, kahteen alueeseen, joista jotkut uskovat, että Apache puuttuu. Itse asiassa NGINX-projekti syntyi alun perin C10K: n julkisen haasteen takia, jossa kehotettiin kehittäjiä suunnittelemaan HTTP-ratkaisu, joka pystyy käsittelemään 10 000 samanaikaista käyttäjää tasaisella suorituskyvyn tasolla.

NGINX: n suosio on kasvanut viimeisen vuosikymmenen aikana, etenkin aloittelijoiden keskuudessa, jotka tarvitsevat kasvattaakseen laitteistoaan nopeasti. Yleensä NGINX: n katsotaan kuitenkin olevan vaikeampaa asentaa ja integroida kuin Apache.

Arkkitehtuurin näkökohdat

Apache-ohjelmistopaketti sisältää joukon monikäsittelymoduuleja (tunnetaan nimellä MPM), joiden avulla palvelimen järjestelmänvalvoja voi määrittää, kuinka heidän HTTP-ratkaisunsa pitäisi käsitellä pyyntöjä. Tämäntyyppinen arkkitehtuuri mahdollistaa suuren joustavuuden ja räätälöinnin.

Tyypillisin Apache-moduuli on mpm_prefork. Se toimii yhden säikeen logiikassa, jossa jokainen palvelinprosessi käsittelee yhden verkkopyynnön kerrallaan. Tämä on suositeltava moduuli Web-projekteille, jotka perustuvat PHP-skriptikielelle. Toinen Apache-moduuli on mpm_worker, joka tukee useita ketjuja samanaikaisesti. Tämä auttaa Apachea olemaan tehokkaampi ja skaalautuvampi. Viimeinen ensisijainen Apache-moduuli, mpm_event, toimii samalla tavalla kuin mpm_worker, mutta lisää parempaa tukea elinikäisille yhteyksille, mikä on edellytys monille nykyaikaisille verkkosovelluksille..

NGINX erottaa ehdottomasti arkkitehtuurinsa Apachesta. Se perustuu tapahtumavetoisen toiminnan käsitteeseen prosessien tai säikeiden käytön sijasta. Tämä tarkoittaa, että yksi NGINX-työntekijä voi käsitellä tuhansia HTTP-yhteyksiä samanaikaisesti.

NGINX luottaa silmukkajärjestelmään, jonka avulla työntekijät voivat noutaa nopeasti uusia pyyntöjä joka kerta, kun tapahtuma laukaistaan. Tapahtumat käsitellään asynkronisesti, mikä tarkoittaa, että niiden ei tarvitse odottaa muiden tapahtumien osoittamista peräkkäin.

Sisällön käsittely

Nykyään verkkosisältö jakautuu kahteen luokkaan: staattiseen tai dynaamiseen. Staattinen sisältö sisältää mitä tahansa verkkosivulla, joka pysyy yhtenäisenä riippumatta sivuston käytöstä. Esimerkiksi verkkosivun yläosassa oleva yrityksen logo on pala staattista sisältöä. Toisaalta dynaamista sisältöä ohjataan skriptikielellä, kuten PHP, ja se muuttuu käyttäjän istunnon tai muiden muuttujien perusteella. Sähköposti-, pankkisivustot ja sosiaaliset verkostot luottavat dynaamiseen sisältöön näyttääkseen käyttäjille heidän henkilökohtaiset tietonsa.

Apache voi palvella staattista sisältöä vain yhden säikeen pohjalta, mikä tekee NGINXistä houkuttelevamman ratkaisun verkkoprojekteille, jotka tarvitsevat suuren määrän staattista sisältöä nopeasti toimitettuna. Apache tarjoaa kuitenkin joitain etuja dynaamisen sisällön suhteen. Se integroituu helposti PHP: n kanssa ja voi upottaa komentosarjojen prosessorin suoraan HTTP-työntekijään. NGINX-perusohjelmistopaketti ei sisällä dynaamisen sisällönjakelun tukea, joten joudut lisäämään ulkoisen prosessorin ohjelmistopinoon tukeakseen sitä.

Suorituskykyvertailut

Verkkosivustosi ulkopuoliset vierailijat eivät välitä siitä, millaista HTTP-palvelinta käytät taustalla. He ovat kiinnostuneita pääsystä vain sisältöön nopeasti ja luotettavasti. Tästä syystä suorituskyvyn tulisi olla avainmitta, joka on otettava huomioon arvioitaessa sekä Apache että NGINX web-hosting-vaihtoehdoiksi.

Tapahtumavetoisen arkkitehtuurinsa ansiosta NGINX: ää pidetään yleensä nopeimpana HTTP-ratkaisuna. Se käyttää minimaalisia resursseja, vaikka verkkoliikenne kasvaa ajan myötä. Tämä johtaa alhaiseen muistin ja prosessorin käyttöön, kun taas Apache saattaa vaatia enemmän laitteiston käyttöä lisääntyneen kuormituksen aikana.

Helppo toteutus

Asennettuna web-palvelimelle osana LAMP-ohjelmistopinoa Apache HTTP -isäntä on uskomattoman helppo määrittää ja suorittaa. Useimpien järjestelmänvalvojien ei tarvitse muuttaa monikäsittelymoduulin asetuksia ollenkaan. Suurin osa Apache-räätälöinnistä tapahtuu hakemistotasolla ns .htaccess-tiedostoissa.

Näiden pienten tekstikohtien avulla voit kirjoittaa sääntöjä ja ohjeita siitä, kuinka HTTP-palvelimen tulisi käsitellä tietyntyyppisiä pyyntöjä. Voit esimerkiksi kytkeä URL-osoitteiden uudelleenkirjoittamisen päälle, jotta verkkotunnuksesi tietty Web-osoite lataa resursseja toisesta sijainnista. Tätä käytetään usein sosiaalisen median verkkosivustoilla, joissa ”/ käyttäjänimi” näkyy URL-osoitteen lopussa.

NGINX ei tue .htaccess-tiedostoja tai muita määrityksiä hakemistotasolla. Tämä tekee pyyntöjen käsittelystä nopeamman ja turvallisemman, mutta rajoittaa silti järjestelmänvalvojan hallintaa.

Yhteensopivuus ja tuki

HTTP-palvelimia käytetään yleensä UNIX-pohjaisissa käyttöjärjestelmissä, erityisesti avoimen lähdekoodin Linux-alustoilla. Tämä on nopeuden vuoksi, koska UNIXia pidetään tehokkaimpana käytettävissä olevan käyttöjärjestelmänä. Sekä Apache että NGINX voidaan asentaa suosittuihin Linux-jakeluihin, kuten Ubuntu tai BSD.

Apache tarjoaa myös täyden tuen Microsoft Windows Server -käyttöjärjestelmälle. NGINX voidaan määrittää toimimaan myös Windowsissa, mutta sen pidetään yleensä vähemmän vakaana. Jos organisaatiosi käyttää yksinomaan Windowsia verkkopalvelimillaan, Apache on looginen valinta.

Apachella on vankka online-dokumentointiportaali, joka sisältää julkaisutiedot, viiteoppaat, käyttöoppaat ja opetusohjelmat, joiden avulla saat Apache: n asennettuna pilviympäristöösi ja alat käyttää sitä verkkosovellukseen. NGINX tarjoaa samanlaista dokumentaatiovarastoa, joka kattaa peruskonfiguraation, sekä yksityiskohtaisemman kehitysoppaan.

Yhteenveto

Apache ja NGINX ovat molemmat erittäin suosittuja HTTP-palvelinratkaisuja nykypäivän pilvilaskennan maailmassa. Suurin osa Kanadan parhaista hosting-palveluista käyttää Apachea ja NGINX: ää.

Kummankin lisääminen kehityspinoon on viisas valinta, koska ne tarjoavat vakaan suorituskyvyn ja luotettavuuden.

Jos nopeus on etusijalla ja verkkosivustosi isännöi paljon staattista sisältöä, NGINX saattaa olla paras vaihtoehto. Siitä on tulossa myös suositeltavampi valinta kehitysryhmien keskuudessa, jotka rakentavat mikropalveluarkkitehtuuria, jossa on paljon alajärjestelmiä, jotka ovat vuorovaikutuksessa keskenään. Toisaalta pienet kehittäjät tai aloittelijat saattavat olla paremmin kiinni Apache-ohjelmistossa, koska se on helpompi asentaa ja se on esiasennettu kolmansien osapuolien ohjelmistopaketeilla, kuten LAMP.

Yksi asia on pidettävä mielessä, että sinun ei tarvitse valita Apache- ja NGINX-sovellusten välillä ja unohtaa toinen. Itse asiassa kahta ratkaisua käytetään hyvin usein rinnakkain parhaan mahdollisen web-hosting-kokemuksen tuottamiseksi. Kun NGINX on asetettu alkuperäiseksi verkkopalvelimeksi, pyynnöt voidaan käsitellä nopeasti ja lähettää Apache-työntekijälle sovelluksen lopussa. Sieltä Apache voi integroitua PHP: n tai muun skriptikielen kanssa Web-vastauksen valmistelemiseksi ja siirtämiseksi takaisin NGINX-kerrokseen.

Muista tehdä tutkimuksesi, kun valitset HTTP-palvelinratkaisun. Valitsemastasi järjestelmästä tulee osa verkkosivustosi tai sovelluksen selkärankaa ja sillä on kriittinen merkitys käyttäjien jokapäiväisessä kokemuksessa.

Saatat pitää myös:

  • Paras Web-hosting
  • Paras verkkosivustojen rakentaja

Viitteet ja kuvapisteet:

  • 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