900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > OPENWRT-LUCI开发总结-LUCI目录结构介绍

OPENWRT-LUCI开发总结-LUCI目录结构介绍

时间:2020-08-07 02:04:04

相关推荐

OPENWRT-LUCI开发总结-LUCI目录结构介绍

前言

LUCI作为openWRT的CGI程序,与uhttpd web server服务器一起搭配使用。uhttpd的开机启动脚本为/etc/init.d/uhttpd,配置文件为/etc/config/uhttpd,启动命令如下,其中-h指定web server服务器的根目录/www/;-x指定CGI URL路径,默认为/www/cgi-bin/。所以,在介绍LUCI启动流程之前,先介绍下各个目录的功能。

/usr/sbin/uhttpd -f -h /www -r OpenWrt -x /cgi-bin -u /ubus -t 60 -T 30 -k 20 -A 1 -n 3 -N 100 -R -p 0.0.0.0:80 -p [::]:80

本篇整理分为以下几个部分

版本机目录结构/www目录结构/usr/lib/lua目录结构

版本机目录结构

1、在make menuconfig->LuCI->2.modules下可以看到默认选中luci-base,luci-mod-admin-full两个模型,这两个模型包含了网页的基本功能。

(1)luci-base目录

luci-base目录包含以下内容

htdocsluasrcMakefileporootsrc

(a)htdocs(html+docs):此目录存放HTML相关文件,主要包含以下两个目录,当烧录到硬件设备后,将拷贝到/www根目录下

cgi-bin:存放luci启动脚本luci-static:存放HTML相关文件,包含CSS、JS及网页图片等文件

(b)luasrc(lua+src):此目录存放系统功能的LUA文件及M(model)、V(view)、C(controller)文件夹,当烧录到硬件设备后,将拷贝到/usr/lib/lua/luci目录下

C(controller):控制器,生成页面的菜单栏并定义各个页面的调用方法M(model):数据模型,根据底层UCI配置文件生成页面V(view):视图,HTML页面

(c)Makefile:定义luci-base的编译方法

(d)po:定义页面的语言风格

(e)root:存放配置文件,该目录下的所有文件将拷贝到硬件设备根目录下

(f)src:生成所需要的库文件及LUA脚本

(2)luci-mod-admin-full目录

luci-mod-admin-full目录包含以下内容

htdocsluasrcMakefilesrc

由此可以看出,LUCI的文件框架都是以luci-base目录为基础,其他主题及模式都是在此基础之上进行增减。

/www目录结构
1、/www目录下主要包含以下内容 cgi-binindex.htmlluci-static

(1)cgi-bin:此文件从luci-base下拷贝过来的,存放luci启动脚本

(2)index.html:http请求的主页面,默认是/www/index.html,这个文件里显示了登录时常看见的那句话“LuCI - Lua Configuration Interface”,同时也指定了href链接/cgi-bin/luci

(3)luci-static:存放HTML相关文件,包含CSS、JS及网页图片等文件。不同主题的htdocs/luci-static都将拷贝到这个目录下

/usr/lib/lua/目录结构

1、/usr/lib/lua/路径,顾名思义,存放了与LUA相关的文件,在LUA脚本中,通过require命令引用的脚本及函数,起始路径都是该目录。同时,不同模型及主题的luasrc文件夹都拷贝到/usr/lib/lua/luci目录下,通过/etc/config/luci中的mediaurlbase字段决定当前使用的主题及语言。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。