小米路由器3G建站折騰筆記1 - 引言與路由器選擇
小米路由器3G建站折騰筆記2 - 刷ROM和開啟SSH
小米路由器3G建站折騰筆記3 - 網(wǎng)站架構(gòu)選擇
小米路由器3G建站折騰筆記4 - 安裝opkg和onmp
小米路由器3G建站折騰筆記5 - 安裝phpMyAdmin、Typecho、WordPress
小米路由器3G建站折騰筆記6 - 總結(jié)
本節(jié)簡單介紹在路由器上建站的架構(gòu)及LAMP划煮、LLMP和LNMP(ONMP)。
五怒详、網(wǎng)站架構(gòu)選擇
刷完了開發(fā)版ROM,開啟SSH之后踪区,基礎(chǔ)工作就做好了昆烁,下面開始考慮搭建什么樣的網(wǎng)站。
最簡單的類型缎岗,靜態(tài)頁面架構(gòu)静尼。路由器自己已經(jīng)帶了HTTP服務(wù)器sysapihttpd,用來發(fā)布路由器的網(wǎng)頁控制臺,就是瀏覽器輸入192.168.31.1打開的那個界面鼠渺,具體文件位于/www蜗元,配置文件位于/etc/sysapihttpd/sysapihttpd.conf。據(jù)說sysapihttpd就是nginx系冗,通過修改sysapihttpd.conf可以增加開啟HTTP服務(wù),這樣我們就可以通過上傳或者生成html頁面來發(fā)布網(wǎng)站薪鹦。具體方法我沒有測試掌敬,因為這種靜態(tài)頁面雖然發(fā)布快,占用資源少池磁,但是開發(fā)部署比較麻煩奔害,有興趣的可以試一試。
第二種類型是不用數(shù)據(jù)庫的動態(tài)架構(gòu)地熄,就是用HTTP服務(wù)聯(lián)合腳本語言構(gòu)成動態(tài)環(huán)境华临,比如Go、Python端考、PHP等雅潭,網(wǎng)站數(shù)據(jù)直接保存在文件中。對于小型站點(diǎn)來說却特,這種方式非常好扶供,數(shù)據(jù)的備份、維護(hù)和遷移非常方便裂明,但是由于不太通用椿浓,這種代碼比較少,很難找到合適的闽晦,自己寫吧也需要時間扳碍。
基于Go語言的有Hugo項目,有人在極路由上安裝成功過仙蛉,但是我在安裝Go的時候出現(xiàn)問題笋敞。我先在Ubuntu下進(jìn)行了測試,很簡單很順利捅儒,但是在路由器下運(yùn)行g(shù)o version時報出某個亂碼目錄不可寫的問題液样,chmod和mount -o remount,rw /無法解決,應(yīng)該是小米做了限制巧还,即使解決了也肯定還會有其他問題鞭莽,因為我換低版本Go又報出“|”參數(shù)非法的奇怪錯誤,遂放棄麸祷。
基于Python的有Bottle架構(gòu)澎怒,需要安裝Python和PIP,然后pip install bottle markdown2,代碼好像需要自己開發(fā)喷面⌒邱基于Python的還有simiki,但是這個好像是在本地編寫文章惧辈,然后遠(yuǎn)程推送到服務(wù)器琳状。是否還有其他公開項目我也不是很清楚,因為基于Python的架構(gòu)我是后面才發(fā)現(xiàn)的盒齿,并未深入研究念逞。
基于PHP的不用數(shù)據(jù)庫的項目我測試了一款,博客迷BlogMi边翁,這是一個爛尾的項目翎承,作者已經(jīng)停止開發(fā),采用的是類似TXT文本數(shù)據(jù)庫的存儲形式符匾,安裝部署非常方便叨咖。如果學(xué)學(xué)PHP,進(jìn)行一些修改的話啊胶,應(yīng)該是我最喜歡的類型了甸各。但是現(xiàn)在就圖快,先不管它了创淡。
最后就是采用數(shù)據(jù)庫的動態(tài)架構(gòu)痴晦,這是最常見的類型,因為這種架構(gòu)通用性強(qiáng)琳彩,所以應(yīng)用最為廣泛誊酌。這里我們只說說LAMP、LLMP和LNMP(ONMP)露乏。
1碧浊、LAMP,意思是Linux + Apache + MySQL + PHP的組合瘟仿,這也是目前的主流架構(gòu)箱锐,但是由于Apache需求較高,所以在路由器上用的很少劳较,可是LAMP太常見了驹止,所以有人將LLMP、LNMP也稱作LAMP观蜗,在路由器上搭建環(huán)境時臊恋,需要注意區(qū)分。
2墓捻、LLMP抖仅,意思是Linux + Lighttpd + MySQL + PHP,使用的人群較少,但由于Lighttpd是一個非常輕量的Web發(fā)布軟件撤卢,所以很適合路由器使用环凿。網(wǎng)上流傳著一個2014年的基于Dropbear沙盒的LLMP環(huán)境,同時附有非常詳細(xì)的安裝教程放吩。但是因為路由器變化很大智听,閹割了很多東西,配置過程中路徑對不上渡紫,也沒有找到/dev/bdata瞭稼,而且配置完成之后,HTTP服務(wù)沒有開啟腻惠,沙盒的SSH服務(wù)也連接不上。想要修正這些問題或者重新搭建LLMP環(huán)境可能耗時很長欲虚,也放棄了集灌。
3、LNMP复哆,意思是Linux + Nginx + MySQL + PHP欣喧,介于LAMP和LLMP之間√菡遥基于OpenWrt(Opkg)的叫做ONMP唆阿,與LNMP沒有本質(zhì)區(qū)別,適用于安裝了Entware(Opkg)的路由器锈锤。因為小米ROM基于OpenWrt驯鳖,所以O(shè)NMP應(yīng)該是可行的。不過由于路由器ROM的變化久免,網(wǎng)上流傳的一鍵安裝腳本https://raw.githubusercontent.com/xzhih/ONMP/master/oneclick.sh(https://github.com/xzhih/ONMP)也不能順利執(zhí)行浅辙,只好分步進(jìn)行安裝。后面我來詳細(xì)描述一下過程阎姥,需要說明的是记舆,本人Linux很菜,所用的命令是可行的呼巴,但未必是最好的泽腮。
參考資料
小米路由器MINI架設(shè)WEB服務(wù)
https://blog.csdn.net/u010334295/article/details/79198223
如何在家庭路由器上搭博客
https://zhuanlan.zhihu.com/p/28441413
Mac下使用simiki搭建個人wiki
https://blog.csdn.net/u013041398/article/details/73958706
博客迷 BlogMi 1.0 正式版
https://dl.pconline.com.cn/download/2576703.html
小米路由-最新版本2.5.38-搭建網(wǎng)站LLMP+Zblog+sqlite3教程
http://blog.sina.com.cn/s/blog_53d0e11b0102w3ki.html
ONMP
https://github.com/xzhih/ONMP