1 Star 0 Fork 0

Samle/nginx-ui

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

nginx 可视化界面

项目的主要功能未nginx的配置管理,通过可视化的界面去配置nginx,所有的配置渲染逻辑都在前端进行,通过后台服务渲染到部署nginx的服务器上;
由于nginx的配置实在是太多了,只是可视化了部分常用的功能;
可以用于开发环境,需要经常变动一些配置信息的场景.

  • 项目的web前端基于react开发,使用vite构建工具;
  • 后端使用golang语言开发(菜鸟学习中)

demos and docs

在线demo
账号: demo
密码: demo

在线文档 在线文档 在线文档

快速部署

镜像: registry.cn-hangzhou.aliyuncs.com/tuon-pub/nginx-with-ui 该镜像以nginx:1.25.1 为基础打包,自带nginx,网络模式使用主机模式

  • docker-compose

version: "3"

services:
  nginx-with-ui:
    image: registry.cn-hangzhou.aliyuncs.com/tuon-pub/nginx-with-ui:latest
    restart: always
 #   ports:
 #     - 8080:8080
    network_mode: host
    volumes:
      - ./data:/app/data
      - ./data/conf:/app/conf
      - ./web:/data               # 映射静态资源地址

  • docker快速启动
docker run -itd --name nginx-ui -p8080:8080 -v {datadir}:/app/data -v {confdir}:/app/conf registry.cn-hangzhou.aliyuncs.com/tuon-pub/nginx-with-ui:latest
  • 说明
    • 8080为nginx-ui的服务端口,其余则为nginx代理端口,自定义或者直接使用 network_mode: host 模式即可
    • 启动成功后,在登录界面,先注册账号后,使用注册的账号登录即可使用,管理员账号可以查看docker的启动日志查看
    • 配置文件参考在线文档

构建

项目构建基于docker-compose, 分为两种情况

  • 基础镜像为nginx 容器自带nginx,启用web服务
    docker-compose -f ./docker-compose-dev.yaml build
    
  • 基础镜像为debian:sid-slim 镜像不包含nginx,仅启动web服务
    docker-compose -f ./docker-compose.yaml build
    

前端在本地构建,以上构建方式不包含前端

部署

使用docker部署

  • 将docker-compose.yaml 或者 docker-compose-dev.yaml 复制到自己的文件夹下 修改编排中的volumes,更改目录映射,容器内 /app/data 为目录持久化数据所在目录。
docker-compose -f ./docker-compose.yaml up -d

使用IP:8080端口访问 或者

docker run -itd -v ./data/:/app/data --network host --name registry.cn-hangzhou.aliyuncs.com/tuon-pub/nginx-with-ui:latest
# or
docker run -itd -v ./data/:/app/data -p8080:8080 --name registry.cn-hangzhou.aliyuncs.com/tuon-pub/nginx-ui

本地部署

# 下载构建产物,解压

截图

实例列表

实例信息

负载均衡

虚拟主机

参考文档

配置部分参考一下文档:

构建部署

以下操作进入到项目根目录执行

构建

docker-compose build 或者执行脚本sh build.sh

nginx-ui优化点

  • nginx实例列表界面,添加完实例之后,弹窗没有关闭,且没有自动刷新当前界面
  • server或者location的rewrite是否配置的判定问题
  • nginx 实例设置时,将需要的目录文件创建好
  • 新增虚拟主机或者其它新增界面,无法重置当前的表单,需要结合planning-tools,增加重置功能
  • 证书管理,将证书信息保存到数据库,方便做nginx服务前移,不能直接写文件,可以增加从文件夹同步的功能
  • 后端docker启动时,默认启动本地的NGINX,docker镜像问题
  • 很多界面的默认值问题,优化初始值
  • nginx.conf默认值问题,每次容器重启都会被重置
  • 增强证书管理:添加时间,有效期,域名
  • 增加一些快捷按钮,比如转发真实IP,支持websocket,跨域设置等
  • 考虑是否增加静态站点的文件上传功能
  • 考虑多租户的功能,目前前端使用的是nginx auth的授权认证,该方式是否能传递用户id作为查询数据的条件
  • 考虑增加jwt,basic授权

更新日志

2023-07-06

  • ngx_http_auth_request_module 鉴权模块的实现
  • 20230710:修复return 语句未渲染的问题
  • 20230719: 修复return语句在代理或者静态站点的情况下依然渲染的问题

2023-12-19

  • 对接第三方oauth
  • docker镜像增加ca-certificates curl 软件安装

2024-06-16

  • 调整项目文件结构
  • 增加桌面版本打包

git代理

git config --global http.proxy http://127.0.0.1:{port}

git config --global https.proxy http://127.0.0.1:{port}

git config --global --unset http.proxy

git config --global --unset https.proxy

desktop 桌面版本

参考文档: https://wails.io/zh-Hans/docs/reference/project-config

开发

wails dev

打包

## 生产版本
wails build -webview2=embed
## 带debug
wails build -webview2=embed -debug
MIT License Copyright (c) 2023 tuonina Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/CZJpython/nginx-ui.git
git@gitee.com:CZJpython/nginx-ui.git
CZJpython
nginx-ui
nginx-ui
master

搜索帮助