[特殊字符] Nginx UI:Docker 部署与完全使用指南

📖 什么是 Nginx UI?

Nginx UI 是一个开源的 Web 图形化管理工具,旨在彻底改变你管理 Nginx 的方式。它能够让你在浏览器中轻松完成:

  • 管理网站/虚拟主机:添加、删除、修改站点配置
  • 配置反向代理:图形化设置负载均衡、缓存规则
  • HTTPS 证书管理:一键申请和自动续期 Let's Encrypt 证书
  • 实时监控:查看 CPU、内存、网络等服务器运行指标
  • 配置管理:在线编辑、语法高亮、版本回滚
  • 日志查看:直接在网页上查看访问日志和错误日志

🐳 Docker 部署方案(推荐)

方案一:快速部署(一条命令搞定)

这是最快速的启动方式,适合测试或快速体验:

bash 复制代码
docker run -dit \
  --name=nginx-ui \
  --restart=always \
  -e TZ=Asia/Shanghai \
  -v /opt/nginx/data/nginx:/etc/nginx \
  -v /opt/nginx/data/nginx-ui:/etc/nginx-ui \
  -v /opt/nginx/data/www:/var/www \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -p 8080:80 -p 8443:443 \
  uozi/nginx-ui:latest
参数详细说明
参数 作用 说明
-d 后台运行 容器在后台持续运行
-it 交互模式 保证容器正常运行
--name=nginx-ui 容器命名 后续可通过 docker stop/start nginx-ui 管理
--restart=always 自动重启 容器退出或服务器重启时自动拉起
-e TZ=Asia/Shanghai 时区设置 设置为中国时区,确保日志时间正确
-v /opt/nginx/data/nginx:/etc/nginx Nginx 配置持久化 将容器内的 Nginx 配置文件映射到宿主机,不会因容器删除而丢失
-v /opt/nginx/data/nginx-ui:/etc/nginx-ui UI 配置持久化 保存 Nginx UI 自身的配置、数据库和证书信息
-v /opt/nginx/data/www:/var/www 网站文件持久化(可选) 存放静态网站文件
-v /var/run/docker.sock:/var/run/docker.sock Docker Socket 映射 让容器能与宿主机 Docker 守护进程通信(高级功能)
-p 8080:80 端口映射 将容器的 80 端口映射到宿主机的 8080 端口,通过 http://IP:8080 访问
-p 8443:443 HTTPS 端口映射 将容器的 443 端口映射到宿主机的 8443 端口,用于 HTTPS 访问
uozi/nginx-ui:latest 镜像名称 官方 Nginx UI Docker 镜像

启动后,访问 http://你的服务器IP:8080 即可开始使用 。


方案二:Docker Compose 部署(生产推荐)

这种方式更规范,便于管理和迁移。创建 docker-compose.yml 文件:

yaml 复制代码
version: '3.8'

services:
  nginx-ui:
    image: uozi/nginx-ui:latest
    container_name: nginx-ui
    restart: always
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /opt/nginx/data/nginx:/etc/nginx
      - /opt/nginx/data/nginx-ui:/etc/nginx-ui
      - /opt/nginx/data/www:/var/www
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "80:80"
      - "443:443"
    networks:
      - nginx-ui-net

networks:
  nginx-ui-net:
    driver: bridge

启动命令:

bash 复制代码
docker-compose up -d

停止命令:

bash 复制代码
docker-compose down

对比说明:方案二将端口映射为标准的 80 和 443,这样访问时不需要输入端口号,更适合生产环境 。


⚠️ 重要提醒:两种部署方式的区别

Docker 部署的 Nginx UI 是独立运行的 Nginx 实例,它不能直接管理你在宿主机上已安装的 Nginx 服务 。

  • Docker 方式:适合全新部署,或希望将 Nginx 服务也容器化的场景
  • 宿主机方式:如果你需要管理现有的宿主机 Nginx,请使用「安装脚本」方式

安装脚本快速命令

bash 复制代码
curl -O https://cloud.nginxui.com/install.sh
sudo bash install.sh install

🎯 首次启动与初始化

1. 获取安装密钥(重要)

容器首次启动后,安装密钥存储在映射的配置目录中 :

bash 复制代码
# 查看安装密钥
cat /opt/nginx/data/nginx-ui/.install_secret

2. 访问 Web 界面

打开浏览器访问:http://你的服务器IP:8080

你会看到初始化页面,需要输入刚才获取的安装密钥。设置管理员用户名和密码后即可登录 。

3. 首次登录后的设置

登录后,你会看到仪表盘,展示服务器的实时状态:CPU 使用率、内存占用、磁盘使用情况和网络流量 。


🛠️ 核心功能使用指南

1. 📊 仪表盘监控

登录后的首页显示服务器的关键性能指标 :

  • CPU、内存、磁盘使用率
  • 系统负载和网络流量
  • Nginx 连接数统计

2. 🌐 管理站点(虚拟主机)

