Nginx UI:开源可视化 Nginx 管理工具,让配置管理更简单

内容分享2个月前发布
2 4 0

作为 Web 服务器和反向代理的主流选择,Nginx 凭借高性能和稳定性广受青睐,但传统的命令行配置方式对新手不够友善。今天为大家介绍一款开源的 Nginx 可视化管理工具 ——Nginx UI,它通过图形化界面让 Nginx 配置管理变得轻松高效,无论是服务器监控、配置编辑还是证书管理,都能在浏览器中一站式完成。

一、Nginx UI 核心亮点:重新定义 Nginx 管理体验

(1)可视化界面颠覆传统操作

Nginx UI 由 0xJacky 和 Hintay 联合开发,基于 Go 和 Vue 3 技术栈,将复杂的 Nginx 配置转化为可视化操作界面。无需记忆复杂命令,通过浏览器即可完成:

  • 服务器状态监控
  • 实时显示 CPU、内存、负载、磁盘使用率等关键指标。
  • 网络流量统计(上传/下载速率)和磁盘 I/O 监控。
  • Nginx 配置管理
  • 在线编辑 Nginx 配置文件,支持语法高亮(Ace 编辑器)和可视化块编辑(NgxConfigEditor)。
  • 自动测试配置文件有效性并重启 Nginx,避免配置错误导致服务中断。
  • SSL 证书管理
  • 一键申请和续签 Let's Encrypt 证书,支持 ACME 协议。
  • 管理证书文件及 DNS 凭证。
  • 日志分析
  • 在线查看访问日志和错误日志,支持关键词搜索
  • 高级功能
  • 集成 ChatGPT 助手,直接在界面中获取配置提议或技术支持。
  • 网页终端(Web Terminal),支持执行系统命令。
  • 深色模式、响应式设计,适配桌面和移动设备。
  • 多语言支持(英语、简体中文、繁体中文),支持自定义翻译。

(2)智能化与易用性结合

  • 集成 ChatGPT 助手:在界面中直接对话获取配置提议,新手也能快速上手
  • 自适应设计:完美适配桌面和移动设备,支持深色模式保护视力
  • 网页终端:基于浏览器的命令行终端,方便执行系统管理命令

(3)技术架构与兼容性

  • 后端:Go 语言 + Gin 框架,高性能低资源占用
  • 前端:Vue 3+TypeScript+Ant Design Vue,现代化开发体验
  • 支持系统:Linux/macOS/FreeBSD/OpenWrt 等多平台,提供预编译二进制文件

二、快速入门:从安装到启动的完整指南

1. 体验 Demo 环境(无需安装)

直接访问官方演示站点:https://demo.nginxui.com

使用默认账号登录:

  • 用户名:admin
  • 密码:admin

2. 本地部署步骤(以 Linux 为例)

注意事项

  • GitHub 代理问题:由于主域名 ghproxy.com 可能被封锁,提议使用镜像站 mirror.ghproxy.com 加速下载。
  • 系统兼容性:支持 Debian/Ubuntu/CentOS 等 Linux 系统,以及 macOS、FreeBSD 等,需确保 Nginx 已安装并运行。

(1)一键安装脚本(推荐)

#使用国内镜像加速(解决GitHub下载慢问题)

