Apache un Nginx. Savienots ar vienu ķēdi

Kā Apache un Nginx kombinācija tiek ieviesta Timeweb

Daudziem uzņēmumiem Nginx + Apache + PHP ir ļoti tipiska un izplatīta kombinācija, un Timeweb nav izņēmums. Tomēr saprast, kā tieši tas tiek īstenots, var būt interesanti un noderīgi.

Apache un Nginx. Savienots ar vienu ķēdi

Šādas kombinācijas izmantošanu, protams, nosaka mūsu klientu vajadzības. Gan Nginx, gan Apache spēlē īpašu lomu, un katrs atrisina noteiktu problēmu.

pamata iestatījumi Apache tiek veiktas pašas Apache konfigurācijas failos, un klientu vietņu iestatījumi tiek veikti caur .htaccess fails. .htaccess ir konfigurācijas fails, kurā klients var neatkarīgi konfigurēt tīmekļa servera noteikumus un darbību. Šis iestatījums attieksies tieši uz viņa vietni. Piemēram, pateicoties Apache funkcionalitātei, lietotāji var mainīt darbības režīmu tajā pašā PHP versijā no mod_php uz mod_cgi; varat iestatīt novirzīšanu, optimizāciju SEO, ērtu URL, dažus PHP ierobežojumus.

Nginx izmanto kā starpniekserveri, lai novirzītu trafiku uz Apache un kā tīmekļa serveri statiska satura apkalpošanai. Mēs esam izstrādājuši arī Nginx drošības moduļus, kas ļauj aizsargāt mūsu lietotāju datus, piemēram, lai atdalītu piekļuves tiesības.

Iedomāsimies, ka lietotājs apmeklē mūsu klienta vietni. Pirmkārt, lietotājs nokļūst Nginx, kas apkalpo statisku saturu. Tas notiek uzreiz. Pēc tam, kad runa ir par PHP ielādi, Nginx pārsūta pieprasījumu Apache. Un Apache kopā ar PHP jau ģenerē dinamisku saturu.

Apache un Nginx komplekta funkcijas Timeweb

Mūsu virtuālais hostings ievieš 2 galvenās Apache un Nginx darbības shēmas: Dalīts un veltīts.

Kopīga shēma

Šo shēmu izmanto lielākajai daļai lietotāju. Tā izceļas ar vienkāršību un resursu intensitāti: Shared shēma patērē mazāk resursu, tāpēc tās tarifs ir lētāks. Saskaņā ar šo shēmu serveris darbina vienu Nginx, kas ļauj apkalpot visus lietotāju pieprasījumus un vairākus Apache gadījumus.

Shared shēma ir uzlabojusies jau ilgu laiku: pakāpeniski mēs labojām trūkumus. Ērti to var izdarīt bez nepieciešamības modificēt avota kodu.

Apache un Nginx. Savienots ar vienu ķēdi
Kopīga shēma

Īpaša shēma

Dedicated prasa vairāk resursu, tāpēc tā tarifs klientiem ir dārgāks. Dedicated shēmā katrs klients saņem savu atsevišķu Apache. Resursi šeit ir rezervēti klientam, tie tiek piešķirti tikai un vienīgi. Kā tas darbojas: serverī ir vairākas PHP versijas. Mēs atbalstām versijas 5.3, 5.4, 5.6, 7.1, 7.2, 7.3, 7.4. Tātad katrai PHP versijai tiek palaists savs Apache.

Apache un Nginx. Savienots ar vienu ķēdi
Īpaša shēma

Droša zona. Zonu iestatīšana Nginx

Iepriekš Nginx mēs izmantojām daudzas koplietojamās atmiņas zonas (zonas) - vienu servera bloku katrā domēnā. Šī iestatīšana prasa daudz resursu, jo katrai vietnei tiek izveidota atsevišķa zona. Tomēr Nginx iestatījumos lielākā daļa vietņu ir viena veida, tāpēc tās var ievietot vienā zonā, pateicoties kartes direktīvu izmantošanai modulī ngx_http_map_module, kas ļauj norādīt atbilstības. Piemēram, mums ir zonas veidne, kurā mums jāiesniedz mainīgie: ceļš uz vietni, PHP versija, lietotājs. Tādējādi tika paātrināta Nginx konfigurācijas atkārtota lasīšana, tas ir, atkārtota ielāde.

Šī konfigurācija ievērojami ietaupīja RAM resursus un paātrināja Nginx.

Pārlādēšana nedarbosies!

Koplietotajā shēmā mēs atbrīvojāmies no nepieciešamības atkārtoti ielādēt Apache, mainot vietnes iestatījumus. Iepriekš, kad viens klients vēlējās pievienot domēnu vai mainīt PHP versiju, bija nepieciešama obligāta Apache atkārtota ielāde, kas izraisīja atbilžu aizkavēšanos un negatīvi ietekmēja vietnes veiktspēju.

Mēs atbrīvojāmies no pārlādēšanas, izveidojot dinamiskas konfigurācijas. Pateicoties mpm-itk (Apache modulis), katrs process darbojas kā atsevišķs lietotājs, kas paaugstina drošības līmeni. Šī metode ļauj pārsūtīt datus par lietotāju un viņa document_root no Nginx uz Apache2. Tādējādi Apache nesatur vietņu konfigurācijas, tas saņem tās dinamiski, un atkārtota ielāde vairs nav nepieciešama.

Apache un Nginx. Savienots ar vienu ķēdi
Koplietojama shēmas konfigurācija

Kā ar Dokeru?

Daudzi uzņēmumi ir pārgājuši uz konteineru sistēmu. Timeweb šobrīd apsver šādas pārejas iespēju. Protams, katram lēmumam ir plusi un mīnusi.

Līdzās nenoliedzamām priekšrocībām konteineru sistēma nodrošina lietotājam mazāk resursu. Timeweb, pateicoties aprakstītajai hostinga shēmai, lietotājam nav RAM ierobežojumu. Tas saņem vairāk resursu nekā konteinerā. Turklāt lietotājam var būt ielādēts vairāk Apache moduļu.

Timeweb nodrošina aptuveni 500 000 vietņu. Mēs uzņemamies lielu atbildību un neveicam tūlītējas, nepamatotas izmaiņas sarežģītajā arhitektūrā. Apache un Nginx kombinācija ir uzticama un pārbaudīta laika gaitā. Mēs savukārt cenšamies sasniegt maksimālu veiktspēju, izmantojot unikālas konfigurācijas.

Lai kvalitatīvi un ātri darbotos liels skaits vietņu, jums ir jāizmanto Apache un Nginx veidne un dinamiska konfigurācija. Tas ļauj viegli un ātri administrēt lielu skaitu līdzīgu serveru.

Avots: www.habr.com

Pievieno komentāru