添加新站点的步骤

  1. 进入「站点管理 」→「添加站点
  2. 填写域名(如 example.com
  3. 配置根目录(如 /var/www/example.com
  4. 设置端口(默认 80/443)
  5. 点击保存,系统会自动生成配置文件

3. 🔄 配置反向代理

  1. 进入「站点管理 」→选择域名→「编辑
  2. 切换到「位置」选项卡
  3. 点击「添加 」,设置路径(如 /api
  4. 填写代理目标地址(如 http://localhost:3000
  5. 保存后自动生效

命令参数说明:这是图形化界面操作,无需记忆命令行参数,表单填写即可。

4. 🔐 一键申请 HTTPS 证书

Nginx UI 内置了 Let's Encrypt 支持,可以一键申请和自动续期 SSL 证书 :

  1. 进入「证书管理 」→「申请证书
  2. 输入域名(必须已解析到服务器 IP)
  3. 选择验证方式(HTTP 验证或 DNS 验证)
  4. 点击「申请」,系统自动完成
  5. 证书会自动关联到对应站点,并提前 30 天自动续期

5. 📝 在线编辑配置文件

  • 进入「配置管理」→选择配置文件
  • 编辑器支持语法高亮自动补全
  • 保存时会自动进行语法检查,错误配置会被拦截,不会导致 Nginx 崩溃
  • 每修改一次配置,系统都会保留历史版本,可以随时回滚

6. 📜 查看日志

  • 进入「日志管理 」→选择「访问日志 」或「错误日志
  • 直接在网页上查看,支持按关键字搜索
  • 无需登录服务器执行 tail -f 命令

7. 🤖 AI 智能助手

Nginx UI 集成了大语言模型支持,遇到不懂的配置项可以直接在界面上询问,获得智能提示和解释 。


🔧 进阶配置

配置 Nginx 反向代理访问 UI(新增 HTTPS 支持)

如果你的服务器已经有 Nginx 在运行 80/443 端口,可以配置反向代理来访问 Nginx UI :

nginx 复制代码
server {
    listen 80;
    server_name nginx-ui.yourdomain.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:8080;
    }
}

配置完成后,使用 Certbot 添加 HTTPS:

bash 复制代码
sudo certbot --nginx -d nginx-ui.yourdomain.com

安全建议

  1. 启用双因素认证:在用户设置中开启,增强账号安全
  2. 限制访问 IP:如果只有特定 IP 需要访问,可在 Nginx 层面添加 IP 白名单
  3. 修改默认端口:不要使用默认的 8080 端口,改为其他高位端口
  4. 定期备份配置 :备份 /opt/nginx/data/ 目录下的所有文件

数据备份

定期备份数据卷,以防数据丢失 :

bash 复制代码
# 创建一个备份脚本
tar -czf nginx-ui-backup-$(date +%Y%m%d).tar.gz /opt/nginx/data/

# 可配合 crontab 定时执行
0 3 * * * tar -czf /backup/nginx-ui-$(date +%Y%m%d).tar.gz /opt/nginx/data/

❗ 常见问题与解决方法

问题 解决方法
容器启动失败 检查端口是否被占用:`netstat -tulnp
无法访问 Web 界面 检查防火墙是否开放端口:firewall-cmd --list-portsufw status
配置保存后不生效 检查配置文件语法是否正确,查看 Nginx 错误日志定位问题
Let's Encrypt 证书申请失败 确认域名已正确解析到服务器 IP,检查 80/443 端口是否开放
忘记管理员密码 联系技术支持重置,或删除数据库文件重新初始化(会丢失所有配置)
Docker 容器内无法管理宿主机 Nginx 这是预期行为,如需管理宿主机 Nginx,请改用安装脚本方式部署

📈 性能优化建议

  1. 限制容器资源 :在 docker run 中添加参数 --memory="512m" --cpus="0.5" 限制资源使用
  2. 日志轮转:配置 logrotate 定期清理日志文件,防止磁盘写满
  3. 定期更新 :使用 docker pull uozi/nginx-ui:latest 拉取最新镜像,重启容器完成更新

💎 总结

通过 Docker 部署 Nginx UI,你可以将 Nginx 的管理工作从命令行提升到图形化界面,大幅提升工作效率。无论是新手学习 Nginx,还是运维人员管理多站点、配置 HTTPS、调试反向代理,Nginx UI 都能让你事半功倍 。

开始之前,请记住部署方式的选择:

  • 全新部署:用 Docker 方式,一条命令搞定
  • 管理已有 Nginx :用安装脚本方式,bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ install

祝使用愉快!🎉

相关推荐
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_57:(HTML 表格进阶特性与无障碍实践)
java·前端·javascript·ui·html·音视频
孙高飞2 小时前
AI 驱动 UI 自动化的完整 DEOM 工程下载与详解
人工智能·ui·自动化
UXbot2 小时前
支持移动端原型绘制的 AI 工具核心功能对比(2026):5 款主流平台能力横向评测
前端·低代码·ui·交互·原型模式·web app
csdn小瓯2 小时前
CI/CD流水线搭建:GitHub Actions + Docker + Railway自动化部署实战
ci/cd·docker·github
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_54:(深入掌握 XSLTProcessor API)
前端·javascript·ui·html·媒体
代码讲故事2 小时前
mac电脑上docker突然无法运行,不停的出现弹框,“com.docker.vmnetd”将对你的电脑造成伤害。附国内不同芯片高速下载地址,下载直接运行。
macos·docker·容器·arm·mac·intel·下载
yoyo_zzm3 小时前
ThinkPHP1.X核心特性解析
数据库·spring boot·nginx
小短腿的代码世界3 小时前
QGC飞控参数系统架构深度解析:从XML到飞控寄存器的参数同步引擎
qt·microsoft·ui
皓月盈江3 小时前
Linux Ubuntu系统使用Docker搭建vulhub靶场环境
linux·ubuntu·docker·tomcat·vulhub·漏洞靶场