【教程】路由器小米ac2100建站② openwrt搭建uhttpd+php7+sqlite3环境

技术 · 2020-09-21 · 10647 人浏览

教程②主要是搭建路由器上面的uhttpd+php7+sqlite3环境。

之前试过uhttpd+php+mysql 但是可能是mysql需要初始化的空间太大?(我是这么理解的)就out of memory了
所以进行了一系列缝合🤐🤐。参考过的原文都会放在文章下方。


首先我们打开winscp工具,打开配置文件目录,也就是/etc/config下面的uhttpd文件,没有的先去路由器管理界面软件包里面搜索uhttpd并进行安装/etc/config

在文档末尾处加入如下代码

config uhttpd 'web'
    list listen_http '0.0.0.0:xxxx'
    option home '/mnt/sda1/web'
    option  cgi_prefix  /cgi-bin
    option  index_page  "index.html index.php"
    list    interpreter ".php=/usr/bin/php-cgi"

其中xxxx是你之前在Sakurafrp设置的本地端口,option home后面的是你存放网站的根目录,可以根据自己需要进行修改。

uhttpd这边就配置好了。

然后进行PHP,sqlite3安装,我这里路由器管理界面安装的话有问题,有些mod安装不上,所以进入putty一键安装
我们打开putty,会出现这样的界面putty

在host name处输入openwrt.lan或路由器管理地址,下面connection type选择ssh,点击open就会出现这样的界面
请输入图片描述

我们输入root,再输入路由器管理密码,输入密码的时候是不显示输入了字符的。然后成了这样就代表成功了请输入图片描述

输入以下代码进行安装php7与其他支持

opkg install php7 php7-cgi php7-fastcgi php7-mod-ctype php7-mod-curl php7-mod-dom php7-mod-exif php7-mod-fileinfo php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-openssl php7-mod-pdo php7-mod-pdo-sqlite php7-mod-session php7-mod-simplexml php7-mod-sqlite3 php7-mod-tokenizer php7-mod-xml php7-mod-zip

再安装sqlite3

opkg install libsqlite3 sqlite3-cli curl wget zoneinfo-core

再执行

/etc/init.d/php7-fastcgi enable
/etc/init.d/php7-fastcgi start

然后我们打开winscp,打开/etc/php.ini
将里面的
doc_root = "/www"
前面加上分号注释掉
;doc_root = "/www"
最后一行加上
short_open_tag = On
再加上output_buffering =on
然后保存退出
这样php就配置好了

最好在保存完文件之后重启一下,或者是搜索相应模块的重启命令例如/etc/init.d/uhttpd restart这种,否则会出现一些奇奇怪怪的问题

如果本地打开博客界面出现一片空白,然后自动下载源码的问题,可以按键盘ctrl+SHIFT+delete清除浏览器cookies

然后我们搭建博客所需的环境就操作好了


引用文章:
1.OpenWrt做简单http web服务器方法 https://jingyan.baidu.com/article/afd8f4dec8392134e286e9c6.html
2.[经验分享] Openwrt安装服务器环境php+uhttpd+mysql https://www.iyunv.com/thread-17871-1-1.html
3.openwrt+php7安装和uhttp+php7之Noinputfilespecified问题解决 http://blog.sina.com.cn/s/blog_73dac6b50102ztio.html
4.OpenWrt搭建uhttpd+php+sqlite的环境 https://www.cnblogs.com/qvbrgw/p/4969284.html

建站 路由器 内网穿透
  1. 林克 2022-10-18

    我不太建议在路由器上直接安装PHP和sqlit环境,毕竟它在路由器的界面上没有体现,而且在路由器上直接安装软件很可能会影响路由器的性能。我的建议是将PHP和sqlit部署在Docker里,或者另一台虚拟机里。通过FastCGI来完成uhttpd和PHP之间的通讯。具体可以参考我写的两篇博客:https://www.cnblogs.com/lynk/p/10407919.html和https://www.cnblogs.com/lynk/p/10466440.html

    1. Xunflash (作者)  2022-10-18
      @林克

      欢迎大佬分享!!
      其实这篇博客已经两年时间了,很早之前就更换了博客方案,这个方案对路由器性能影响确实太大了。但是其实小米ac2100极限也就是跑起来一个php和sqlite了,这种硬路由不太可能能跑docker 毕竟跑ssr都够呛...
      还是推荐购买一个软路由 一百以内的性能比这个好太多了。

  2. yanghaoc 2022-07-08

    你好 我想请问一下,在执行安装typecho时选择数据库报错了,该怎么解决呢

    1. Xunflash (作者)  2022-07-08
      @yanghaoc

      建议加侧栏联系方式

    2. Xunflash (作者)  2022-07-08
      @yanghaoc

      具体什么报错?可以贴一下吗

  3. 阿西 2022-04-29

    哈喽

  4. 江南大侠 2020-11-05

    恩山大佬前来贺喜,可喜可贺啊。

  5. Xunflash (作者)  2020-10-01

    恩山来的hxd们都评论一下吧

    1. zjxz 2020-10-27
      @Xunflash

      来了来了

      1. Xunflash (作者)  2020-10-27
        @zjxz

        欢迎欢迎 :huaji13:

    2. lady gaga 2020-10-05
      @Xunflash

      6666666666666666666666666

Theme Jasmine by Kent Liao