bash <(curl -L -s https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install -r https://mirror.ghproxy.com/
  • 默认端口:管理端口 9000,ACME 挑战端口 9180
  • 配置文件路径:/usr/local/etc/nginx-ui/app.ini
  • 服务管理:
systemctl start nginx-ui  # 启动服务

systemctl enable nginx-ui # 设置开机自启

(2)Docker 容器化部署

docker run -dit 
    --name=nginx-ui 
    --restart=always 
    -e TZ=Asia/Shanghai 
    -v /mnt/user/appdata/nginx:/etc/nginx          # 映射 Nginx 配置目录(需为空)
    -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui    # 映射 Nginx UI 配置目录
    -p 8080:80 -p 8443:443                        # 映射 HTTP/HTTPS 端口
    uozi/nginx-ui:latest

首次访问:http://<服务器IP>:8080/install 完成初始化配置。

(3)手动构建(适合定制化需求)

# 前置条件:安装Go 1.23+/Node.js 21+

git clone https://github.com/0xJacky/nginx-ui.git

cd nginx-ui

# 构建前端

cd app

npm install

npm run build

# 构建后端(返回项目根目录)

go build -tags=jsoniter -o nginx-ui -v main.go

3. 首次访问初始化

启动服务后,在浏览器输入:http://服务器IP:9000或 Docker 映射的端口)按照引导完成:

  1. 管理员账户创建
  2. Nginx 配置目录检测(自动识别 Debian 系路径,非 Debian 需手动调整)
  3. 基础参数配置(端口、SSL 设置等)

4. 常用操作命令

  • Systemd 管理
systemctl start nginx-ui  # 启动服务
systemctl stop nginx-ui   # 停止服务
systemctl restart nginx-ui # 重启服务
  • 手动启停(后台运行)
nohup ./nginx-ui -config app.ini &  # 后台运行
kill -9 $(ps -aux | grep nginx-ui | grep -v grep | awk '{print $2}')  # 停止服务

三、核心功能详解:提升 Nginx 管理效率的实用技巧

1. 配置文件可视化编辑;

  • 语法高亮:基于 Ace Editor 实现 Nginx 语法实时高亮,减少拼写错误
  • 自动检测:保存配置时自动执行nginx -t检测,错误信息直观显示
  • 版本管理:支持配置文件历史版本查看与回滚(需手动开启备份功能)

2. Let's Encrypt 证书管理;

  • 一键申请:通过 ACME 协议自动完成域名验证,支持 HTTP/DNS 两种验证方式
  • 自动续签:提前 30 天检测证书过期状态,后台静默完成续签流程
  • 多域名支持:批量管理多个域名证书,支持通配符证书配置

3. 服务器状态监控面板;

Nginx UI:开源可视化 Nginx 管理工具,让配置管理更简单

Nginx UI:开源可视化 Nginx 管理工具,让配置管理更简单

4. 高级终端功能;

通过 Web Terminal 可以:

  • 执行系统命令(如查看日志、重启服务)
  • 集成常用 Nginx 命令快捷按钮(reload/stop/configtest)
  • 支持 SSH 密钥认证(需在配置文件启用相关功能)

四、生产环境部署最佳实践

1. 反向代理配置(HTTPS 访问);

推荐通过 Nginx 反向代理 Nginx UI,实现 HTTPS 加密访问:

server {
       listen 443 ssl http2;

       server\_name your-domain.com;

       ssl\_certificate /path/to/your\_cert.pem;
       ssl\_certificate\_key /path/to/your\_key.pem;

       location / {
           proxy\_pass http://127.0.0.1:9000;  # 指向Nginx UI本地端口
           proxy\_set\_header Host $host;
           proxy\_set\_header X-Real-IP $remote\_addr;
           proxy\_http\_version 1.1;
           proxy\_set\_header Upgrade $http\_upgrade;
           proxy\_set\_header Connection "upgrade";
       }
}

2. 安全加固提议;

  • 端口限制:仅允许管理 IP 访问 9000 端口(通过防火墙或 Nginx 访问控制)
  • 账户安全:首次登录后立即修改默认密码,启用 2FA 双因素认证(后续版本支持)
  • 数据备份:定期备份/etc/nginx-ui目录,包含证书和配置数据

3. 非 Debian 系统适配;

如果使用 CentOS/OpenBSD 等系统,需手动调整 Nginx 配置路径:

  1. 在 UI 管理界面进入「系统设置」-「Nginx 配置」
  2. 手动指定sites-availablesites-enabled目录路径
  3. 确保 Nginx 主配置文件(nginx.conf)包含:
include /path/to/sites-enabled/*.conf;

五、注意事项与故障排除

  1. 访问报错处理
  2. 若出现 URL拼写可能存在错误(如文档5),检查:
  3. 端口是否正确(默认 9000,Docker 部署可能为 8080)。
  4. 服务是否已启动(systemctl status nginx-ui 查看状态)。
  5. 防火墙是否放行端口(如 ufw allow 9000)。
  6. 配置文件路径问题
  7. 非 Debian 系统需手动调整 Nginx 配置文件结构,确保 nginx.conf 包含:
http {
  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
}
  1. 依赖代理加速
  2. 下载安装脚本或代码时,若遇 GitHub 资源无法访问,需通过代理镜像站(如 mirror.ghproxy.com)访问,例如:
git clone https://mirror.ghproxy.com/https://github.com/0xJacky/nginx-ui.git

六、同类工具对比:如何选择适合的 Nginx 管理方案

工具名称; 技术栈; 核心优势; 适用场景; 学习成本; Nginx UI Go+Vue; 功能全面、智能化支持; 企业级运维、复杂配置; 中; Nginx Admin PHP; 轻量简洁、快速部署; 个人站点、简单管理; 低; Nginx Proxy Manager Python; 专业代理管理、多用户支持; 代理服务器集群; 较高;

七、项目生态与贡献指南

1. 开源协议;

遵循 AGPL-3.0 协议,允许商业使用,但修改代码需开源回馈社区。

2. 参与贡献;

  • 代码贡献:提交 PR 至 GitHub 仓库,遵循 Go 代码规范和 Vue 组件开发规范
  • 文档翻译:通过 vue3-gettext 支持多语言,欢迎提交其他语言翻译 PR
  • 问题反馈:在Issue 列表提交 Bug 或功能提议

3. 版本更新;

  • 每周发布预发布版本(Edge Channel),每月发布稳定版
  • 通过安装脚本或 Docker 镜像可快速升级:
# 升级命令(Linux)

bash <(curl -L -s https://mirror.ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) update

结语

Nginx UI 通过可视化界面和智能化功能,让 Nginx 管理变得简单高效,无论是运维工程师还是开发者,都能通过它提升工作效率。如果你正在寻找一款现代化的 Nginx 管理工具,不妨尝试部署体验 —— 从繁琐的命令行中解放出来,享受可视化管理的便捷!

项目地址:https://github.com/0xJacky/nginx-ui

官方 Demo:https://demo.nginxui.com(账号:admin/admin)

© 版权声明

相关文章

4 条评论

  • 头像
    壁纸目录 投稿者

    外面还要再套一层nginx代理它

    无记录
    回复
  • 头像
    小羊neko- 投稿者

    可视化管理工具很实用

    无记录
    回复
  • 头像
    小小 读者

    多平台很方便呢

    无记录
    回复
  • 头像
    体育小天才 读者

    收藏了,感谢分享

    无记录
    回复