Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
zh-cn:doc:howto:http.uhttpd [2015/01/20 07:54] – created leangjiazh-cn:doc:howto:http.uhttpd [2022/12/26 12:11] – 同步英文版内容 heybrowhatsup
Line 1: Line 1:
 +====== uHTTPd ======
 +**uHTTPd** 是一个 OpenWrt/LUCI 开发者从头编写的 Web 服务器。 它着力于实现一个稳定高效的服务器,能够满足嵌入式设备的轻量级任务需求,且能够与 OpenWrt 的配置框架 (UCI) 整合。默认情况下它被用于 OpenWrt 的 Web 管理接口 [[zh:docs:techref:luci|LuCI]]。
 +当然,uHTTPd 也能提供一个常规 Web 服务器所需要的所有功能。
  
 +其源代码可在以下 git 存储库中找到:
 +
 +  * https://git.openwrt.org/project/uhttpd.git
 +
 +===== 特性 =====
 +uHTTPd 作为一个通用的 HTTP 服务,并不只满足于运行 OpenWrt 的 Web 管理界面,而是提供了媲美其他现代 Web 服务器的功能。这包括 TLS (SSL)、CGI 以及 Lua。uHTTPd 是单线程的,但是支持多个实例 (例如,支持监听多个端口,每个端口都可以使用独立的文档根目录以及其他功能)。 
 +
 +要使用 TLS (HTTPS 支持),需要 ''uhttpd-mod-tls'' 包。
 +
 +与其他很多 Web 服务器相比, uHTTPd 支持[[zh-cn/doc:uci:uhttpd#luci.with.embedded.lua.interpreter|进程内执行 Lua]],可以提高 Lua CGI 脚本的执行效率。需要注意的是,LuCI,虽然依赖于 Lua,默认并不是以此方式配置的。
 +
 +===== 安装 =====
 +uHTTPd 虽然是 OpenWrt 的标准 HTTP 服务器,但不包含在 OpenWrt 的主分支的发行版固件中。它的包名是 ''uhttpd''。需要使用以下命令进行安装:
 +  
 +  opkg update
 +  opkg install uhttpd
 +
 +此外,可以通过安装 LuCI [[zh:docs:guide-user:luci:webinterface.overview|Web 界面]]以将 uHTTPd 作为其一个依赖包来安装。此方法会同时安装 [[zh:docs:techref:luci|LuCI]] 管理 OpenWrt 设备所必要的包,请参考 [[luci.essentials|LuCI 在 uHTTPd 上的配置]]。当然也可以用[[http.overview|其他 Web 服务器]]来配置 Web 界面。
 +
 +===== 配置 =====
 +uHTTPd 的配置自 OpenWrt 10.03 (Backfire) 开始便很好地与 OpenWrt 的 [[zh:docs:guide-user:base-system:uci]] 集成在一起。它的 UCI 配置文件为 ''/etc/config/uhttpd''。uHTTPd 直接依赖于此文件,不再需要其它通过 UCI 生成的配置文件 (然而其它很多程序都需要这样做,例如 Samba)。uHTTPd 通过 UCI 进行配置,请参考[[docs:guide-user:services:webserver:uhttpd|通过 UCI 配置 uHTTPd]]. 
 +
 +uHTTPd 提供了一个启动脚本 /etc/init.d/uhttpd 以控制服务的运行状态,并运行在 OpenWrt 启动时启动。
 +
 +==== Using the default installation for publishing files ====
 +One could use the default installation for publishing files.
 +A quick example is to disable the redirect to luci scripts.
 +
 +<code bash>
 +mv /www/index.html /www/index.html.orig
 +</code>
 +
 +Done this anything is shown as list of file and even symbolic links works.
  • Last modified: 2022/12/26 12:13
  • by heybrowhatsup