Diréktori Tulisan
Naha hiji server anu ngajalankeun sababaraha situs wéb WordPress anu ngabagi Memcached nyababkeun masalah overwriting data atanapi masalah cross-connection?
Artikel ieu nyayogikeun pituduh léngkah-léngkah ngeunaan kumaha cara misahkeun data cache samentawis sareng objék sacara sampurna di sakumna situs anu béda ku cara ngonpigurasikeun awalan cache (WP_CACHE_KEY_SALT) sareng skrip cache objék anu misah.
100% ngaleungitkeun konflik data, ngamungkinkeun sababaraha situs pikeun ngarasakeun pangalaman akselerasi tingkat mémori anu pangsaéna sacara simultan, sareng kalebet tip kaamanan pikeun nyegah jebakan dina lingkungan produksi!
Sababaraha dinten kapengker, aya babaturan anu naroskeun ka abdi ngeunaan tilu situs wéb WordPress na anu jalan dina server na. Anjeunna hoyong ngonpigurasikeun Memcached pikeun ngagancangkeunana, tapi anjeunna hariwang datana bakal kacau.
Kuring seuri harita sabab kuring sorangan geus ragrag kana bubu ieu.

Jujur, Memcached téh gampang pisan dijieun pikeun hiji situs, tapi bakal jadi pikaresepeun lamun aya sababaraha situs nu hirup babarengan. Naha?
Sacara standar, Memcached nempatkeun sadaya cache transient sareng object situs wéb kana kumpulan anu sami. Bayangkeun upami situs wéb A sareng B nganggo konci cache anu sami—éta bakal nyababkeun kaributan. Data A bakal langsung nimpa data B, sareng dua situs wéb éta bakal mimiti "ngaganggu" data silih.
Anu kuring tepang malah leuwih pikaseurieun: kaca detil produk dina situs wéb e-commerce némbongkeun eusi artikel ti situs wéb blog anu sanés. Kuring reuwas pisan, mikir, "Naon ieu téh?!"
Butuh waktu sapeuting jeput pikeun mikirkeunana; tétéla éta téh konflik konci cache.
Janten dinten ieu abdi ngabagikeun metode konfigurasi abdi kalayan harepan ieu tiasa ngabantosan réréncangan anu gaduh kabutuhan anu sami. Abdi masih ngajalajah nyalira, sareng sababaraha ideu abdi panginten henteu acan dimekarkeun sacara lengkep, tapi metode ieu parantos jalan kalayan saé pikeun abdi.
Persiapan lingkungan server
Sateuacan anjeun ngamimitian ngonpigurasikeun WordPress, anjeun kedah mastikeun yén server parantos masang layanan Memcached sareng ekstensi PHP Memcached.
Kumaha cara masang Memcached nganggo HestiaCP?
Contona Ubuntu, éta ngan ukur ngalibatkeun tilu baris paréntah.
sudo apt update
sudo apt install memcached php-memcached
sudo systemctl restart php8.x-fpm # 根据你的 PHP 版本改Saatos dipasang, émut pikeun mariksa naha layanan Memcached parantos jalan.
sudo systemctl status memcachedUpami anjeun ningali "aktif (lumpat)," éta hartosna teu aya masalah.
Catet yén nami pakét tiasa bénten-bénten di unggal sistem. Pikeun sistem anu berbasis Debian, paréntah ieu umumna dianggo; kumaha oge, pikeun CentOS atanapi distribusi anu sanés, anjeun panginten kedah nganggo yum atanapi dnf pikeun masangna.
Kuring keur maké Ubuntu 20.04 harita, sarta sakabéh prosésna lancar.
Operasi inti: Konpigurasikeun awalan cache
Léngkah ieu mangrupikeun inti tina sakabéh konfigurasi sareng konci pikeun nyegah kabingungan data.
Anjeun kedah nambihan awalan cache anu unik kana file wp-config.php dina diréktori akar unggal situs wéb WordPress.
Buka file wp-config.php tina situs wéb anu munggaran teras milarian baris koméntar ieu.
/* That's all, stop editing! Happy blogging. */Tambahkeun di luhur garis ieu
// 网站 A 的配置
define( 'WP_CACHE_KEY_SALT', 'site1_unique_string_' );Teras buka file wp-config.php dina situs wéb anu kadua teras tambahkeun konfigurasi anu sami.
// 网站 B 的配置
define( 'WP_CACHE_KEY_SALT', 'site2_unique_string_' );Kuring rék ngawartosan anjeun, string sanggeus WP_CACHE_KEY_SALT kudu unik pisan . Kuring nyarankeun anjeun ngagunakeun ngaran domain atawa singgetan ramatloka anjeun, saperti site1_com_ atawa site2_net_.
Abdi males teras nganggo angka, tapi tilu bulan ti harita abdi hilap pisan nomer mana anu pakait sareng situs wéb mana, sareng abdi kedah milarian hiji-hiji, éta téh nyeri sirah pisan.
Pikirkeun: Memcached jalan ku cara nyimpen sareng nyandak data dumasar kana konci cache. Upami anjeun nyetel awalan unik pikeun unggal situs wéb, datana sacara alami bakal diisolasi sareng moal silih campur.
Ieu téh siga méré loker sorangan ka unggal situs wéb. Sanajan kabéh aya di rohangan anu sarua, konci-koncina béda, jadi datana moal campur aduk.
Aktipkeun panyimpenan objék
Saatos ngonpigurasikeun awalan, léngkah salajengna nyaéta ngaktipkeun WordPress pikeun leres-leres nganggo Memcached.
Aya dua pilihan di dieu, sareng kuring parantos nyobian duanana. Masing-masing gaduh kaunggulan nyalira.
Pilihan 1: Métode plugin (paling gampang)
Lebet ka panel admin WordPress teras pasang plugin caching anu ngadukung Memcached.
Abdi nyarankeun nganggo W3 Total Cache ; éta lumayan stabil. Saatos dipasang, dina setélan plugin, pilih Memcached salaku jinis cache, lebetkeun 127.0.0.1 pikeun server, sareng port standar 11211, teras simpen.
Upami anjeun hoyong solusi anu langkung murni, anjeun tiasa langsung masang plugin Memcached Object Cache , anu dikhususkeun pikeun tugas ieu sareng teu gaduh fungsi sanés.
Jujur wé, mimitina mah kuring nganggap plugin téh lumayan alus, kumargi merenah. Tapi engkéna mah kuring manggihan yén aya sababaraha plugin anu dilengkepan ku sababaraha fitur anu teu kuring peryogikeun, sareng kuring sok hariwang ngeunaan apdet, sieun yén aranjeunna ujug-ujug nambihan sababaraha fitur anu ngaganggu konfigurasi kuring.
Pilihan 2: Sacara manual nyebarkeun object-cache.php (langkung tiasa dikontrol)
Upami anjeun rada perfeksionis sapertos abdi sareng henteu hoyong masang seueur teuing plugin, anjeun tiasa nganggo solusi ieu.
Unduh plugin Memcached Object Cache tina gudang plugin WordPress resmi, atanapi milarian file object-cache.php pangénggalna dina GitHub. Teras, unggah file object-cache.php anu diekstrak ka diréktori wp-content unggal situs wéb via FTP atanapi SSH.
Catet yén éta mangrupikeun diréktori akar wp-content, sanés subdirektori plugins.
Saatos anjeun nambihanana, WordPress bakal otomatis mikawanoh sareng ngaktipkeun cache. Anjeun teu kedah ngonpigurasikeun nanaon, sabab éta bakal maca WP_CACHE_KEY_SALT anu anjeun setel sateuacanna dina wp-config.php.
Abdi hoyong ngahémat waktos, janten abdi nganggo solusi ieu utamina kusabab tiasa dikontrol. Upami aya masalah, abdi terang dimana milarian solusi, sareng abdi moal kaget ku apdet plugin otomatis.
Pariksa yén konfigurasi éta efektif.
Saatos anjeun réngsé nyiapkeun sampelna, anjeun pasti hoyong terang naha éta suksés, sanés?
Cara pangbasajanna nyaéta mariksa status Memcached. Sambungkeun nganggo alat telnet atanapi nc.
echo "stats" | nc 127.0.0.1 11211Teras anjeun bakal ningali sajumlah statistik. Perhatoskeun sacara khusus kana nilai `cmd_set` sareng `get_hits`, teras refresh halaman sababaraha kali pikeun ningali naha éta ningkat. Upami ningkat, éta hartosna cache jalan kalayan leres.
Cara séjén anu langkung intuitif pikeun mastikeun ieu nyaéta muka dua situs wéb sacara babarengan sareng ningali naha éta silih ngaganggu. Upami situs wéb A henteu nampilkeun eusi tina situs wéb B, maka éta hartosna awalanna tiasa dianggo.
Kuring ngalakukeun tés anu langkung ketat dina waktos éta. Kuring netepkeun nilai transient anu béda dina dua situs wéb anu béda teras nganggo alat nc pikeun langsung ngulik data dina Memcached. Kuring memang tiasa ningali dua pasangan konci-nilai kalayan awalan anu béda, tanpa aya kabingungan pisan.
Harita, kuring ngarasa geus ngalakukeun hiji hal anu hébat, jeung ngan saukur mikiran éta waé geus ngajadikeun kuring ngarasa hébat.
Ulah nganggap enteng masalah kaamanan
Kusabab sadaya situs wéb ngabagi hiji instansi Memcached, aya résiko kaamanan anu anjeun kedah waspadai.
Sacara téori, upami pangguna sanés aya dina server, aranjeunna tiasa maca data anu disimpen dina cache ngalangkungan port lokal. Sanaos ieu meryogikeun tingkat kaahlian téknis anu tangtu, langkung saé ati-ati.
Ku kituna, anjeun kedah mastikeun yén layanan Memcached anjeun henteu ngadangukeun alamat IP umum . Pastikeun baris ieu aya dina file konfigurasi `/etc/memcached.conf`.
-l 127.0.0.1Ku cara kieu, Memcached ngan ukur bakal ngadangukeun alamat loopback lokal sareng moal tiasa diaksés ti luar.
Upami anjeun gaduh sarat kaamanan anu luhur pisan, atanapi upami server anjeun ngalayanan situs wéb anu dirasa teu pikaresepeun ku pangguna sanés, kuring nyarankeun anjeun mertimbangkeun nganggo Redis tibatan Memcached. Redis ngadukung isolasi multi-database sareng verifikasi kecap akses, janten langkung aman.
Nanging, Redis rada langkung rumit dikonfigurasi tibatan Memcached. Upami anjeun ngan ukur nganggo éta pikeun tujuan pribadi atanapi tim alit, Memcached kalayan wates ngadangukeun 127.0.0.1 dasarna cekap.
Sababaraha kasusah anu disanghareupan
Pamungkas, hayu atuh kuring ngabagikeun sababaraha masalah anu kuring pendak, mudah-mudahan tiasa ngabantosan anjeun nyingkahan sababaraha jalan muter.
Pastikeun versi éksténsi PHP anjeun cocog . Kuring sateuacanna ngalaman kaayaan dimana kuring masang éksténsi php-memcached, tapi WordPress henteu mikawanoh éta. Kuring engké mendakan éta kusabab henteu cocogna versi PHP. Pastikeun anjeun mariksa versi PHP anjeun sacara saksama nalika masang éksténsi pikeun nyingkahan masang anu salah.
Pastikeun anjeun kéngingkeun jalur ka file object-cache.php anu leres . Éta kedah disimpen dina diréktori akar wp-content, sanés diréktori plugins. Babaturan kuring nempatkeun éta di tempat anu salah sareng nyéépkeun waktos lami pikeun ngalereskeunana tapi teu hasil.
Ulah nganggo string pondok pikeun awalan cache anjeun . Mimitina mah kuring nganggo string kawas a_ jeung b_, tapi kuring manggihan yén éta string pondok teuing jeung gampang pasea jeung konci cache nu dihasilkeun ku WordPress sorangan. Paké sahenteuna string acak tujuh atawa dalapan karakter atawa singgetan domain.
Nalika ngabersihkeun cache, émut pikeun ngabersihkeun cache pikeun dua situs wéb . Sakali, kuring ngan ukur ngabersihkeun cache pikeun hiji situs wéb, tapi situs wéb anu sanésna masih nyimpen data lami, anu nyababkeun inkonsistensi antara dua situs wéb. Butuh waktos anu lami pikeun kuring ngartos masalahna.
Jujur wé, abdi teu terang naha pangalaman ieu bakal aya mangpaatna pikeun sadayana, tapi abdi parantos ngabagikeunana tanpa ragu-ragu.
nulis dina tungtungna
Ngonpigurasikeun Memcached pikeun sababaraha situs sacara téknis henteu rumit; masalah intina nyaéta ngonpigurasikeun awalan cache. Nanging, masalahna aya dina detilna. Masalah sareng cocogna vérsi, jalur file, sareng konfigurasi kaamanan tiasa nyababkeun masalah anu ageung.
Kuring geus ngagunakeun metode ieu ampir sataun ayeuna, ngajalankeun tilu situs WordPress, sareng dugi ka ayeuna kuring teu acan mendakan masalah anu ageung. Upami anjeun ngalakukeun hal anu sami, anjeun panginten hoyong nyobian.
Ku jalan kitu, upami anjeun gaduh solusi anu langkung saé atanapi mendakan masalah anu pikaresepeun, mangga tinggalkeun koméntar sareng bagikeun. Abdi hoyong diajar ti anjeun.
Sabab, beuki loba jalma anu nyaho ngeunaan ieu, beuki saeutik jalma anu bakal ragrag kana bubu, leres?
Kusabab anjeun parantos maca dugi ka dieu, upami anjeun mendakan ieu mangpaat, punten like sareng share. Upami anjeun hoyong nampi apdet heula, anjeun ogé tiasa ngiringan kuring!
Hatur nuhun parantos maca tulisan abdi. Tepang deui engké.
Mudah-mudahan, tulisan "Kumaha Ngabagikeun Memcached sareng Sababaraha Situs Wéb WordPress dina Server anu Sami? Pituduh Konfigurasi Pamungkas pikeun Nyegah Kasalahan 100%" anu dibagikeun dina blog Chen Weiliang ( https://www.chenweiliang.com/ ) bakal aya mangpaatna pikeun anjeun.
Mangga bagikeun tautan artikel ieu: https://www.chenweiliang.com/cwl-34368.html
