Kuinka Apache & Nginx -yhdistelmä toteutetaan Timewebissä
Monille yrityksille Nginx + Apache + PHP on hyvin tyypillinen ja yleinen yhdistelmä, eikä Timeweb ole poikkeus. Kuitenkin sen tarkan ymmärtäminen, miten se toteutetaan, voi olla mielenkiintoista ja hyödyllistä.
Tällaisen yhdistelmän käyttö määräytyy tietysti asiakkaidemme tarpeiden mukaan. Sekä Nginxillä että Apachella on erityinen rooli, kukin ratkaisee tietyn ongelman.
Perusasetukset Apache suoritetaan itse Apachen määritystiedostoissa, ja asiakassivustojen asetukset tehdään kautta .htaccess-tiedosto. .htaccess on asetustiedosto, jossa asiakas voi itsenäisesti määrittää web-palvelimen säännöt ja toiminnan. Tämä asetus koskee erityisesti hänen sivustoaan. Esimerkiksi Apache-toiminnallisuuden ansiosta käyttäjät voivat vaihtaa käyttötapaa samassa PHP-versiossa mod_php:stä mod_cgi:ksi; voit määrittää uudelleenohjauksia, optimoinnin SEO:lle, kätevän URL-osoitteen, joitain rajoituksia PHP:lle.
nginx käytetään välityspalvelimena liikenteen ohjaamiseen Apacheen ja verkkopalvelimena staattisen sisällön palvelemiseen. Olemme myös kehittäneet Nginxille suojausmoduuleja, joiden avulla voimme suojata käyttäjiemme tietoja esimerkiksi käyttöoikeuksien erottamiseksi.
Kuvitellaan, että käyttäjä vierailee asiakkaamme verkkosivustolla. Ensin käyttäjä pääsee Nginxiin, joka palvelee staattista sisältöä. Se tapahtuu välittömästi. Sitten, kun kyse on PHP:n lataamisesta, Nginx välittää pyynnön Apachelle. Ja Apache yhdessä PHP:n kanssa tuottaa jo dynaamista sisältöä.
Timewebin Apache & Nginx -paketin ominaisuudet
Virtuaalihosting-palvelumme toteuttaa 2 pääkäyttöjärjestelmää Apachelle ja Nginxille: Jaettu ja omistettu.
Jaettu kaava
Tätä järjestelmää käytetään useimmille käyttäjille. Se erottuu yksinkertaisuudestaan ja resurssiintensiivisyydestään: Shared-järjestelmä käyttää vähemmän resursseja, minkä vuoksi sen tariffi on halvempi. Tämän mallin mukaan palvelin käyttää yhtä Nginxiä, jonka avulla se voi palvella kaikkia käyttäjien pyyntöjä ja useita Apache-esiintymiä.
Shared-järjestelmä on parantunut pitkään: pikkuhiljaa korjasimme puutteet. Kätevästi se voidaan tehdä ilman, että lähdekoodia tarvitsee muokata.
Jaettu kaava
Omistettu järjestelmä
Dedicated vaatii enemmän resursseja, joten sen tariffi on kalliimpi asiakkaille. Dedicated-järjestelmässä jokainen asiakas saa oman erillisen Apachen. Resurssit tässä on varattu asiakkaalle, ne jaetaan yksinomaan. Kuinka se toimii: Palvelimella on useita PHP-versioita. Tuemme versioita 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Joten jokaiselle PHP-versiolle käynnistetään oma Apache.
Omistettu järjestelmä
Turvallinen alue. Vyöhykkeiden asettaminen Nginxissä
Aiemmin Nginxissä käytimme monia jaettuja muistivyöhykkeitä (vyöhykkeitä) - yksi palvelinlohko verkkotunnusta kohden. Tämä asennus vaatii paljon resursseja, koska jokaiselle sivustolle luodaan erillinen vyöhyke. Nginx-asetuksissa useimmat sivustot ovat kuitenkin samantyyppisiä, joten ne voidaan sijoittaa yhteen vyöhykkeeseen moduulin karttaohjeiden käytön ansiosta ngx_http_map_module, joiden avulla voit määrittää vastaavuuksia. Meillä on esimerkiksi vyöhykemalli, johon meidän on syötettävä muuttujat: polku sivustolle, PHP-versio, käyttäjä. Siten Nginx-kokoonpanon uudelleenluku, eli uudelleenlataus, nopeutui.
Tämä kokoonpano säästää huomattavasti RAM-resursseja ja nopeuttaa Nginxiä.
Uudelleenlataus ei toimi!
Jaetussa järjestelmässä pääsimme eroon tarpeesta ladata Apache uudelleen verkkosivuston asetuksia muutettaessa. Aikaisemmin, kun yksi asiakas halusi lisätä verkkotunnuksen tai muuttaa PHP-versiota, Apachen pakollinen uudelleenlataus vaadittiin, mikä johti vastausten viivästymiseen ja heikensi sivuston suorituskykyä.
Pääsimme eroon uudelleenlatauksista luomalla dynaamisia kokoonpanoja. Kiitokset
Jaetun skeeman määritys
Entä Docker?
Monet yritykset ovat siirtyneet konttipohjaiseen järjestelmään. Timeweb harkitsee parhaillaan tällaisen siirtymän mahdollisuutta. Tietysti jokaisessa päätöksessä on hyvät ja huonot puolensa.
Kiistattomien etujen lisäksi konttijärjestelmä tarjoaa käyttäjälle vähemmän resursseja. Timewebissä kuvatun isännöintijärjestelmän ansiosta käyttäjällä ei ole rajoituksia RAM-muistissa. Se vastaanottaa enemmän resursseja kuin säiliössä. Lisäksi käyttäjällä voi olla useampia Apache-moduuleja ladattuina.
Timeweb tukee noin 500 000 verkkosivustoa. Otamme suuren vastuun emmekä tee välittömiä, perusteettomia muutoksia monimutkaiseen arkkitehtuuriin. Apache & Nginx -yhdistelmä on luotettava ja aika-testattu. Pyrimme puolestaan saavuttamaan maksimaalisen suorituskyvyn ainutlaatuisilla kokoonpanoilla.
Laadukkaan ja nopean suuren määrän sivustoja varten sinun on käytettävä Apachen ja Nginxin mallia ja dynaamisia määrityksiä. Sen avulla voit helposti ja nopeasti hallita suurta määrää samankaltaisia palvelimia.
Lähde: will.com