Cumu sparte Memcached trà parechji siti web WordPress nant'à u listessu servitore ? Una guida di cunfigurazione definitiva à prova d'errore à 100%.

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.

Cumu sparte Memcached trà parechji siti web WordPress nant'à u listessu servitore ? Una guida di cunfigurazione definitiva à prova d'errore à 100%.

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 memcached

Sè 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 11211

Dopu 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.1

Cusì, 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.

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Libru di Top