NginxWebUI--强大的nginx可视化配置工具

时间:2024-01-03 18:10:41 买帖  | 投诉/举报

篇首语:本文由小编为大家整理,主要介绍了NginxWebUI--强大的nginx可视化配置工具相关的知识,希望对你有一定的参考价值。

参考技术A

本文介绍一下 nginxWebUI ,通过这款工具我们可以轻松的以图形化方式来配置我们的 Nginx 的各项功能,包括 HTTP 协议转发, TCP 协议转发,反向代理,负载均衡, SSL 证书自动申请、续期。 NginxWebUI 可以部署在 Ubuntu 、 CentOS 、 Windows 等各个平台,可以通过本地部署或者通过Docker镜像来部署,其中 Docker 部署是最为简单的,只需要拉取镜像、创建并启动容器,接下来将演示如何使用 Docker 来部署 NginxWebUI 。

NginxWebUI官网

系统:CentOS 7
Docker:20.10.11

大家可以根据自己的习惯来自定义nginxWebUI容器与宿主机的映射目录

这段创建容器命令使用了 --net=host ,直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

但是本人一般只用得到80端口和443端口,而nginxWebUI也要用到8080端口,这里我以端口映射的方式来监听: -p 80:80 -p 443:443 -p 8080:8080

自定义端口映射就会有局限性,在配置中你如果代理到其它端口就无法监听到了,所以如果你想端口随意监听请用上面那条命令,如果和我一样只用得到80和443那就请用下面这条命令

容器正常启动

由于创建容器的时候我的容器端口参数 --server.port=8080 设置的为8080,所以我们就要使用服务器IP+8080端口就可以访问到后台。

例如我的服务器IP: 192.168.223.140 ,那我就访问 192.168.223.140:8080 ,就会进入到以下界面,第一次进入后台需要设置用户名和密码:

例如:这里演示配置反向代理(server)参数

代理服务器80端口到服务器的8080端口进行测试

提交配置

启动配置

左边是生成的nginx配置,右边才是nginx的真正配置文件

替换文件

启动Nginx

上面我们将80端口代理到8080端口,这样我们访问80端口会直接来到nginxWebUI的后台。

浏览器访问http协议默认就是80端口可以不用加,这里为了直观展示还是加了
效果:

可以看到我们的配置文件生效了,访问80端口被代理到服务器的8080端口。

这里只展示了反向代理功能,其它功能的使用都差不多一样,大家可自行测试。

nginx本身功能复杂, 这个项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

太赞了!墙裂推荐这款网页版 Nginx 配置生成器,好用到爆!

之前民工哥也给大家介绍过一款Nginx配置生成器:​​强大!Nginx 配置在线一键生成“神器”​​​,不太了解的人可以去看一看。

最近民工哥又发现一款好用的网页版开源工具,同样它的功能也是Nginx配置生成器,功能非常强大,方便实用,它是:NginxWebUI

NginxWebUI介绍

NginxWebUI是一款方便实用的nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl 证书配置,负载均衡等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。

项目地址:https://gitee.com/cym1102/nginxWebUI

官方网站:https://nginxwebui.gitee.io

NginxWebUI功能说明

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

  • 本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理。

  • nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

  • 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。

NginxWebUI安装

它有两种安装方式:

  • 一种是jar包运行方式

  • 一种是 Docker运行方式

1、jar包运行方式 首先需要安装JDK和Nginx环境,这里不再赘述了,有兴趣的可以看看前面的文章。下载jar包

wget https://craccd.oss-cn-beijing.aliyuncs.com/nginxWebUI-1.3.5.jar

启动程序

nohup java -jar -Xmx64m nginxWebUI-1.3.5.jar --server.port=8080 ----project.home=/home/nginxWebUI/ &

启动参数说明:

  • -Xmx64m 最大分配内存数

  • --server.port 占用端口, 默认以8080端口启动

  • --project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/

注意命令最后加一个&号, 表示项目后台运行

2、Docker运行方式

本项目制作了docker镜像, 同时包含nginx和nginxWebUI在内, 一体化管理与运行nginx.

首先安装docker运行环境,之前公众号有文章介绍,可以去搜索查阅一下。

下载整体镜像文件:

docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.3.5

启动容器:

docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--变量名=变量值 --变量名2=变量值2" --privileged=true --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.3.5 /bin/bash

参数说明:

  • 启动容器时请使用--net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

  • 容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.

  • -e BOOT_OPTIONS 参数可填充java启动参数, jar安装教程中的参数均可使用, 可以靠此项参数修改端口号等

  • 日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

安装完成,启动之后,就要以通过WEB网页来访问这个项目了。

NginxWebUI使用演示

在浏览器直接输入地址:http://serve_ip:8080/访问

第一次登录,需要初始化用户,输入你的用户与密码,点击添加即可。

登录完成之后的界面如下:

在http参数配置中可以配置nginx的http项目,进行http转发, 默认会给出几个常用配置, 其他需要的配置可自由增删改查。可以勾选开启日志跟踪, 生成日志跟踪配置项, 每天0点时刻可生成上一天的日志分析报告。由于日志文件access.log文件过大, 默认只保留7天的log文件, 但分析报告可一直保留。

在TCP参数配置中可以配置nginx的steam项目参数, 进行tcp转发。

在反向代理中可配置nginx的反向代理即server项功能, 可开启ssl功能, 可以直接从网页上上传pem文件和key文件, 或者使用系统内申请的证书, 可以直接开启http转跳https功能,也可开启http2协议。

在负载均衡中可配置nginx的负载均衡即upstream项功能, 在反向代理管理中可选择代理目标为配置好的负载均衡。

在html静态文件上传中可直接上传html压缩包到指定路径,上传后可直接在反向代理中使用,省去在Linux中上传html文件的步骤。

在证书管理中可添加证书, 并进行签发和续签, 开启定时续签后, 系统会自动续签即将过期的证书。

最终生成conf文件,可在此进行进一步手动修改,确认修改无误后,可覆盖本机conf文件,并进行效验和重启, 可以选择生成单一nginx.conf文件还是按域名将各个配置文件分开放在conf.d下。

备份文件管理, 这里可以看到nginx.cnf的备份历史版本, nginx出现错误时可以选择回滚到某一个历史版本。

log管理, 在http配置中如果开启了log监控的话, 会每天在这里生成日志分析报告。

远程服务器管理, 如果有多台nginx服务器, 可以都部署上nginxWebUI, 然后登录其中一台, 在远程管理中添加其他服务器的ip和用户名密码, 就可以在一台机器上管理所有的nginx服务器了。

提供一键同步功能, 可以将某一台服务器的数据配置和证书文件同步到其他服务器中。

整个的配置过程的使用步骤就是这样。

从整体试用的过程中看来,还真的是一个非常强大的开源工具,而且非常实用,好用到爆!!!这里也墙裂推荐给大家,让大家告别复杂的配置过程,提高工作效率,为开源作者点赞!!

看到这里,如本文对你有所帮助,不要忘记点个在看与转发分享出去!!

以上是关于NginxWebUI--强大的nginx可视化配置工具的主要内容,如果未能解决你的问题,请参考以下文章