Articulu Directory
Un unicu servitore chì esegue parechji siti web WordPress chì spartenu Memcached causa prublemi di sovrascrittura di dati o di cunnessione incrociata?
Questu articulu furnisce una guida passu à passu nantu à cumu isolà perfettamente i dati di cache transitori è d'uggetti in diversi siti cunfigurà un prefissu di cache separatu (WP_CACHE_KEY_SALT) è script di cache d'uggetti.
Elimina à 100% i cunflitti di dati, permettendu à parechji siti di gode di l'esperienza di accelerazione definitiva à livellu di memoria simultaneamente, è include cunsiglii di sicurezza per prevene e trappule in l'ambienti di pruduzzione!
Qualchi ghjorni fà, un amicu m'hà dumandatu di i so trè siti web WordPress chì funzionavanu nant'à u so servitore. Vulìa cunfigurà Memcached per accelerà li, ma era preoccupatu chì i dati fussinu mischiati.
Aghju risu in quellu mumentu perchè eru cascatu ancu eiu in sta trappula.

Onestamente, Memcached hè incredibilmente faciule da cunfigurà per un situ unicu, ma diventa interessante quandu si tratta di parechji siti chì coesistenu. Perchè?
Per difettu, Memcached mette tutte e cache transitorie è d'uggetti di i siti web in u listessu pool. Imaginate s'è i siti web A è B utilizanu a listessa chjave di cache, questu causerebbe u caosu. I dati di A sovrascriverebbenu direttamente quelli di B, è i dui siti web cumincerebbenu à "interferisce" cù i dati di l'altri.
Ciò chì aghju scontru era ancu più ridiculu: una pagina di dettagli di un pruduttu nantu à un situ web di e-commerce mostrava u cuntenutu di un articulu da un altru situ web di blog. Eru cumpletamente stupitu, pensendu: "Chì hè questu?!"
M'hà pigliatu una notte sana per capiscelu; si hè rivelatu esse un cunflittu di chjave di cache.
Cusì oghje spartigu u mo metudu di cunfigurazione cù a speranza chì possa aiutà l'amichi cù i stessi bisogni. U stò sempre esplorendu da per mè, è alcune di e mo idee ùn sò micca forse cumpletamente sviluppate, ma questu metudu hà funzionatu bè per mè.
Preparazione di l'ambiente di u servitore
Prima di principià à cunfigurà WordPress, duvete assicurà chì u servitore abbia u serviziu Memcached è l'estensione PHP Memcached installata.
Cumu installu Memcached cù HestiaCP?
Pigliendu Ubuntu cum'è esempiu, implica solu trè linee di cumandamenti.
sudo apt update
sudo apt install memcached php-memcached
sudo systemctl restart php8.x-fpm # 根据你的 PHP 版本改Dopu l'installazione, ricordatevi di verificà se u serviziu Memcached hè in esecuzione.
sudo systemctl status memcachedSè vo vede "attivu (in corsu)", significa chì ùn ci hè micca prublema.
Nutate bè chì i nomi di i pacchetti ponu differisce secondu i sistemi. Per i sistemi basati nantu à Debian, questu cumandamentu hè generalmente adupratu; tuttavia, per CentOS o altre distribuzioni, pudete avè bisognu di aduprà yum o dnf per installà.
Aghju utilizatu Ubuntu 20.04 à l'epica, è tuttu u prucessu hè andatu abbastanza bè.
Operazione principale: Cunfigurà u prefissu di a cache
Questu passu hè l'anima di tutta a cunfigurazione è a chjave per impedisce a cunfusione di dati.
Avete bisognu d'aghjunghje un prefissu di cache unicu à u schedariu wp-config.php in u cartulare radice di ogni situ web WordPress.
Aprite u schedariu wp-config.php di u primu situ web è truvate sta linea di cumenti.
/* That's all, stop editing! Happy blogging. */Aghjunghje sopra à sta linea
// 网站 A 的配置
define( 'WP_CACHE_KEY_SALT', 'site1_unique_string_' );Dopu, apre u schedariu wp-config.php nant'à u secondu situ web è aghjunghje una cunfigurazione simile.
// 网站 B 的配置
define( 'WP_CACHE_KEY_SALT', 'site2_unique_string_' );Vi dicu, a stringa chì seguita WP_CACHE_KEY_SALT deve esse assolutamente unica . Vi cunsigliu di utilizà u nome di duminiu di u vostru situ web o l'abbreviazione, cum'è site1_com_ o site2_net_.
Era pigru è aduprava numeri, ma trè mesi dopu aghju scurdatu cumpletamente quale numeru currispundia à quale situ web, è aghju avutu à cercalli unu per unu, ciò chì era un veru mal di testa.
Pensateci: Memcached funziona almacenendu è recuperendu dati basati nantu à e chjave di cache. Sè vo definite un prefissu unicu per ogni situ web, i so dati saranu naturalmente isolati è ùn interferiscenu micca trà di elli.
Questu hè cum'è dà à ogni situ web u so propiu armadiu. Ancu s'elli sò tutti in a listessa stanza, e chjave sò diverse, dunque i dati ùn si mischieranu micca.
Attivà a cache di l'uggetti
Dopu avè cunfiguratu u prefissu, u prossimu passu hè di permette à WordPress di utilizà Memcached.
Ci sò duie opzioni quì, è aghju pruvatu tramindui. Ognuna hà i so vantaghji.
Opzione 1: Metudu di plugin (u più senza prublemi)
Cunnettatevi à u pannellu d'amministrazione di WordPress è installate un plugin di caching chì supporta Memcached.
Vi cunsigliu d'utilizà W3 Total Cache ; hè abbastanza stabile. Dopu l'installazione, in i paràmetri di u plugin, selezziunate Memcached cum'è tipu di cache, inserite 127.0.0.1 per u servitore, è u portu predefinitu 11211, dopu salvate.
Sè vo vulete una suluzione più pura, pudete installà direttamente u plugin Memcached Object Cache , chì hè dedicatu à questu compitu è ùn hà micca altre funzioni varie.
À dì a verità, aghju pensatu inizialmente chì l'approcciu di u plugin era abbastanza bonu, postu chì hè cunveniente. Ma dopu aghju scupertu chì certi plugins venenu cun un inseme di funziunalità chì ùn aghju micca bisognu, è sò sempre preoccupatu per l'aghjurnamenti, per paura ch'elli aghjunghjenu di colpu qualchì funziunalità chì sfascia a mo cunfigurazione.
Opzione 2: Implementà manualmente object-cache.php (più cuntrullabile)
Sè vo site un pocu perfezionistu cum'è mè è ùn vulete micca installà troppu plugins, pudete aduprà sta suluzione.
Scaricate u plugin Memcached Object Cache da u repositoriu ufficiale di plugin WordPress, o truvate l'ultimu schedariu object-cache.php nant'à GitHub. Dopu, caricate u schedariu object-cache.php estrattu in u cartulare wp-content di ogni situ web via FTP o SSH.
Nutate bè chì hè u cartulare principale di wp-content, micca u sottucartulare di i plugins.
Dopu avè aghjuntu, WordPress ricunnoscerà è attiverà automaticamente a cache. Ùn avete bisognu di cunfigurà nunda, perchè leghjerà u WP_CACHE_KEY_SALT chì avete stabilitu prima in wp-config.php.
Vulìa risparmià tempu, allora aghju utilizatu sta suluzione soprattuttu perchè hè cuntrullata. S'ellu ci hè un prublema, so induve circà suluzioni, è ùn seraghju micca pigliatu di sorpresa da l'aghjurnamenti automatichi di u plugin.
Verificate chì a cunfigurazione sia efficace.
Dopu avè finitu di preparà u campione, vulete sicuramente sapè s'ellu hè statu un successu, nò?
U modu u più simplice hè di verificà u statu di Memcached. Cunnette vi cù telnet o strumenti nc.
echo "stats" | nc 127.0.0.1 11211Dopu viderete un inseme di statistiche. Fate una attenzione particulare à i valori di `cmd_set` è `get_hits`, è rinfrescate a pagina qualchì volta per vede s'elli stanu aumentendu. S'elli sò, significa chì a cache funziona currettamente.
Un altru modu più intuitivu per verificà questu hè di apre i dui siti web simultaneamente è vede s'elli interferiscenu trà di elli. Se u situ web A ùn mostra micca u cuntenutu di u situ web B, allora significa basicamente chì u prefissu funziona.
Aghju fattu una prova ancu più rigorosa à l'epica. Aghju stabilitu valori transitori diversi nantu à dui siti web diversi è dopu aghju utilizatu u strumentu nc per interrogà direttamente i dati in Memcached. Puderaghju in effetti vede duie coppie chjave-valore cù prefissi diversi, senza alcuna cunfusione.
In quellu mumentu, aghju veramente avutu a sensazione d'avè rializatu qualcosa di grande, è solu pensà ci mi face sentì maravigliosu.
Ùn trascurate micca i prublemi di sicurezza
Siccomu tutti i siti web spartenu una sola istanza Memcached, ci hè un risicu di sicurezza chì duvete esse cuscenti.
In teoria, s'è altri utilizatori sò nant'à u servitore, puderanu leghje i vostri dati in cache per mezu di un portu lucale. Mentre questu richiede un certu livellu di cumpetenze tecniche, hè sempre saggiu esse prudente.
Dunque, duvete assicurà chì u vostru serviziu Memcached ùn ascolti assolutamente micca l'indirizzi IP publichi . Assicuratevi chì sta linea sia presente in u schedariu di cunfigurazione `/etc/memcached.conf`.
-l 127.0.0.1Cusì, Memcached ascultarà solu l'indirizzu di loopback lucale è ùn serà micca accessibile da fora.
Sè vo avete esigenze di sicurezza estremamente elevate, o sè u vostru servitore ospita siti web chì altri utilizatori ùn sò micca à l'aise, vi cunsigliu di cunsiderà l'usu di Redis invece di Memcached. Redis supporta l'isolamentu multi-database è a verificazione di password, rendendulu assai più sicuru.
Tuttavia, Redis hè un pocu più cumplessu da cunfigurà chè Memcached. Sè vo l'utilizate solu per scopi persunali o di piccule squadre, Memcached cù u limite d'ascolta 127.0.0.1 hè basicamente sufficiente.
Certi trappule incontrate
Infine, lasciami sparte uni pochi di trappule chì aghju scontru, sperendu di aiutà vi à evità alcune deviazioni.
Assicuratevi chì a versione di a vostra estensione PHP sia cumpatibile . Aghju digià scontru una situazione induve aghju installatu l'estensione php-memcached, ma WordPress ùn l'hà micca ricunnisciuta. Più tardi aghju scupertu chì era duvuta à una discrepanza di versione PHP. Assicuratevi di verificà attentamente a vostra versione PHP quandu installate estensioni per evità di installà quella sbagliata.
Assicuratevi d'avè u percorsu di u schedariu object-cache.php currettu . Deve esse piazzatu in u cartulare principale di wp-content, micca in u cartulare di i plugins. Un amicu meu l'hà messu in u locu sbagliatu è hà passatu assai tempu à pruvà à riparallu senza successu.
Ùn aduprate micca stringhe corte per u vostru prefissu di cache . Inizialmente aghju utilizatu stringhe cum'è a_ è b_, ma aghju trovu ch'elle eranu troppu corte è si scontravanu facilmente cù e chjave di cache generate da WordPress. Aduprate almenu una stringa aleatoria di sette o ottu caratteri o una abbreviazione di duminiu.
Quandu svuotate a cache, ricordatevi di svuotà a cache per i dui siti web . Una volta, aghju svuotatu a cache solu per un situ web, ma l'altru situ web hà sempre cunservatu i vechji dati, causendu incongruenze trà i dui siti web. M'hà pigliatu assai tempu per capisce u prublema.
À dì a verità, ùn sò micca s'è ste sperienze seranu utili à tutti, ma l'aghju spartute senza riserve.
Scrivite à a fine
Cunfigurà Memcached per parechji siti ùn hè micca tecnicamente cumplicatu; u prublema principale hè a cunfigurazione di u prefissu di a cache. Tuttavia, u diavulu hè in i dettagli. I prublemi cù a currispundenza di versione, i percorsi di i fugliali è e cunfigurazioni di sicurezza ponu causà prublemi considerablei.
Aghju utilizatu stu metudu dapoi guasi un annu avà, gestiscu trè siti WordPress, è finu à avà ùn aghju scontru nisun prublema maiò. Sè vo fate qualcosa di simile, pudete vulete pruvà.
À propositu, sè avete qualchì suluzione megliu o avete scontru qualchì trappula interessante, sentitevi liberi di lascià un cummentariu è di spartelu. Mi piacerebbe assai amparà da voi.
Dopu tuttu, più a ghjente ne sà, menu persone cascheranu in a trappula, nò ?
Siccomu avete lettu finu à quì, sè l'avete trovu utile, per piacè lasciate un "mi piace" è spartitelu. Sè vo vulete riceve l'aghjurnamenti prima, pudete ancu seguità mi!
Grazie per avè lettu u mo articulu. À a prossima volta.
Speremu chì l'articulu "Cumu sparte Memcached cù parechji siti web WordPress nantu à u listessu servitore? A guida di cunfigurazione definitiva per prevene errori à 100%" spartutu nantu à u blog di Chen Weiliang ( https://www.chenweiliang.com/ ) vi serà utile.
Sentitevi liberi di sparte u ligame di questu articulu: https://www.chenweiliang.com/cwl-34368.html
