《开放源码精选》是我们撷取Github、Gitee等开放源码街道社区中优质工程项目的版块,主要包括控制技术、学习、新颖与各种有意思的内容。下期推荐的是两个Nginx介面新颖性辅助工具——nginxWebUI。
nginxWebUI是一款GUI管理工作nginx新颖性的辅助工具, 可以采用页面来加速新颖性nginx的各项机能, 主要包括http协定转贴、tcp协定转贴、逆向代理、阻抗均衡、动态html伺服器、ssl合格证书手动提出申请、签、新颖性等,新颖性好后可一建聚合nginx.conf文档, 同时可掌控nginx采用此文档展开启动与空载,完成对nginx的GUI掌控生态圈。
机能特性
新颖性文档统计数据化:将nginx繁杂的新颖性文档修正操作方式,更改为统计数据的校订改查,最大限度解放劳动力,无须到处找修正讲义。软件产业管理工作:在两台机器管理工作所有nginx软件产业伺服器新颖性文档,展开统一修正与重新启动,无须须要频繁登入各个伺服器操作方式。合格证书全屏提出申请与手动签:全屏免费聚合ssl合格证书并展开搜索引擎存取,可在合格证书已过期前展开手动签,确保网站的https可靠性与可持续性。强悍的nginx笔记导出:可全屏新颖性nginx笔记聚合文件格式,并展开GUI导出,充分了解来访者统计数据与前台服务工程项目动态分析。docker罐子部署:将nginx与nginxWebUI软件系统到两个docker快照中,完美的打造两个拥有GUI的nginx运行包,不与伺服器上其他流程冲突。统计数据引入求出:可将拉沙泰格赖厄县统计数据求出到两个文档当中,方便快捷流程移殖与布署。页面和合格证书间接上载:可在页面中间接上载nginx须要的页面与合格证书,方便快捷T8300LX1服务工程项目,不间断抛弃ssh应用程序。强悍的存储管理工作机制:每一次代替nginx.conf文档,单厢产生两个存储,确保疏忽可以足不出户回滚,手贱也没有任何人问题。控制技术说明
本工程项目是基于solon的web系统,统计资料库采用h2, 因此伺服器上不须要安装任何人统计资料库。
本系统通过Lets encrypt提出申请合格证书,采用acme.sh脚本展开手动化提出申请和签,开启签的合格证书将在每天凌晨2点展开签,只有超过60天的合格证书才会展开签,只支持在linux下签发合格证书。
添加tcp/ip转贴新颖性支持时, 一些低版本的nginx可能须要重新编译,通过添加–with-stream参数指定安装stream模块才能采用,但在ubuntu 18.04下,官方软件库中的nginx已经带有stream模块,不须要重新编译。本系统如果新颖性了tcp转贴项的话,会手动引入ngx_stream_module.so的新颖性项,如果没有开启则不引入,最大限度优化ngnix新颖性文档。
介面说明
打开 http://ip:8080 进入主页。
登入页面,第一次打开会要求初始化管理工作员账号。
进入系统后,可在管理工作员管理工作里面添加修正管理工作员账号。
在http参数新颖性中可以新颖性nginx的http工程项目,展开http转贴,默认会给出几个常用新颖性,其他须要的新颖性可自由校订改查,可以勾选开启笔记跟踪,聚合笔记文档。
在TCP参数新颖性中可以新颖性nginx的steam工程项目参数,展开tcp转贴。
在逆向代理中可新颖性nginx的逆向代理即server项机能,可开启ssl机能,可以间接从网页上上载pem文档和key文档,或者采用系统内提出申请的合格证书,可以间接开启http转跳https机能,也可开启http2协定。
在阻抗均衡中可新颖性nginx的阻抗均衡即upstream项机能,在逆向代理管理工作中可选择代理目标为新颖性好的阻抗均衡。
在合格证书管理工作中可添加合格证书,并展开签发和签,开启定时签后,系统会手动签即将已过期的合格证书。
存储文档管理工作,这里可以看到nginx.cnf的存储历史版本,nginx出现错误时可以选择回滚到某两个历史版本。
最终聚合conf文档,可在此展开进一步手动修正,确认修正无误后,可覆盖本机conf文档,并展开校验和重新启动,可以选择聚合单一nginx.conf文档还是按搜索引擎将各个新颖性文档分开放在conf.d下。
远程伺服器管理工作,如果有多台nginx伺服器,可以都部署上nginxWebUI,然后登入其中两台,在远程管理工作中添加其他伺服器的ip和用户名密码,就可以在两台机器上管理工作所有的nginx伺服器了。
提供全屏同步机能,可以将某两台伺服器的统计数据新颖性和合格证书文档同步到其他伺服器中。
本系统提供http接口调用,只要开 http://xxx.xxx.xxx.xxx:8080/doc.html 即可查看smat-doc接口页面。
n,然后在knife4j的文档管理工作中设置全局token。
安装讲义
jar安装说明:
注意:本工程项目须要在root用户下运行系统命令,极容易被黑客利用,请一定修正密码为复杂密码
以Ubuntu操作方式系统为例:
1 安装java运行环境和nginx
Ubuntu:
apt install openjdk-8-jdk sudo apt install nginxCentos:
yum install java-1.8.0-openjdk yuminstall nginxWindows:
下载JDK安装包 https://www.oracle.com/java/technologies/downloads/ 新颖性JAVA运行环境 JAVA_HOME : JDK安装目录 Path : JDK安装目录\bin 重新启动电脑2 下载最新版发行包jar
有新版本只须要修正路径中的版本即可。
Linux: wget -O /home/nginxWebUI/nginxWebUI.jarhttp://file.nginxwebui.cn/nginxWebUI-3.2.8.jar Windows: 间接采用浏览器下载 http://file.nginxwebui.cn/nginxWebUI-3.2.8.jar3 启动流程
Linux: nohup java -jar -Dfile.encoding=UTF-8/home/nginxWebUI/nginxWebUI.jar –server.port=8080 –project.home=/home/nginxWebUI/ > /dev/null& Windows: java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar –server.port=8080 –project.home=D:/home/nginxWebUI/参数说明(都是非必填):
–server.port 占用端口, 默认以8080端口启动
–project.home 工程项目新颖性文档目录,存放统计资料库文档,合格证书文档,笔记等, 默认为/home/nginxWebUI/
–spring.database.type=mysql 采用其他统计资料库,不填为采用本地h2,可选mysql
–spring.datasource.url=
jdbc:mysql://ip:port/nginxwebui 统计资料库url–spring.datasource.username=root 统计资料库用户
–spring.datasource.password=pass 统计资料库密码
注意Linux命令最后加两个&号, 表示工程项目前台运行
docker安装说明
本工程项目制作了docker快照,同时包含nginx和nginxWebUI在内,一体化管理工作与运行nginx。
1 安装docker罐子环境
ubuntu:
apt install docker.iocentos:
yum install docker2 下载快照
docker pull cym1102/nginxwebui:latest3 启动罐子
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS=“–server.port=8080” –privileged=true –net=host cym1102/nginxwebui:latest注意:
启动罐子时请采用–net=host参数, 间接映射本机端口, 因为内部nginx可能采用任意两个端口, 所以必须映射本机所有端口
罐子须要映射路径
/home/nginxWebUI:/home/nginxWebUI, 此路径下存放工程项目所有统计数据文档, 主要包括统计资料库, nginx新颖性文档, 笔记, 合格证书等, 升级快照时, 此目录可确保工程项目统计数据不丢失. 请注意存储-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修正端口号, “–server.port 占用端口”, 不填默认以8080端口启动
笔记默认存放在
/home/nginxWebUI/log/nginxWebUI.log—END—
开放源码协定:MulanPSL-1.0
开放源码地址:
https://github.com/cym1102/nginxWebUI