Moodul 7 · 7.2
Mida e-pood majutuselt vajab
Moodul 7: Leitavus ja majutus · Lugemisaeg: 10 minutit
Õpieesmärk: Pärast seda õppetundi oskad hinnata, kas majutuspakett sobib WooCommerce’i poele, kontrollida ja muuta tähtsamaid PHP sätteid ning märgata, millal su pakett jääb väikeseks.
Põhimõisted: serverisoovitused, PHP versioon, WordPressi mälupiirang (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, andmebaas, objektivahemälu, protsessor (CPU), protsessid, 503, Resource Limit Is Reached, WooCommerce > Olek, kasvamine
E-pood on raskem kui tavaline sait
Tavaline WordPressi sait lehevahemäluga serveerib enamikule külastajatest salvestatud HTML-i. E-pood saab seda teha vaid pooleldi (õppetund 6.4): ostukorv, kassa ja Minu konto luuakse iga külastaja jaoks uuesti ning kui keegi paneb midagi ostukorvi, saab ta seansi ja vahemälu ei kehti tema jaoks sageli enam. Lisaks sellele:
- iga tellimus kirjutab andmebaasi (tellimus, read, aadressid, laoseis, märkmed);
- makseteenuse pakkuja teatab veebikonksu (webhook) kaudu, et makse on tehtud, ja see päring peab kiiresti vastuse saama;
- WooCommerce’il on ajastatud toimingud, mis töötavad taustal (õppetund 7.3);
- haldus (tellimused, aruanded, toodete muutmine) on raskem kui blogi puhul.
E-pood, mis töötab väikesel paketil kümne tellimusega päevas probleemideta, võib väljamüügi ajal sadade samaaegsete külastajatega kinni joosta. Seepärast tasub teada, milleks su pakett võimeline on.
Mida WooCommerce soovitab
WooCommerce avaldab soovitatavad serverisätted (seis novembris 2026, versioonile 10.8 ja uuematele):
| Osa | Soovitus |
|---|---|
| WordPress | 6.9 või uuem |
| PHP | 8.3 või uuem (testitud kuni 8.4-ni) |
| Andmebaas | MySQL 8.0 või uuem või MariaDB 10.6 või uuem |
| WordPressi mälupiirang | 256 MB või rohkem |
| HTTPS | kohustuslik |
Need on soovitused, mitte miinimum: plugin ise nõuab paigaldamiseks PHP 7.4. Vana PHP versiooniga e-pood on aga aeglasem ega saa enam turvauuendusi. Kuidas turvaliselt uuemale PHP versioonile üle minna, on kirjas WordPressi kursuse õppetunnis 8.4; e-poe puhul on protsess sama, ainult kassat ja maksmist testid testkeskkonnas (staging) eriti hoolikalt.
Kust näed, mis sul praegu on? Menüüs WooCommerce > Olek (süsteemi olek). Seal on WordPressi keskkonna all muu hulgas WordPressi mälupiirang ning Serveri keskkond all PHP versioon, PHP piirangud ja andmebaasi versioon. Probleemide korral küsib arendaja või plugina tugi sageli just seda aruannet; süsteemiaruande hankimise nupuga ("Get system report") kopeerid selle.
PHP sätted, millel on tähtsust
E-poe puhul puutud kõige sagedamini kokku nelja sättega:
- memory_limit (ja WP_MEMORY_LIMIT): kui palju töömälu võib üks PHP päring kasutada. Liiga vähe mälu annab valge lehe või teate "Allowed memory size exhausted", sageli aruannete, importimise või suure muutuva toote muutmise ajal. WooCommerce soovitab WordPressi mälupiiranguks 256 MB. WordPress kasutab failis wp-config.php olevat väärtust (
WP_MEMORY_LIMIT), kuid mitte kunagi rohkem, kui PHP ise lubab. - max_execution_time: kui kaua üks päring võib kesta. CSV-import või tuhande tellimuse eksport võib kesta kauem kui vaikeväärtus. Pigem impordi väiksemate osadena, kui sea piirang väga kõrgeks.
- max_input_vars: kui palju välju võib vorm saata. Paljude variatsioonidega muutuva toote või suure menüü puhul saadab haldus kaasa sadu välju. Kui piirang on liiga madal, visatakse viimased väljad vaikselt ära: klõpsad Uuenda, viga ei näe, kuid osa su variatsioone jäi salvestamata. Kui seda märkad, tõsta väärtust (näiteks 3000 või 5000 peale) või tee vähem variatsioone (õppetund 3.2).
- upload_max_filesize ja post_max_size: kui suur võib üleslaaditav fail olla. Oluline tootepiltide ja allalaaditavate toodete puhul (õppetund 3.3).
Enamiku majutajate juures muudad neid väärtusi juhtpaneelis. WebOké juures teed seda DirectAdminis oma paketi PHP sätete all (vaata KB 212 ja KB 200); teiste pakkujate juures käib see sarnaselt, mõnikord faili .user.ini või php.ini vaate kaudu. Muuda korraga ühte väärtust ja kontrolli menüüs WooCommerce > Olek, kas see rakendus.
Millal pakett jääb väikeseks
Jagatud majutuses on igal paketil piirid: kui palju protsessorit (CPU), kui palju mälu ja kui palju protsesse korraga. WebOké ja teiste CloudLinuxiga majutajate juures näed neid DirectAdminis oma paketi kasutuse all. Kui su e-pood need piirid ületab, saavad külastajad vea 503 või teate nagu "Resource Limit Is Reached". E-poe puhul on see eriti ebameeldiv: klient, kes just tahab maksta, või makseteenuse pakkuja veebikonks, mis vastust ei saa, mistõttu makstud tellimus jääb olekusse "Ootab maksmist".
Enne suurema paketi võtmist vaata, mis koormust põhjustab. Kõige sagedasemad põhjused e-poodides:
- lehevahemälu puudub või on valesti seadistatud (õppetund 6.4);
- robotid, mis käivad läbi filtreid, otsingutulemusi või
?add-to-cart=-linke; - WP-Cron iga külastuse ajal ja täis ajastatud toimingute järjekord (õppetund 7.3);
- rasked pluginad või teema, mis teeb igal lehel palju andmebaasipäringuid;
- objektivahemälu puudub (Redis), kuigi sisse logitud kliente on palju (õppetund 6.4).
Põhjuse leidmiseks aitavad paketi kasutusülevaade, logid ja mõne majutaja juures tööriist nagu PHP X-Ray, mis näitab lehe kaupa, milline funktsioon on aeglane (KB 227).
Kui e-pood on hästi seadistatud ja jõuad ikka piiridesse, on kasvamine põhjendatud: suurem pakett või oma server (VPS), kus otsustad ise, mitu PHP protsessi võib töötada. See samm nõuab ka rohkem haldust. Ära planeeri seda oma kõige kiiremasse nädalasse; testi kõigepealt uues kohas (õppetund 7.3).
Mis veel e-poe juurde kuulub
Lisaks PHP-le vajab e-pood majutuselt:
- HTTPS-i koos sertifikaadi automaatse uuendamisega (WordPressi kursus, õppetund 3.1);
- varukoopiaid, mis tehakse sinu tellimuste jaoks piisavalt sageli, koos taastamise testiga (õppetund 6.2);
- päris cron’i ajastatud ülesannete jaoks (õppetund 7.3);
- usaldusväärset e-posti või ühendust e-postiteenusega (õppetund 6.1);
- testkeskkonna (staging) võimalust (õppetund 7.3);
- piisavalt suurt andmebaasi: tellimused ja ajastatud toimingud kasvavad iga päev.
Theehuis Example alustas e-poodi tavalisel majutuspaketil. Pärast allahindlusega uudiskirja tuli tunniga rohkem liiklust kui tavaliselt nädalaga ja maksed jäid rippuma. Kasutusülevaates oli protsesside maksimaalne arv pidevalt täis. Põhjus: lehevahemälu oli pärast teema uuendamist välja lülitunud. Vahemälu lülitati uuesti sisse ja järgmine kampaania möödus ilma veata 503.
Kokkuvõte
- E-pood on raskem kui tavaline sait: dünaamilised lehed, andmebaasi kirjutamised, veebikonksud ja ajastatud toimingud.
- WooCommerce soovitab PHP 8.3+, MySQL 8.0+ või MariaDB 10.6+, mälupiiranguks 256 MB ja HTTPS-i; oma väärtusi näed menüüs WooCommerce > Olek.
- Jälgi sätteid memory_limit, max_execution_time, max_input_vars (paljude variatsioonide korral vaikne andmekadu) ja üleslaadimise piiranguid.
- Viga 503 või Resource Limit Is Reached tähendab, et paketi piirid on täis; otsi kõigepealt põhjus ja alles siis kasva.
Test (quiz)
Ülesanne
Ülesanne A7.2: Kas su PHP sobib WooCommerce’iga? Ava WooCommerce > Olek ja kirjuta üles PHP versioon (Serveri keskkond) ja WordPressi mälupiirang megabaitides (WordPressi keskkond). Sisesta oma e-poe aadress ja need kaks väärtust. Programm otsib su PHP versiooni haru üles php.net tabelist (millised versioonid saavad veel uuendusi) ja kontrollib, kas avaleht näitab päist X-Powered-By koos PHP versiooniga. Roheline, kui su haru on veel aktiivselt toetatud ja vähemalt 8.3 ning mälupiirang on vähemalt 256. Oranž, kui su haru saab ainult turvauuendusi, on madalam kui 8.3, kuid veel toetatud, kui mälupiirang on 128 ja 255 vahel või kui su sait näitab PHP versiooni päises. Punane, kui su haru ei saa enam uuendusi või on tundmatu, mälupiirang on alla 128 või päis näitab teist haru kui see, mille sisestasid ("kas serveris on mitu PHP versiooni?").
Küsimus endale (seda ei kontrollita): mis on menüüs WooCommerce > Olek kirjas sätte max_input_vars ja maksimaalse üleslaaditava faili suuruse juures? Kas sellest piisab su suurima toote ja suurima allalaaditava faili jaoks?
Lisalugemist
Need artiklid kirjeldavad samme WebOké juhtpaneelides; teistes paneelides käib see sarnaselt.
- PHP versiooni ja PHP seadete muutmine (ja mida teha, kui pärast uuendamist tekivad vead)
- Üleslaadimine ei õnnestu: suurenda väärtusi upload_max_filesize ja max_execution_time
- DirectAdmin juhend 14.1: PHP-versiooni valimine (Select PHP version)
- DirectAdmin Resource Usage ja aeglased veebilehed (Resource Limit Is Reached)
- DirectAdmin juhend 17.5: 503 ehk "Resource Limit Is Reached": mida teha?
- Tasuta WordPressi kursus 8.4: PHP versioonid ja uuendused
- Server requirements (woocommerce.com, inglise keeles): https://woocommerce.com/document/server-requirements/
