nginx-ui
nginx-ui 部署与使用指南
项目简介
nginx-ui 是一个现代化的 NGINX Web 管理面板,使用 Golang + Vue3 开发。
它提供直观的 Web 可视化界面,用于:
管理 NGINX 配置
配置反向代理
管理 SSL 证书
查看访问日志
监控 NGINX 状态
相比传统 Java 类管理面板:更轻量
内存占用低
启动速度快
- 更适合小内存 VPS NAS 云服务器
功能特点
Web 可视化管理
WebUI 在线编辑 NGINX 配置
支持虚拟主机管理
支持多域名代理配置
- 支持配置热加载
SSL 证书管理
内置 Let’s Encrypt 集成
支持自动申请 HTTPS 证书
支持自动续签
- 支持手动上传证书与私钥
多用户与权限管理
内置 RBAC 权限控制
支持多用户管理
- 支持权限隔离
可观察性
实时查看 NGINX 状态
查看访问日志
查看错误日志
- 支持 Prometheus 指标采集
API 支持
提供 REST API
方便自动化运维
- 支持二次开发集成
系统需求
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux / macOS |
| 推荐环境 | Linux 服务器 |
| NGINX | 已安装并正常运行 |
| 内存占用 | 30–80 MB |
|推荐权限 |root 或具备 NGINX 管理权限 |
部署方式
推荐:
Docker 部署(最简单)
2. 二进制部署(生产更灵活)
1. Docker 部署(推荐)
启动容器
docker run -d \
--name nginx-ui \
-p 8080:8080 \
-v /etc/nginx:/etc/nginx \
-v /etc/letsencrypt:/etc/letsencrypt \
--restart=always \
0xjacky/nginx-ui:latest
参数说明
| 参数 | 说明 |
|---|---|
-p 8080:8080 | 映射 Web 管理端口 |
-v /etc/nginx:/etc/nginx | 挂载 NGINX 配置目录 |
-v /etc/letsencrypt:/etc/letsencrypt | 挂载 SSL 证书目录 |
|--restart=always |容器异常退出自动重启 |
访问 WebUI
浏览器访问:
http://服务器IP:8080
2. 二进制文件部署(推荐生产环境)
2.1 下载程序
官方下载地址:
GitHub Release:
github.com/0xJacky/n...
本文示例版本:v2.3.11
2.2 创建目录
mkdir -p /wzxy/nginxui
cd /wzxy/nginxui
2.3 上传安装包
示例文件:
nginx-ui-linux-64.tar.gz
nginx-ui-linux-64.tar.gz.digest
2.4 校验 SHA256(可选)
sha256sum -c nginx-ui-linux-64.tar.gz.digest
如果输出:
OK
说明:
文件完整
- 未被篡改
2.5 解压程序
tar -xzf nginx-ui-linux-64.tar.gz
2.6 启动 nginx-ui
./nginx-ui
首次启动后会自动生成:
SQLite 数据库
配置文件
- 默认目录结构
3. app.ini 配置说明
官方示例配置:
github.com/0xJacky/n...
默认生成后一般无需修改。
示例配置
[app]
PageSize = 20
JwtSecret = FUXjeiVNwdtNqh
[server]
Host = 0.0.0.0
Port = 9000
RunMode = release
EnableHTTPS = false
EnableH2 = false
EnableH3 = false
[auth]
IPWhiteList =
BanThresholdMinutes = 10
MaxAttempts = 10
[nginx]
AccessLogPath = /var/log/nginx/access.log
ErrorLogPath = /var/log/nginx/error.log
LogDirWhiteList = /var/log/nginx
ConfigDir = /etc/nginx
PIDPath = /run/nginx.pid
ReloadCmd = /usr/sbin/nginx -s reload
RestartCmd = /usr/sbin/nginx -s reload
[node]
Name = Local
Secret =
SkipInstallation = false
4. HTTPS 证书目录
证书与私钥建议统一放置:
/etc/nginx/
例如:
/etc/nginx/cert.pem
/etc/nginx/cert.key
5. 使用 Supervisor 托管(推荐)
生产环境建议通过 Supervisor 管理 nginx-ui。
优点:
自动拉起
崩溃自动重启
日志统一管理
- 开机自启
5.1 创建 Supervisor 配置
创建文件:
/etc/supervisord.d/nginxui.ini
或者:
/etc/supervisor/conf.d/nginxui.conf
配置内容
[program:nginxui]
; =========================
; 1. 启动命令
; =========================
command=/wzxy/nginxui/nginx-ui
; =========================
; 2. 运行环境
; =========================
; 工作目录
directory=/wzxy/nginxui
; 使用 root 身份运行
user=root
; 环境变量
environment=SPRING_PROFILES_ACTIVE="prod"
; =========================
; 3. 启动与重启策略
; =========================
; Supervisor 启动时自动拉起
autostart=true
; 异常退出自动重启
autorestart=true
; 持续运行 30 秒才视为启动成功
startsecs=30
; 启动失败最大重试次数
startretries=3
; =========================
; 4. 日志配置
; =========================
; stderr 合并到 stdout
redirect_stderr=true
; 日志文件路径
stdout_logfile=/wzxy/nginxui/log/nginxui.log
; 单文件最大大小
stdout_logfile_maxbytes=10MB
; 保留历史日志数量
stdout_logfile_backups=10
; =========================
; 5. 可选配置
; =========================
; priority=999
5.2 创建日志目录
mkdir -p /wzxy/nginxui/log
5.3 重新加载 Supervisor
supervisorctl reread
supervisorctl update
5.4 启动 nginx-ui
supervisorctl start nginxui
查看状态:
supervisorctl status
5.5 查看日志
tail -f /wzxy/nginxui/log/nginxui.log
6. 放行防火墙端口
如果开启了防火墙:
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
7. 推荐生产部署架构
推荐:
Browser
↓
Nginx :80 / :443
↓
nginx-ui :9000
即:
外部用户访问 NGINX
nginx-ui 不直接暴露公网
- 使用 NGINX 做反向代理
8. NGINX 反向代理 nginx-ui
示例:
server {
listen 80;
server_name nginxui.example.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
9. 常用命令
Supervisor
| 命令 | 说明 |
|---|---|
supervisorctl status | 查看状态 |
supervisorctl start nginxui | 启动 |
supervisorctl stop nginxui | 停止 |
supervisorctl restart nginxui | 重启 |
supervisorctl tail nginxui | 查看日志 |
nginx-ui
| 命令 | 说明 | |
|---|---|---|
./nginx-ui | 前台启动 | |
./nginx-ui -h | 查看帮助 | |
| `ps -ef | grep nginx-ui` | 查看进程 |
10. 注意事项
10.1 root 权限问题
nginx-ui 需要:
修改 NGINX 配置
重载 NGINX
管理证书
因此通常需要:root 权限
否则可能无法:reload nginx
写入配置文件
读取日志
10.2 配置修改后建议测试
执行:
nginx -t
确认配置正常后再 reload。
10.3 不建议直接暴露公网
推荐:
公网
↓
Nginx HTTPS
↓
nginx-ui
不要:
公网 → 9000
避免管理后台被扫描攻击。
10.4 建议开启 HTTPS
管理后台建议:
HTTPS
强密码
IP 白名单
- Fail2Ban
结束
至此,你已经完成:
nginx-ui 安装
Supervisor 托管
WebUI 管理
SSL 管理
NGINX 配置管理
Prometheus 支持
适用于:VPS
NAS
云服务器
小型生产环境
Spring Boot 反向代理管理场景
最后编辑:zws 更新时间:2026-05-24 17:36