Direttorju tal-Artikoli
Server wieħed li jħaddem diversiWordPressSit elettroniku li juża Memcached qed jikkawża problemi ta' kitba żejda tad-dejta jew crosstalk?
Dan l-artiklu jipprovdi gwida pass pass dwar kif tiżola perfettament id-dejta tal-cache temporanja u tal-oġġetti f'siti differenti billi tikkonfigura prefiss tal-cache separat (WP_CACHE_KEY_SALT) u skripts tal-cache tal-oġġetti.
100% jelimina l-kunflitti tad-dejta, u b'hekk jippermetti lil diversi siti jgawdu l-aqwa esperjenza ta' aċċelerazzjoni fil-livell tal-memorja simultanjament, u jinkludi pariri dwar is-sigurtà biex jipprevjeni n-nases f'ambjenti ta' produzzjoni!
Ftit jiem ilu, ħabib staqsieni dwar it-tliet websajts WordPress tiegħu li jaħdmu fuq is-server tiegħu. Ried jikkonfigura Memcached biex iħaffefhom, iżda kien inkwetat li d-dejta titħawwad.
Dak il-ħin iddaħqt għax kont waqajt f’din in-nassa jien stess.

Onestament, Memcached huwa faċli ħafna biex twaqqaf għal sit wieħed, iżda jsir interessanti meta niġu għal diversi siti li jeżistu flimkien. Għaliex?
B'mod awtomatiku, Memcached ipoġġi l-caches temporanji u tal-oġġetti tal-websajts kollha fl-istess pool. Immaġina kieku l-websajts A u B jużaw l-istess cache key—dan jikkawża kaos. Id-dejta ta' A tissostitwixxi direttament dik ta' B, u ż-żewġ websajts jibdew "jinterferixxu" mad-dejta ta' xulxin.
Dak li ltqajt miegħu kien saħansitra aktar umoristiku, wieħedKummerċ elettronikuIl-paġna tad-dettalji tal-prodott tal-websajt kienet qed turi kontenut ta' artiklu minn blog ieħor. Bqajt ixxukkjat u staqsejt lili nnifsi, "X'inhu dan???"
Domt lejl sħiħ biex nifhem; irriżulta li kien kunflitt taċ-ċavetta tal-cache.
Għalhekk illum qed naqsam il-metodu ta' konfigurazzjoni tiegħi bit-tama li jista' jgħin lil ħbieb bl-istess bżonnijiet. Għadni qed nesplorah jien stess, u xi wħud mill-ideat tiegħi jistgħu ma jkunux żviluppati għalkollox, iżda dan il-metodu ħadem tajjeb għalija.
Tħejjija tal-ambjent tas-server
Qabel ma tibda tikkonfigura WordPress, trid tiżgura li s-server għandu s-servizz Memcached u l-estensjoni PHP Memcached installata.
Kif tinstalla Memcached f'HestiaCP?
Jekk nieħdu Ubuntu bħala eżempju, jinvolvi biss tliet linji ta' kmandi.
sudo apt update
sudo apt install memcached php-memcached
sudo systemctl restart php8.x-fpm # 根据你的 PHP 版本改Wara l-installazzjoni, ftakar li tiċċekkja jekk is-servizz Memcached hux qed jaħdem.
sudo systemctl status memcachedJekk tara "attiv (qed jaħdem)," ifisser li m'hemm l-ebda problema.
Jekk jogħġbok innota li l-ismijiet tal-pakketti jistgħu jvarjaw bejn sistemi differenti. Dan il-kmand ġeneralment jintuża fuq sistemi Debian. Jekk... CentOS Għal distribuzzjonijiet oħra, jista' jkollok bżonn tuża yum jew dnf biex tinstallahom.
Dak iż-żmien kont qed nuża Ubuntu 20.04, u l-proċess kollu mexa bla xkiel.
Operazzjoni ewlenija: Ikkonfigura l-prefiss tal-cache
Dan il-pass huwa r-ruħ tal-konfigurazzjoni kollha u ċ-ċavetta biex tiġi evitata l-konfużjoni tad-dejta.
Jeħtieġ li żżid prefiss uniku tal-cache mal-fajl wp-config.php fid-direttorju ewlieni ta' kull websajt ta' WordPress.
Iftaħ il-fajl wp-config.php tal-ewwel websajt u sib din il-linja ta' kummenti.
/* That's all, stop editing! Happy blogging. */F'din l-industrija上方Żid ma'
// 网站 A 的配置
define( 'WP_CACHE_KEY_SALT', 'site1_unique_string_' );Imbagħad iftaħ il-fajl wp-config.php fuq it-tieni websajt u żid konfigurazzjoni simili.
// 网站 B 的配置
define( 'WP_CACHE_KEY_SALT', 'site2_unique_string_' );Qed ngħidlek, is-sekwenza wara WP_CACHE_KEY_SALT trid tkun...Assolutament unikuIva. Nissuġġerilek li tuża l-isem tad-dominju tal-websajt jew l-abbrevjazzjoni tiegħu direttament, bħal site1_com_ jew site2_net_.
Kont għażżien u nuża n-numri, imma tliet xhur wara nsejt kompletament liema numru kien jikkorrispondi ma' liema websajt, u kelli nfittexhom wieħed wieħed, li kienet uġigħ ta' ras veru.
Aħseb ftit: Memcached jaħdem billi jaħżen u jirkupra d-dejta bbażata fuq iċ-ċwievet tal-cache. Jekk tissettja prefiss uniku għal kull websajt, id-dejta tagħhom naturalment se tkun iżolata u mhux se tinterferixxi ma' xulxin.
Dan huwa bħallikieku qed tagħti lil kull websajt il-locker tagħha stess. Għalkemm kollha jinsabu fl-istess kamra, iċ-ċwievet huma differenti, għalhekk id-dejta ma titħallatx.
Ippermetti l-caching tal-oġġetti
Wara li tikkonfigura l-prefiss, il-pass li jmiss huwa li tippermetti lil WordPress juża Memcached.
Hemm żewġ għażliet hawn, u ppruvajthom it-tnejn. Kull waħda għandha l-vantaġġi tagħha.
Għażla 1: Metodu ta' plugin (l-aktar faċli)
Idħol fil-pannell tal-amministrazzjoni ta' WordPress u installa plugin tal-caching li jappoġġja Memcached.
Rakkomandat W3 Totali CacheL-istabbiltà hija tajba. Wara l-installazzjoni, fis-settings tal-plugin, agħżel Memcached bħala t-tip ta' cache, daħħal 127.0.0.1 bħala l-indirizz tas-server, u daħħal il-port default 11211, imbagħad issalva.
Jekk trid soluzzjoni aktar pura, tista' tinstallaha direttament. Cache tal-Oġġett Memcached Dan il-plugin huwa ddisinjat speċifikament għal dan il-għan; m'għandux funzjonijiet oħra varji.
Biex inkun onest, għall-ewwel ħsibt li l-approċċ tal-plugin kien pjuttost tajjeb, peress li huwa konvenjenti. Imma aktar tard skoprejt li xi plugins jiġu b'għadd ta' karatteristiċi li ma neħtieġx, u dejjem ninkwieta dwar l-aġġornamenti, nibża' li f'daqqa waħda jżidu xi karatteristika li tħawwad il-konfigurazzjoni tiegħi.
Għażla 2: Implimenta object-cache.php manwalment (aktar kontrollabbli)
Jekk int xi ftit perfezzjonista bħali u ma tridx tinstalla wisq plugins, tista' tuża din is-soluzzjoni.
Niżżel mir-repożitorju uffiċjali tal-plugin ta' WordPress. Cache tal-Oġġett Memcached Dan il-plugin, jew tista' ssib l-aħħar fajl object-cache.php fuq GitHub. Imbagħad, ittella' l-fajl object-cache.php estratt fid-direttorju wp-content ta' kull websajt permezz ta' FTP jew SSH.
Innota li huwa d-direttorju ewlieni ta' wp-content, mhux is-subdirettorju tal-plugins.
Wara li żżidu, WordPress awtomatikament jagħraf u jattiva l-cache. M'għandekx bżonn tikkonfigura xejn, għax se jaqra l-WP_CACHE_KEY_SALT li ssettjajt qabel f'wp-config.php.
Ridt niffranka l-ħin, għalhekk użajt din is-soluzzjoni l-aktar għax hija kontrollabbli. Jekk tinqala' problema, naf fejn għandi nfittex soluzzjonijiet, u mhux se ninqabad fuq sieq waħda mill-aġġornamenti awtomatiċi tal-plugin.
Ivverifika li l-konfigurazzjoni hija effettiva.
Wara li tkun lestejt tipprepara l-kampjun, żgur li trid tkun taf jekk kienx ta' suċċess, hux?
L-aktar mod sempliċi huwa li tiċċekkja l-istatus ta' Memcached. Qabbad billi tuża telnet jew nc tools.
echo "stats" | nc 127.0.0.1 11211Imbagħad se tara għadd ta' statistiċi. Oqgħod attent b'mod speċjali għall-valuri ta' `cmd_set` u `get_hits`, u aġġorna l-paġna ftit drabi biex tara jekk humiex qed jiżdiedu. Jekk iva, ifisser li l-cache qed jaħdem sew.
Mod ieħor aktar intuwittiv biex tivverifika dan huwa li tiftaħ iż-żewġ websajts simultanjament u tara jekk jinterferixxux ma' xulxin. Jekk il-websajt A ma turiex kontenut mill-websajt B, allura bażikament ifisser li l-prefiss qed jaħdem.
Dak iż-żmien għamilt test saħansitra aktar rigoruż. Issettjajt valuri temporanji differenti fuq żewġ websajts differenti u mbagħad użajt l-għodda nc biex nistaqsi direttament id-dejta f'Memcached. Stajt fil-fatt nara żewġ pari ta' ċavetta-valur b'prefissi differenti, mingħajr ebda konfużjoni.
Dak il-ħin, verament ħassejt li kont wettaqt xi ħaġa kbira, u sempliċement meta naħseb dwarha jġegħelni nħossni tal-ġenn.
Tinjorax kwistjonijiet ta' sigurtà
Peress li l-websajts kollha jaqsmu istanza waħda ta' Memcached, hemm riskju ta' sigurtà li għandek tkun konxju tiegħu.
Fit-teorija, jekk utenti oħra jkunu fuq is-server, jistgħu jaqraw id-dejta tiegħek fil-cache permezz ta' port lokali. Filwaqt li dan jirrikjedi ċertu livell ta' kompetenza teknika, dejjem ikun għaqli li toqgħod attent.
Għalhekk, trid tiżgura li l-Memcached tiegħek qed jaħdem sew. Qatt m'għandek tisma' indirizzi IP pubbliċi.Fil-fajl ta' konfigurazzjoni `/etc/memcached.conf`, kun żgur li din il-linja hija preżenti.
-l 127.0.0.1B'dan il-mod, Memcached jisma' biss l-indirizz lokali tal-loopback u mhux se jkun aċċessibbli minn barra.
Jekk għandek rekwiżiti ta' sigurtà għoljin ħafna, jew jekk is-server tiegħek jospita websajts li utenti oħra mhumiex komdi bihom, nissuġġerilek li tikkunsidra li tuża Redis minflok Memcached. Redis jappoġġja l-iżolament ta' diversi databases u l-verifika tal-password, u b'hekk jagħmilha ħafna aktar sigura.
Madankollu, Redis huwa kemxejn aktar kumpless biex jiġi kkonfigurat minn Memcached. Jekk qed tużah biss għal skopijiet personali jew ta' tim żgħir, Memcached bil-limitu ta' smigħ ta' 127.0.0.1 huwa bażikament biżżejjed.
Xi nases li nqalgħu
Fl-aħħar nett, ħa naqsam magħkom ftit nases li ltqajt magħhom, bit-tama li ngħinkom tevitaw xi dawriet.
Il-verżjoni tal-estensjoni PHP trid tkun kompatibbli.Qabel iltqajt ma' sitwazzjoni fejn installajt l-estensjoni php-memcached, iżda WordPress ma għarafhiex. Aktar tard skoprejt li kien minħabba nuqqas ta' qbil fil-verżjoni tal-PHP. Kun żgur li tiċċekkja l-verżjoni tal-PHP tiegħek bir-reqqa meta tinstalla estensjonijiet biex tevita li tinstalla dik ħażina.
Kun żgur li l-mogħdija tal-fajl object-cache.php hija korretta.Kun żgur li tpoġġih fid-direttorju ewlieni ta' wp-content, mhux fid-direttorju tal-plugins. Ħabib tiegħi poġġieh fil-post ħażin u qatta' ħafna ħin jipprova jirranġah mingħajr suċċess.
Tużax string qasira wisq għall-prefiss tal-cache.Għall-ewwel użajt a_ jew b_, imma aktar tard sibt li kienu qosra wisq u faċilment kienu jikkonflittaw mal-cache keys ta' WordPress stess. Għandek tal-inqas tuża string każwali ta' seba' jew tmien karattri jew abbrevjazzjoni ta' dominju.
Ftakar li tneħħi l-cache għaż-żewġ websajts.Darba waħda, neħħejt il-cache ta' websajt waħda biss, iżda l-websajt l-oħra xorta żammet id-dejta l-qadima, u dan wassal biex il-kontenut taż-żewġ websajts ma kienx konsistenti. Domt ħafna biex niskopri x'inhi l-problema.
Biex inkun onest, ma nafx jekk dawn l-esperjenzi humiex se jkunu utli għal kulħadd, imma jien qsamthom mingħajr riżervi.
ikteb fl-aħħar
Il-konfigurazzjoni ta' Memcached għal siti multipli mhijiex teknikament ikkumplikata; il-kwistjoni ewlenija hija l-konfigurazzjoni tal-prefiss tal-cache. Madankollu, id-dettalji huma kruċjali. Kwistjonijiet bit-tqabbil tal-verżjonijiet, il-mogħdijiet tal-fajls, u l-konfigurazzjonijiet tas-sigurtà jistgħu jikkawżawlek problemi konsiderevoli.
Ilni nuża dan il-metodu għal kważi sena issa, inħaddem tliet siti ta' WordPress, u s'issa ma ltqajtx ma' problemi kbar. Jekk qed tagħmel xi ħaġa simili, forsi trid tipprovaha.
Mill-mod, jekk għandek xi soluzzjonijiet aħjar jew iltqajt ma' xi nases interessanti, tħossok liberu li tħalli kumment u taqsamhom. Nixtieq nitgħallem mingħandek.
Wara kollox, iktar ma n-nies ikunu jafu dwar dan, inqas nies jaqgħu fin-nassa, hux?
Ladarba qrajt s'hawn, jekk sibtha utli, jekk jogħġbok agħti like u aqsamha. Jekk trid tirċievi aġġornamenti l-ewwel, tista' wkoll issegwini!
Grazzi talli qrajt l-artiklu tiegħi. Narak id-darba li jmiss.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ L-artiklu "Kif taqsam Memcached ma' diversi websajts ta' WordPress fuq l-istess server? Il-gwida aħħarija għall-konfigurazzjoni biex tevita żbalji ta' 100%" maqsum hawn jista' jkun ta' għajnuna għalik.
Merħba biex taqsam il-link ta' dan l-artikolu:https://www.chenweiliang.com/cwl-34368.html
