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 界面!