项目简介
使用本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置.
nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。
部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。
技术说明
看了作者发布在GitHub上的源码,项目是基于SpringBoot搭建的的web系统,其中持久层数据库使用的是轻量级的sqlite, 所以部署的时候在服务器上不需要安装任何数据库,这点作者还是非常细心的,降低了应用本身的入门门槛。
其中比较有意思的是项目中使用的ORM框架也是作者自己开源的一款最近比较火的产品-sqlHelper,由于项目中是用的sqlit,所以在项目的启动过程中会产生一个.sqlite.db到系统用户文件夹中, 这个文件大家需要注意备份。
sqlHelper是一个可以像mongodb一样使用sql数据库的orm, 解放开发者对sql数据库表结构的维护工作, 支持sqlite, mysql, postgresql三种数据库, 有兴趣的可以了解一下 https://gitee.com/cym1102/sqlHelper
项目中支持在系统内通过Let's encrypt申请和续签证书, 使用acme.sh脚本进行自动化申请, 开启续签的证书将在每天凌晨2点进行续签, 只有超过60天的证书才会进行续签。
最新版更新内容
经查验最新更新的版本为1.0.8 ,更新内容为:
修复一些bug
添加集群管理模式,可以在一台机器上管理所有nginx服务器
添加管理备份文件和一键还原功能
安装步骤
以Ubuntu操作系统为例, 以下命令请使用root账户权限执行
1.安装java运行环境
apt install openjdk-11-jdk
2.下载最新版发行包jar,下载地址https://gitee.com/cym1102/nginxWebUI/releases
启动命令
nohup java -jar nginxWebUI-1.0.0.jar --server.port=8080 > nginxWebUI.log &
如果不加--server.port=xxxx, 默认以8080端口启动
使用手册
打开http://ip:8080 默认登录名密码为admin/admin,账号可以登录后自行修改。
在反向代理中可配置nginx的反向代理即server项功能, 可开启ssl功能, 可以直接从网页上上传pem文件和key文件, 或者使用内置申请的证书, 可以直接开启http转跳https功能
在负载均衡中可配置nginx的负载均衡即upstream项功能, 在反向代理管理中可选择代理目标为配置好的负载均衡。
备份文件管理, 这里可以看到nginx.cnf的备份历史版本, nginx出现错误时可以选择回滚到某一个历史版本。
远程服务器管理, 如果有多台nginx服务器, 可以都部署上nginxWebUI, 然后登录其中一台, 在远程管理中添加其他服务器的ip和用户名密码, 就可以在一台机器上管理所有的nginx服务器了.
注意:本文归作者所有,未经作者允许,不得转载