nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载, 完成对nginx的图形化控制闭环。
nginxWebUI是一款专为简化Nginx配置和管理打造的网页应用,它集成了多种功能,具有以下显著特点:
-
图形化管理界面 :
- 通过直观的网页界面,用户可以轻松管理Nginx的各项功能,无需直接编辑复杂的配置文件。
-
功能全面 :
- 支持HTTP和TCP协议转发、反向代理、负载均衡等Nginx核心功能。
- 提供SSL证书自动化管理,包括一键申请、续签等,降低安全风险。
-
多服务器集群管理 :
- 可管理多个Nginx服务器集群,支持一键切换到对应服务器进行配置,也支持将某台服务器的配置同步到其他服务器,方便集群管理。
-
自定义配置 :
- 对于nginxWebUI未涵盖的Nginx配置项,用户可以使用自定义参数模板,在conf文件中生成独特的配置参数。
-
文档和示例丰富 :
- 提供全面的文档和示例,帮助用户快速上手,减少学习成本。
-
兼容性强 :
- 考虑到不同环境的兼容性,nginxWebUI能自动识别并适配不同版本的Nginx。
-
安全性高 :
- 提供两步验证等安全控制功能,增强系统的安全性。
-
部署简便 :
- 支持Java(包括Windows)和Docker两种部署方式,用户可以根据实际情况选择适合的部署方式。
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.2/nginxWebUI-4.2.2.jarWindows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.2/nginxWebUI-4.2.2.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 使用其他数据库,不填为使用本地sqlite数据库,可选mysql
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui 数据库url
--spring.datasource.username=root 数据库用户
--spring.datasource.password=pass 数据库密码
注意Linux命令最后加一个&号, 表示项目后台运行
还可以采用docker方式启动:
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
docker run -itd \
-v /home/nginxWebUI:/home/nginxWebUI \
-e BOOT_OPTIONS="--server.port=8080" \
--net=host \
--restart=always \
registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
注意:
启动容器时请使用--net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.
容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.
-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号
--server.port 占用端口, 不填默认以8080端口启动
日志默认存放在/home/nginxWebUI/log/nginxWebUI.log
另: 使用docker-compose时配置文件如下:
version: "3.2"
services:
nginxWebUi-server:
image: registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
nginxWebUI的使用相对简单,以下是一般的使用流程:
- 部署nginxWebUI :
- 根据官方文档或社区提供的教程,选择合适的部署方式(如Java部署或Docker部署),并按照步骤进行安装和配置。
- 登录系统 :
- 使用浏览器访问nginxWebUI的登录页面,输入用户名和密码进行登录。
- 配置Nginx :
- 在nginxWebUI的图形界面中,根据实际需求配置Nginx的各项功能,如HTTP转发、反向代理、负载均衡等。
- 可以直接通过界面进行增删改查操作,无需手动编辑配置文件。
- 管理SSL证书 :
- 利用nginxWebUI的SSL证书管理功能,一键申请和续签SSL证书,确保网站符合HTTPS标准。
- 监控和管理服务器 :
- 实时监控Nginx服务器的运行状态,包括CPU使用率、内存使用、磁盘使用等,及时发现并处理异常情况。
- 集群管理 :
- 如果管理多个Nginx服务器集群,可以在nginxWebUI中轻松切换和同步不同服务器的配置。
- 查看日志和状态 :
- 通过nginxWebUI查看Nginx的日志和状态信息,帮助用户更好地了解Nginx的运行情况。
- 自定义配置 :
- 对于需要特殊配置的Nginx项,可以使用nginxWebUI提供的自定义参数模板功能,在conf文件中生成独特的配置参数。
通过以上步骤,用户可以轻松地使用nginxWebUI来管理和配置Nginx服务器,提高工作效率并降低操作复杂度。