最新的 OpenWrt 已支持使用 Nginx 作为 Luci 后端,以下教程不适用于最新版系统。
OpenWrt 的 Luci 是使用 Lua 编写的 Web 管理界面,可以让我们轻松的配置 OpenWrt,大幅降低了使用难度。
既然是 Web 管理界面,那就需要 HTTP 服务让用户访问,Luci 默认使用的是 uhttpd,但 uhttpd 并不是什么高性能的 HTTP 服务器,扩展性比较差。
但有时候我们可能会在 OpenWrt 搭建其他 Web 环境,比如之前教大家搭建私有云存储,使用 Nginx + PHP 环境,这就导致了 Nginx 和 uhttpd 使用了两个端口,访问有些麻烦。
Nginx 是一个扩展性很强的 HTTP 服务器,不过并不支持 CGI,无法直接运行 Luci,但是 Nginx 支持反向代理,可以让 Nginx 把 Luci 请求反向代理给 uhttpd,这样方便访问和管理。
配置 Nginx 反向代理
更改 Nginx 和 uhttpd 端口,更改方法参考搭建私有云存储的文章,Nginx 更改为 80,uhttpd 随意,更改完成后,重启 uhttpd /etc/init.d/uhttpd restart
编辑文件:/etc/nginx/nginx.conf
location / {
root /mnt/sda1/www;
index index.html index.htm index.php;
}# 在下方加入
location /luci/ {
client_max_body_size 128m;
proxy_pass http://127.0.0.1:端口/luci/;
}location /luci-static/ {
alias /www/luci-static/;
}
以上配置需要安装软件包:uhttpd-mod-lua,如果没有安装,请使用以下配置:
location = /luci {
return 302 http://$host/cgi-bin/luci/;
}location /cgi-bin/luci/ {
client_max_body_size 128m;
proxy_pass http://127.0.0.1:端口/cgi-bin/luci/;
}location /luci-static/ {
alias /www/luci-static/;
}
修改完成后,重启 Nginx /etc/init.d/nginx restart
,访问 192.168.1.1/luci,是不是完美的 Luci 界面!
如果搭建了 KodExplorer,可以将 Luci 固定到顶部菜单,这样在使用 KodExplorer 的时候可以方便访问 Luci。
有一点
由于 Luci 使用的是 CGI,Nginx 无法直接运行它,我试了好多种方法都不行,如果小伙伴们有方法让 Nginx 直接运行 Luci,可以在下方留言给我。

微信扫描二维码关注我们
如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。
文章评论
又试了试,在www下新建一个文件夹在里面放网页就可以正常访问了,192.168.2.1/xxx/xxx.html,这样子
楼主,可不可以问一下,设置完之后该往那里上传自己的网页文件呢,我上传到根目录www访问就显示404
nginx-mod-luci
@萧丶默 编译很是痛苦,还是本文来的简单方便