Nginx-UI 简介
Nginx-UI 是一个基于 Web 的图形化界面工具,用于简化 Nginx 服务器的配置和管理。它允许用户通过可视化操作生成 Nginx 配置文件,支持 SSL 证书管理、反向代理配置、负载均衡等常见功能,适合开发者和运维人员快速管理 Nginx 服务。
核心特点
-
可视化配置
- 通过 Web 界面直接配置 Nginx 的
server、location、upstream等模块,无需手动编辑配置文件。 - 支持实时预览生成的配置代码。
- 通过 Web 界面直接配置 Nginx 的
-
SSL 证书管理
- 自动申请和续签 Let's Encrypt 证书。
- 支持上传自定义证书(如商业证书)。
-
配置版本控制
- 自动备份历史配置,支持快速回滚到任意版本。
-
权限与安全
- 多用户角色管理(管理员、普通用户)。
- 支持 OAuth2 登录(如 GitHub、Google)。
-
API 支持
- 提供 RESTful API,便于集成到自动化运维系统。
-
实时生效
- 配置修改后自动校验语法,一键重载 Nginx 服务。
安装部署
方式 1:Docker 部署(推荐)
步骤:
-
拉取镜像:
docker pull nginxui/nginx-ui:latest -
运行容器:
docker run -d \ --name nginx-ui \ -p 8080:80 -p 4430:443 \ -v /path/to/nginx.conf:/etc/nginx/nginx.conf \ -v /path/to/sites:/etc/nginx/sites \ -v /var/run/docker.sock:/var/run/docker.sock \ nginxui/nginx-ui参数说明:
-p 8080:80:将容器 80 端口映射到宿主机 8080(Web 界面)。-v /path/to/nginx.conf:挂载 Nginx 主配置文件。-v /var/run/docker.sock:允许通过 Docker API 管理容器(可选)。
内网虚拟机部署: docker run -p 8081:80 --name=nginx-ui --restart=always -v /mydata/nginx-ui/ngetc:/etc/nginx -v /mydata/nginx-ui/uietc:/etc/nginx-ui -e TZ=Asia/Shanghai -dit uozi/nginx-ui:latest docker run -p 80:80 --name nginx -v /usr/local/docker/nginx/html:/usr/share/nginx/html -v /usr/local/docker/nginx/logs:/var/log/nginx --net=host -d nginx:latest docker run -p 8081:80 --name=nginx-ui --restart=always -v /mydata/nginx-ui/ngetc:/etc/nginx -v /mydata/nginx-ui/uietc:/etc/nginx-ui -e TZ=Asia/Shanghai --net=host -dit uozi/nginx-ui:latest
方式 2:二进制文件安装
- 下载二进制文件:
wget https://github.com/nginxui/nginx-ui/releases/latest/download/nginx-ui-linux-amd64.tar.gz tar -zxvf nginx-ui-linux-amd64.tar.gz - 创建 Systemd 服务:
sudo nano /etc/systemd/system/nginx-ui.service[Unit] Description=Nginx-UI After=network.target [Service] ExecStart=/path/to/nginx-ui --config /etc/nginx-ui/config.yml Restart=always [Install] WantedBy=multi-user.target - 启动服务:
sudo systemctl enable --now nginx-ui
方式 3:源码编译(适合开发者)
- 安装依赖(Go 1.16+):
git clone https://github.com/nginxui/nginx-ui.git cd nginx-ui go mod download - 编译并运行:
go build -o nginx-ui ./nginx-ui --config config.yml
使用方法
-
访问 Web 界面
- 浏览器打开
http://服务器IP:8080,默认账号密码为admin/admin。
- 浏览器打开
-
配置 Nginx 服务
- 添加站点:进入
Sites→ 点击Add Site,填写域名、监听端口、SSL 证书等。 - 反向代理:在站点配置中添加
Location,选择Proxy类型,填写后端服务地址(如http://localhost:3000)。 - 负载均衡:在
Upstream模块添加多个后端服务器,配置权重和健康检查。
- 添加站点:进入
-
SSL 证书申请
- 进入
Certificates→Request Certificate,填写域名并选择 Let's Encrypt 作为 CA。
- 进入
-
应用配置
- 修改完成后点击
Save & Apply,系统会自动校验语法并重载 Nginx。
- 修改完成后点击
-
API 调用示例
curl -X GET "http://localhost:8080/api/configs" -H "Authorization: Bearer {API_TOKEN}"
注意事项
- 权限问题:确保 Nginx-UI 对挂载的 Nginx 配置目录有读写权限。
- 安全性:修改默认账号密码,启用 HTTPS 访问 Web 界面。
- 兼容性:Nginx-UI 生成的配置可能依赖特定模块(如
http_ssl_module),需确保 Nginx 已启用。
通过 Nginx-UI,用户可以大幅简化 Nginx 的配置流程,尤其适合需要频繁调整服务配置的团队或个人开发者。