nginx界面管理工具之nginxWebUI 搭建与使用

[复制链接]
发表于 2026-10-3 20:37:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、nginxWebUI 是什么:用一句话说清

nginxWebUI 是一个用 Web 界面配置 nginx 的工具,覆盖 http 转发、tcp 转发、反向代理、负载均衡、SSL 证书自动申请与续签等功能,最终生成 nginx.conf 并覆盖 nginx 的默认配置文件,完成配置落地。

它的价值很实在:配完 nginx 再也不用上网各种搜配置片段,也不用手动申请和续签 SSL 证书,增删改查都在界面里完成。同时它可管理多个 nginx 服务器,一键切换、一键同步,适合集群场景。

先说边界,免得期望错位:nginx 功能复杂,本项目并不能涵盖所有功能,只覆盖常用配置;更高级的配置仍然要在生成的 nginx.conf 里手动编写。

二、技术底子:用什么写的

  • 基于 Spring Boot 的 Web 体系;
  • 数据库用 SQLite,因此服务器上不需要另外装任何数据库——这是它能一条命令跑起来的原因;
  • 项目启动时会释放一个 .sqlite.db 到系统用户目录,记得备份;
  • ORM 用了 sqlHelper(一个可以像 MongoDB 那样操作 SQL 数据库的 ORM,支持 sqlite/mysql/postgresql 三种);
  • 证书通过 Let's Encrypt 申请,用 acme.sh 自动化申请和续签,开启续签的证书每天凌晨 2 点续签,只有超过 60 天的证书才会续签,且只支持在 Linux 下签发。

两个坑要提前知道:

  • 申请证书必须用 80 端口,所以申请和续签时 nginx 会短暂关闭,别在这时候发业务请求;
  • 添加 tcp/ip 转发时,低版本 nginx 可能需要重新编译(加 --with-stream 装 stream 模块);Ubuntu 18.04 官方源里的 nginx 已自带 stream 模块,不用重编。系统只会在开了 tcp 转发时自动引入 ngx_stream_module.so 相关配置,不开就不引,尽量精简配置文件。

三、方式一:jar 安装(Ubuntu 为例,用 root 执行)

注意:本项目需要在 root 用户下运行系统命令,风险敞口大,务必把密码设成复杂密码。

1. 装 Java 运行环境和 nginx

apt install openjdk-8-jdk
apt install nginx

2. 下载发行包

wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.6.jar
# 有新版本只需要修改路径中的版本即可

3. 启动

nohup java -jar -Xmx64m nginxWebUI-2.1.6.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

参数都是非必填:

  • -Xmx64m:最大分配内存;
  • --server.port:占用端口,默认 8080;
  • --project.home:项目配置目录,存放数据库文件、证书文件、日志日志等,默认 /home/nginxWebUI/;
  • 命令末尾的 & 表示后台运行。

四、方式二:Docker 安装(推荐)

官方做了 Docker 镜像,同时包含 nginx 和 nginxWebUI,一体化管理与运行。

1. 装 Docker

apt install docker.io

2. 拉镜像

docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6

3. 起容器

docker run -itd -v /home/nginxWebUI:/home/nginxWebUI \
  -e BOOT_OPTIONS="--变量名=变量值 --变量名2=变量值2" \
  --privileged=true --net=host \
  registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6 /bin/bash

三个必须注意的点:

  • 必须用 --net=host:直接映射本机端口,因为内部 nginx 可能用任意端口,所以要映射本机所有端口;
  • 必须映射 /home/nginxWebUI:数据库、nginx 配置、日志日志、证书都在这,升级镜像时靠它保住数据不丢,记得备份;
  • -e BOOT_OPTIONS 可填 java 启动参数,jar 方式里的那些参数都能填这里(改端口等)。

日志日志默认在 /home/nginxWebUI/log/nginxWebUI.log。

4. docker-compose 写法

version: '3'
services:
  nginxwebui:
    image: registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
    container_name: nginxwebui
    restart: always
    volumes:
      - ./data:/home/nginxWebUI
    environment:
      - BOOT_OPTIONS=-Xmx64m
      - TZ=Asia/shanghai
    privileged: true
    network_mode: "host"

所有数据存在 yaml 同目录下的 data 文件夹里。

五、界面怎么用:几个常用页签

浏览器开 http://<IP>:8080,首次打开要求初始化管理员账号,之后可在「管理员管理」里增删。

  • http 参数:设置 nginx 的 http 配置,做 http 转发,默认会给出几个常用配置,其他按需增删改查;可勾选开启日志跟踪,会生成日志跟踪配置,每天 0 点生成前一天的日志分析报告。access.log 过大,默认只保留 7 天日志,但分析报告可以一直保留。
  • TCP 参数:设置 nginx 的 stream 模块参数,大多数情况不用配;
  • 反向代理:对应 nginx 的 server 项,可开启 ssl、直接上传 pem 和 key 文件,或使用系统内申请的证书,可开启 http 跳 https、也能开 http2;
  • 负载均衡:对应 upstream,在反向代理里可以把代理目标选成建好的负载均衡;
  • html 静态文件上传:直接上传 html 压缩包到指定路径,上传后即可在反向代理中使用,省掉往 Linux 传文件的步骤;
  • 证书管理:添加证书、签发和续签,开启定时续签后系统会自动续签即将过期的证书;注意签发用的是 acme.sh 的 dns 模式,需要配阿里云的 AccessKey/Secret;
  • 备份文件管理:能看到 nginx.conf 的历史版本,nginx 出问题时可以回滚到某个历史版本;
  • 最终生成 conf:可在此进一步手动修改,确认无误后覆盖本机 conf 文件,再校验和重启,可选择生成单一 nginx.conf,或按域名分开放在 conf.d 下;
  • log 管理:http 设置里开了日志监控监控的话,每天会在这里生成日志分析报告;
  • 远程服务器管理:多台 nginx 各装一个 nginxWebUI,在其中一台的远程管理里添加其他服务器的 IP 和用户名密码,就能在一台机器上管所有 nginx,并提供一键同步(把某台的配置和证书同步到其他服务器)。

六、忘记密码怎么办

apt install sqlite3                       # 装 sqlite3 命令行
sqlite3 /home/nginxWebUI/sqlite.db        # 打开数据库文件
select * from admin;                      # 查 admin 表
quit                                      # 退出

七、三条安全提醒

  1. 必须以 root 权限操作,等于把 root 暴露在 Web 上——改复杂密码、只放内网、必要再暴露;
  2. Docker 部署用了 privileged + --net=host:便利性换来了不小的风险,不要把这个容器跑在会暴露给公网的网络里;
  3. 数据目录(sqlite.db + nginx.conf + 证书)务必定期备份——所有状态都在那一个目录里,丢了就没历史版本可回滚。

八、一句话总结

jar 方式:装 JDK+nginx → 下 nginxWebUI-x.x.x.jar → nohup java -jar ... --project.home=... 后台跑。

容器方式:拉 cym1102/nginxwebui 镜像 → --net=host + 挂 /home/nginxWebUI 数据卷 → 开 8080。

它解决的是「nginx 配置太碎太难记」,不解决「nginx 的全部能力」。 用它管住 80% 常用配置、把证书续签自动化,剩下 20% 高级配置回落到生成的 conf 里手写——这就是这套工具最务实的用法。

(本文由 qidao123.com企服评测-应用市场 编辑提示整理:内容围绕 nginxWebUI 的搭建、界面配置与多服务器管理,适用于 nginx 反向代理、负载均衡与 HTTPS 证书的日常运维。涉及 root 权限操作请做好访问控制与备份。)

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表