WordPress 21年歷史大變革!如何讓它脫離數(shù)據(jù)庫,實(shí)現(xiàn)低成本離線運(yùn)行?
在現(xiàn)今的數(shù)字化浪潮中,眾多用戶渴望軟件能輕便且成本低廉。對(duì)于已有21年歷史的開源軟件WordPress來說,實(shí)現(xiàn)不依賴數(shù)據(jù)庫的運(yùn)行模式,成了一個(gè)引人入勝的議題。這一領(lǐng)域蘊(yùn)含著創(chuàng)新與挑戰(zhàn)的雙重機(jī)遇。
WordPress傳統(tǒng)數(shù)據(jù)庫運(yùn)行現(xiàn)狀
WordPress無論應(yīng)用環(huán)境怎么變化,無論其受歡迎度怎樣波動(dòng),始終采用MySQL、MariaDB等數(shù)據(jù)庫來保存信息。這些數(shù)據(jù)庫是常見的存儲(chǔ)手段,對(duì)眾多網(wǎng)站的運(yùn)作至關(guān)重要。比如,一些大型網(wǎng)站依賴這類數(shù)據(jù)庫來處理海量復(fù)雜數(shù)據(jù)。但針對(duì)規(guī)模較小的網(wǎng)站,這種方法可能導(dǎo)致資源浪費(fèi)。小網(wǎng)站用戶數(shù)或帖子數(shù)可能只有幾千,傳統(tǒng)數(shù)據(jù)庫的運(yùn)行顯得過于繁瑣,從而增加了額外開銷。
眾多小規(guī)模用戶在使用低端設(shè)備上操作WordPress時(shí),遇到了成本高昂和資源過度消耗的困擾。為了滿足自身需求,他們急需尋找一種更加節(jié)省資源的方法。
社區(qū)改進(jìn)版本出現(xiàn)
2013年,社區(qū)用戶高橋俊也發(fā)布了程序的升級(jí)版。這一版展現(xiàn)了社區(qū)的生機(jī)和用戶的創(chuàng)新精神,兼容了3.x至4.1版本的WordPress。這無疑是一次有益的探索,該版本的出現(xiàn)為后續(xù)的變革打下了堅(jiān)實(shí)的基礎(chǔ)。
這一改進(jìn)版顯示了社區(qū)對(duì)輕量化運(yùn)行WordPress的堅(jiān)定意志。盡管離完全擺脫傳統(tǒng)數(shù)據(jù)庫運(yùn)行尚有差距,但這確實(shí)是一個(gè)關(guān)鍵性的進(jìn)展。
官方對(duì)SQLite的支持
2022年9月,一個(gè)值得銘記的月份。那時(shí),官方公布了一篇名為“Let’s make WordPress officially support SQLite”的文章。此舉意味著,官方支持的SQLite數(shù)據(jù)庫替代方案終于獲得了較為可靠的保障。這反映出官方對(duì)輕量化運(yùn)行模式的認(rèn)可和探索。
目前遇到的問題是,官方尚未提供現(xiàn)成的SQLite容器鏡像,項(xiàng)目里甚至缺少相應(yīng)的安裝和使用指南。這無疑給我們的探索之路設(shè)置了障礙。
#?下載最新版本的鏡像
docker?pull?soulteary/sqlite-wordpress
#?下載指定版本
docker?pull?soulteary/sqlite-wordpress:6.5.2
個(gè)人推出的開源項(xiàng)目
官方存在缺陷,有人投入心力,打造了一個(gè)可直接使用的開源產(chǎn)品。該產(chǎn)品依托官方鏡像,融入了SQLite數(shù)據(jù)庫。這樣,我們就可以在本地不依賴MySQL或MariaDB數(shù)據(jù)庫的情況下運(yùn)行WordPress。這個(gè)開源項(xiàng)目成功填補(bǔ)了官方的空白,為那些希望簡(jiǎn)化WordPress運(yùn)行的用戶帶來了新的選擇。
這個(gè)項(xiàng)目是眾多人共同努力與探索的結(jié)晶,推動(dòng)了WordPress向不依賴傳統(tǒng)數(shù)據(jù)庫的方向發(fā)展。對(duì)于那些在性能較低的設(shè)備或小型網(wǎng)站上使用WordPress的用戶來說,這一進(jìn)步具有極其重要的價(jià)值。
docker?run?--rm?-it?-p?8080:80?-v?`pwd`/wordpress:/var/www/html?soulteary/sqlite-wordpress
關(guān)于數(shù)據(jù)庫支持應(yīng)該在核心而非插件
從理想角度出發(fā),WordPress的SQLite支持理應(yīng)直接集成到核心中,而非以插件形式存在。在站點(diǎn)初次安裝時(shí),直接確定數(shù)據(jù)庫是個(gè)明智之舉。舉個(gè)例子,若一開始選擇了某種數(shù)據(jù)庫,之后又需遷移數(shù)據(jù)庫,比如在插件模式下切換數(shù)據(jù)庫,這樣的額外遷移操作實(shí)在頗為繁瑣。
盡管現(xiàn)在官方推出的開源項(xiàng)目采用插件形式,但隨著語法的全面兼容和應(yīng)用測(cè)試的全面進(jìn)行,它被納入WordPress核心的可能性相當(dāng)大。
開箱即用的運(yùn)行方式
version:?'3'
services:
??wordpress:
????image:?soulteary/sqlite-wordpress:6.5.2
????restart:?always
????ports:
??????-?8080:80
????volumes:
??????-?./wordpress:/var/www/html
使用特定指令啟動(dòng)不依賴MySQL等數(shù)據(jù)庫的WordPress操作簡(jiǎn)便。啟動(dòng)后,只需在瀏覽器中輸入特定端口,例如8080,即可啟動(dòng)那著名的“一分鐘安裝”步驟。這樣網(wǎng)站就能開始設(shè)置,之后安裝插件、主題和撰寫文章都變得輕松容易。
得益于PHP中的“Serverless”類運(yùn)行模式,我們?cè)谑褂镁彺嫦嚓P(guān)資源之外,僅需極小量的資源即可成功運(yùn)行WordPress程序。
探索的道路上,我們遇到了不少難題,比如如何豐富官方的輔助資料。對(duì)于WordPress未來能否脫離數(shù)據(jù)庫獨(dú)立運(yùn)行,你有什么看法?
作者:小藍(lán)
鏈接:http://www.huanchou.cn/content/7025.html
本站部分內(nèi)容和圖片來源網(wǎng)絡(luò),不代表本站觀點(diǎn),如有侵權(quán),可聯(lián)系我方刪除。