nginxWebUI :nginx可视化配置工具---实践

2023-12-12 05:32

本文主要是介绍nginxWebUI :nginx可视化配置工具---实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

nginxWebUI :nginx可视化配置工具—实践

官网:nginxWebUI

nginx的可视化配置管理工具,最近发现迭代了新版本,安装体验了一下。

nginxWebUI 简介

本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。

支持nginx服务器集群批量管理, 可批量发送配置文件, 批量执行重启和重载入的命令。

部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 再也不用为了配多个nginx登录n遍服务器了, 只需要在本项目中进行增删改查就可方便的配置nginx和服务器集群。

nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 但支持配置的功能已经涵盖90%的nginx使用, 更高级的功能配置可根据需要在最终生成的nginx.conf中进行手动编写。

技术说明

本项目是基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库.

其中orm使用了本人自己开源的sqlHelper项目作为orm, 使用sqlite作为数据库, 项目启动时会释放一个.sqlite.db到系统用户文件夹中, 注意进行备份 .

本系统支持在系统内通过Let’s encrypt申请和续签证书, 使用acme.sh脚本进行自动化申请, 开启续签的证书将在每天凌晨2点进行续签, 只有超过60天的证书才会进行续签. acme.sh只支持linux, 因此只能在linux中进行证书申请

部署说明

本项目推荐使用docker进行部署, 提供一个集成了nginx与nginxWebUI的docker镜像, 可一体化运行与管理nginx, 更方便更安全更独立。

//拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.2.1
或
docker pull cym1102/nginxwebui:latest//启动容器
docker run -itd --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.2.1
或
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host  cym1102/nginxwebui:latest /bin/bash

注意:

  1. 启动容器时请使用–net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.
  2. 容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.
  3. -e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号
  4. 日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

​ --server.port 占用端口, 不填默认以8080端口启动

另: 使用docker-compose时配置文件如下:

version: "3.2"
services:nginxWebUi-server:image: cym1102/nginxwebui:2.7.1volumes:- type: bindsource: "/home/nginxWebUI"target: "/home/nginxWebUI"environment:BOOT_OPTIONS: "--server.port=8080"privileged: truenetwork_mode: "host"
安装

拉取镜像

docker pull cym1102/nginxwebui:latest

image-20210929111145773

启动容器

docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8082" --privileged=true --net=host  cym1102/nginxwebui:latest /bin/bash

image-20210929111345389

–server.port 占用端口, 不填默认以8080端口启动,可自定义,我这边取的是8082

服务器添加安全组,以阿里云为例:先添加安全组:

image-20210929112354960

页面打开

http://你的ip:8082

进入初始化页面设置账号密码:

image-20210929113044062

登陆后:

image-20210929113551554

image-20210929113422869

在控制台可以:

  1. 监控服务器配置信息和使用情况。

  2. 可远程配置其他的服务器。

  3. 配置Stream参数、反向代理。负载均衡

  4. 可在此后台上传静态页面文件,例如前端开发人员可直接在此上传dist包了。

  5. 也可配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。

  6. 支持nginx服务器集群批量管理, 可批量发送配置文件, 批量执行重启和重载入的命令。

  7. 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 再也不用为了配多个nginx登录n遍服务器了, 只需要在本项目中进行增删改查就可方便的配置nginx和服务器集群。

  8. 查看nginx日志。

  9. 数据的导出、导入。

    演示地址: http://154.31.21.178:8080
    用户名: admin
    密码: Admin123
    
    有兴趣的小伙伴大可一试!

这篇关于nginxWebUI :nginx可视化配置工具---实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483404

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方