nginxWebUI以图形化方式管理Nginx并一键创建可视化设置!
功能说明
nginxWebUI是一个图形化管理nginx配置的工具。通过网页可以快速配置nginx的各项功能,包括http转发、tcp转发、反向代理、负载均衡、静态html服务器、SSL证书自动申请、续费、配置等。配置完成后,您可以创建nginx一键创建 .conf 文件。同时可以指示nginx使用这个文件来启动并重新加载,nginx的闭环图形化控制就完成了。
nginxWebUI还可以管理多个nginx服务器集群。您可以随时一键切换到对应的服务器进行nginx配置。您还可以一键将特定服务器的配置与其他服务器同步,方便集群管理。
nginx本身功能复杂。 nginxWebUI并不能覆盖nginx的所有功能,但是可以覆盖nginx 90%的日常功能配置。对于平台未涵盖的nginx配置项,您可以使用自定义参数模板在conf文件中创建配置。独特的参数。
部署此项目后,您不再需要网上搜索配置代码来配置nginx。您不再需要手动搜索和配置 SSL 证书。您所要做的就是添加、删除、编辑和检查该项目,以轻松配置和启动 nginx。
技术说明
本项目基于Solon网络系统,数据库使用h2,因此无需在服务器上安装数据库。
该系统通过Let's encrypt检索证书,并使用acme.sh脚本进行自动申请和续订。可以续订的证书每天凌晨 2:00 进行续订。仅更新超过 60 天的证书。它们仅在 Linux 上受支持。证书颁发如下。
添加tcp/ip转发配置支持时,某些较低版本的nginx可能需要重新编译,可以通过添加-with-stream参数来指定安装stream模块。不过在Ubuntu 18.04下,nginx官方软件库包含了On Stream模块,无需重新编译。如果本系统配置了tcp转发目的地,则配置项ngx_stream_module.so会自动启用。如果不启用,则不会启用以最大化优化ngnix配置文件。?运行环境和nginx
Ubuntu:
apt update
apt install openjdk-11-jdk
apt install nginx
Centos:
yum install java-11-openjdk
yum install nginx
Windows:
下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
下载nginx http://nginx.org/en/download.html
配置JAVA运行环境
JAVA_HOME : JDK安装目录
Path : JDK安装目录\bin
重启电脑
- 下载最新的发布包jar
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar
Windows: 直接使用浏览器下载 http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
如果路径中有新版本编辑版本程序即可
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数据库用户♼ 数据库用户sword.da-密码。数据库密码
注意 Linux 命令添加了一个 & 符号,表示该项目正在后台运行
docker 安装说明
本项目制作了支持 64/x86_64 的 docker 镜像。 arm64/arm v7平台。包括nginx和nginxWebUI,nginx集成管理和运行。 ? net= Host参数直接映射本地端口。由于内部nginx可以使用任何端口,因此必须连接本地机器上的所有端口。
/home/nginxWebUI:/home/nginxWebUI。该路径下存放的是项目的所有数据文件,包括数据、nginx配置文件、日志、证书等。该目录可用于镜像更新。为确保项目数据不丢失,请记得备份。参数-e BOOT_OPTIONS可以填写Java启动参数,并且可以通过该参数更改端口号。 --server.port 保留端口。如果不填,则默认从8080端口开始。 /home/nginxWebUI/log/nginxWebUI.log文件夹中
第二:使用docker-compose时,配置文件如下: maven编译压缩 http://xxx.xxx.xxx .xxx:8080 进入首页![]()
第一次打开登录页面时,会要求你初始化管理员账户 ![]()
进入系统后,可以添加和编辑管理员账户管理员管理 ![]()
在http参数配置中可以配置nginx http项目。默认情况下,http 转发被赋予了几个常见的定义。其他需要的配置可以自由添加、删除、修改、检查。您可以检查日志跟踪并创建日志文件。 ![]()
在TCP参数设置中,可以指定nginx Stream项目的参数,但大多数情况下不是必须的。 ![]()
在反向代理中,可以配置nginx的反向代理,或者说服务器功能。您可以启用 ssl 功能。您可以直接从网站下载PEM文件和密钥文件或者使用系统中的证书直接使用http传输。您也可以通过启用http2协议来切换到https功能。 ![]()
在负载均衡中,可以配置nginx的负载均衡功能,这是一个上游功能。在反向代理管理中,您可以选择为代理服务器指定的负载均衡器。 Linux下下载html文件的步骤![]()
可以在证书管理器中添加证书并颁发和续订。启用定时续订后,系统会自动对即将过期的证书进行续订。
注意:证书是使用acme.sh的dns方式颁发的,必须与阿里云的aliKey和aliSecret配合使用。首先搜索aliKey和aliSecret![]()
备份文件管理。这里可以看到nginx.cnf的历史备份。当nginx发生错误时,可以恢复到特定的历史版本![]()
最后,创建一个在这里找到的conf文件。进行更多手动更改。验证更改正确后,可以替换本地conf文件,检查并重新启动。您可以创建单个 nginx.conf 文件,也可以按域名分隔每个配置文件并将其放置在conf.d![]()
远程服务器管理中。如果有多台nginx服务器,可以在所有的nginx服务器上启用nginxWebUI,然后登录其中一台,在远程管理中添加其他服务器的IP和用户名密码,即可管理一台机器上的所有nginx服务器。
提供一键同步功能,可以将某台服务器的数据配置和证书文件同步到其他服务器
接口开发
本系统提供http接口调用,打开http:// /xxxx .xxx.xxx.xxx:8080/doc.html 查看智能文档界面页面。
如果要调用接口,需要在http请求的header中添加token。要获取令牌,必须先在管理员控制下打开UI邀请权限,然后通过用户名和密码邀请令牌UI来获取令牌![]()
重置密码
如果您忘记了登录密码或不知道登录密码保存两步验证后,您可以按照以下教程找回密码并禁用两步验证
- 退出nginxWebUI
pkill java
- 使用密码重置参数运行nginxWebUI.jar
java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home是项目文件所在目录--project.findPass是是否打印用户名和密码
操作成功后可以打印所有用户名和密码。禁用两步验证
开源地址:
https://github.com/cym1102/nginxWebUI
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网