之前民工哥也给大家介绍过一款 Nginx 配置生成器:强大!Nginx 配置在线一键生成“神器”,不太了解的人可以去看一看。
最近民工哥又发现一款好用的网页版开源工具,同样它的功能也是 Nginx 配置生成器,功能非常强大,方便实用,它是:NginxWebUI。
NginxWebUI 介绍
NginxWebUI 是一款方便实用的 nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括 端口转发,反向代理,ssl 证书配置,负载均衡 等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。
项目地址:https://gitee.com/cym1102/ngi…
官方网站: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 服务器了。
提供一键同步功能, 可以将某一台服务器的数据配置和证书文件同步到其他服务器中。
整个的配置过程的使用步骤就是这样。
从整体试用的过程中看来,还真的是一个非常强大的开源工具,而且非常实用,好用到爆!!!这里也墙裂推荐给大家,让大家 告别复杂的配置过程,提高工作效率,为开源作者点赞!!
如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞 + 转发分享。
欢迎大家关注民工哥的公众号:民工哥技术之路