小米路由器3G建站折腾笔记1 - 引言与路由器选择
小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH
小米路由器3G建站折腾笔记3 - 网站架构选择
小米路由器3G建站折腾笔记4 - 安装opkg和onmp
小米路由器3G建站折腾笔记5 - 安装phpMyAdmin、Typecho、WordPress
小米路由器3G建站折腾笔记6 - 总结
本节简单介绍在路由器上建站的架构及LAMP、LLMP和LNMP(ONMP)。
五、网站架构选择
刷完了开发版ROM,开启SSH之后,基础工作就做好了,下面开始考虑搭建什么样的网站。
最简单的类型,静态页面架构。路由器自己已经带了HTTP服务器sysapihttpd,用来发布路由器的网页控制台,就是浏览器输入192.168.31.1打开的那个界面,具体文件位于/www,配置文件位于/etc/sysapihttpd/sysapihttpd.conf。据说sysapihttpd就是nginx,通过修改sysapihttpd.conf可以增加开启HTTP服务,这样我们就可以通过上传或者生成html页面来发布网站。具体方法我没有测试,因为这种静态页面虽然发布快,占用资源少,但是开发部署比较麻烦,有兴趣的可以试一试。
第二种类型是不用数据库的动态架构,就是用HTTP服务联合脚本语言构成动态环境,比如Go、Python、PHP等,网站数据直接保存在文件中。对于小型站点来说,这种方式非常好,数据的备份、维护和迁移非常方便,但是由于不太通用,这种代码比较少,很难找到合适的,自己写吧也需要时间。
基于Go语言的有Hugo项目,有人在极路由上安装成功过,但是我在安装Go的时候出现问题。我先在Ubuntu下进行了测试,很简单很顺利,但是在路由器下运行go version时报出某个乱码目录不可写的问题,chmod和mount -o remount,rw /无法解决,应该是小米做了限制,即使解决了也肯定还会有其他问题,因为我换低版本Go又报出“|”参数非法的奇怪错误,遂放弃。
基于Python的有Bottle架构,需要安装Python和PIP,然后pip install bottle markdown2,代码好像需要自己开发。基于Python的还有simiki,但是这个好像是在本地编写文章,然后远程推送到服务器。是否还有其他公开项目我也不是很清楚,因为基于Python的架构我是后面才发现的,并未深入研究。
基于PHP的不用数据库的项目我测试了一款,博客迷BlogMi,这是一个烂尾的项目,作者已经停止开发,采用的是类似TXT文本数据库的存储形式,安装部署非常方便。如果学学PHP,进行一些修改的话,应该是我最喜欢的类型了。但是现在就图快,先不管它了。
最后就是采用数据库的动态架构,这是最常见的类型,因为这种架构通用性强,所以应用最为广泛。这里我们只说说LAMP、LLMP和LNMP(ONMP)。
1、LAMP,意思是Linux + Apache + MySQL + PHP的组合,这也是目前的主流架构,但是由于Apache需求较高,所以在路由器上用的很少,可是LAMP太常见了,所以有人将LLMP、LNMP也称作LAMP,在路由器上搭建环境时,需要注意区分。
2、LLMP,意思是Linux + Lighttpd + MySQL + PHP,使用的人群较少,但由于Lighttpd是一个非常轻量的Web发布软件,所以很适合路由器使用。网上流传着一个2014年的基于Dropbear沙盒的LLMP环境,同时附有非常详细的安装教程。但是因为路由器变化很大,阉割了很多东西,配置过程中路径对不上,也没有找到/dev/bdata,而且配置完成之后,HTTP服务没有开启,沙盒的SSH服务也连接不上。想要修正这些问题或者重新搭建LLMP环境可能耗时很长,也放弃了。
3、LNMP,意思是Linux + Nginx + MySQL + PHP,介于LAMP和LLMP之间。基于OpenWrt(Opkg)的叫做ONMP,与LNMP没有本质区别,适用于安装了Entware(Opkg)的路由器。因为小米ROM基于OpenWrt,所以ONMP应该是可行的。不过由于路由器ROM的变化,网上流传的一键安装脚本https://raw.githubusercontent.com/xzhih/ONMP/master/oneclick.sh(https://github.com/xzhih/ONMP)也不能顺利执行,只好分步进行安装。后面我来详细描述一下过程,需要说明的是,本人Linux很菜,所用的命令是可行的,但未必是最好的。
参考资料
小米路由器MINI架设WEB服务
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-搭建网站LLMP+Zblog+sqlite3教程
http://blog.sina.com.cn/s/blog_53d0e11b0102w3ki.html
ONMP
https://github.com/xzhih/ONMP