简介
NginxWebUI是一款方便实用的nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl 证书配置,负载均衡等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。
他除了nginx的conf可视化配置以外,nginx Web UI还提供以下功能
功能
# 1. 静态网页包可上传并进行统一管理 # 2. ssl证书可在线申请并定时续签. 统一对ssl进行管理及部署 # 3. 集成nginx效验, 重载, 启动, 停止命令, 可在网页上对nginx运行状态进行操作 # 4. 可在一台服务器上远程管理其他nginxWebUI服务器, 可以在一个网址上修改复数的nginx集群配置, 同时提供集群nginx服务运行状态监控功能, 使用邮件进行宕机提醒 # 5. 可对nginx中配置的负载均衡节点进行运行状态监控, 使用邮件进行宕机提醒. # 6. 集成nginx日志解析功能, 可配置是否生成nginx日志及定时对nginx日志进行解析 # 7. 可反向导入已有的nginx配置文件, 可快速克隆已有反向代理配置, 可检查反向代理的端口占用 # 8. 提供系统cpu 内存 硬盘运行状态监测
Nginx WebUI功能说明
# 1. 该项目是基于springBoot的web系统,数据库使用sqlite,因此服务器上不需要安装任何数据库。 # 2. 本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理。 # 3. nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。 # 4. 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。
1.8.0发布增加新功能
# 1. 参数配置项添加顺序配置 # 2. 静态文件添加更新功能 # 3. 添加参数模板功能 # 4. 更新docker内的nginx版本为1.18 # 5. 添加立刻解析今日日志 功能 # 6. 替换配置文件时,清除遗留旧配置文件 # 7. 添加conf文件基本导入功能
jar包部署运行Nginx WebUI
安装java环境
# CentOS7安装Java,有tar包和rpm包,yum三种 1>. rpm -ivh jdk-8u121-linux-x64.rpm 2>. tar xvf jdk-8u151-linux-x64.tar.gz -C /usr/local/ cd /usr/local/ mv jdk1.8.0_151/ jdk tail -3 /etc/profile JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
下载jar包
# wget http://www.nginxwebui.cn/download/nginxWebUI-1.8.0.jar
启动程序
# nohup java -jar -Xmx64m nginxWebUI-1.8.0.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null & # -Xmx64m 最大分配内存数 # --server.port 占用端口, 默认以8080端口启动 # --project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/ # 注意命令最后加一个&号, 表示项目后台运行
Docker运行方式
安装docker
# 安装一些必要的系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加软件源信息 # docker 官方源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 阿里云源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装前可以先更新 yum 缓存: sudo yum makecache fast # CentOS7安装 Docker-ce yum -y install docker-ce # CentOS 中安装 apt-get install docker-ce # Ubuntu 中安装 pacman -S docker # Arch 中安装 emerge --ask docker # Gentoo 中安装 # 如果想安装特定版本的Docker-ce版本,先列出repo中可用版本,然后选择安装 yum list docker-ce --showduplicates |sort -r Loading mirror speeds from cached hostfile Loaded plugins: fastestmirror Installed Packages docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.4-3.el7 @docker-ce-stable docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable yum install docker-ce-<VERSION STRING> # 选择安装 docker-ce-18.06.1.ce yum install docker-ce-18.06.1.ce # Docker镜像加速 # 没有启动/etc/docker目录不存在,需要自己创建,docker启动也会自己创建 # 为了期望我们的镜像下载快一点,应该定义一个镜像加速器,加速器在国内 mkdir /etc/docker vim /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] } # 启动Docker后台服务 systemctl start docker && systemctl enable docker systemctl daemon-reload # 守护进程重启 # 通过运行hello-world镜像,验证是否正确安装了docker,或者通过查看版本 docker run hello-world docker version Client: Docker Engine - Community Version: 19.03.4 API version: 1.40 Go version: go1.12.10 Git commit: 9013bf583a Built: Fri Oct 18 15:52:22 2019 OS/Arch: linux/amd64 Experimental: false
下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.8.0
启动容器
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.8.0 /bin/bash
使用
初始化用户
http参数配置
在http参数配置中可以配置nginx的http项目,进行http转发, 默认会给出几个常用配置, 其他需要的配置可自由增删改查。可以勾选开启日志跟踪, 生成日志跟踪配置项, 每天0点时刻可生成上一天的日志分析报告。由于日志文件access.log文件过大, 默认只保留7天的log文件, 但分析报告可一直保留。
tcp参数配置
反向代理
在反向代理中可配置nginx的反向代理即server项功能, 可开启ssl功能, 可以直接从网页上上传pem文件和key文件, 或者使用系统内申请的证书, 可以直接开启http转跳https功能,也可开启http2协议。
静态网页上传
在html静态文件上传中可直接上传html压缩包到指定路径,上传后可直接在反向代理中使用,省去在Linux中上传html文件的步骤。
证书管理
log管理, 在http配置中如果开启了log监控的话, 会每天在这里生成日志分析报告
远程服务器管理, 如果有多台nginx服务器, 可以都部署上nginxWebUI, 然后登录其中一台, 在远程管理中添加其他服务器的ip和用户名密码, 就可以在一台机器上管理所有的nginx服务器了。
提供一键同步功能, 可以将某一台服务器的数据配置和证书文件同步到其他服务器中。