欢迎来到代码驿站!

Nginx

当前位置:首页 > 服务器 > Nginx

Nginx可视化配置工具NginxWebUI的使用

时间:2022-06-30 09:29:09|栏目:Nginx|点击:

介绍一款好用的网页版开源工具,同样它的功能也是Nginx配置生成器,功能非常强大,方便实用,它是:NginxWebUI

NginxWebUI介绍

NginxWebUI是一款方便实用的nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl 证书配置,负载均衡等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。

NginxWebUI相关地址
项目地址:https://gitee.com/cym1102/nginxWebUI
官方网站:https://nginxwebui.gitee.io

NginxWebUI功能说明

  • 该项目是基于springBoot的web系统,数据库使用sqlite,因此服务器上不需要安装任何数据库;
  • 可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理;
  • nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。
  • 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。

NginxWebUI安装

它有两种安装方式:

  • 一种是jar包运行方式
  • 一种是 Docker运行方式

 注意:本项目需要在root用户下运行系统命令,极容易被黑客利用,请一定修改密码为复杂密码

1、jar包运行方式

首先需要安装JDK和Nginx环境。

参考文章:Nginx安装

1.1 下载最新版发行包jar

wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.1.jar

有新版本只需要修改路径中的版本即可。

1.2 启动程序

nohup java -jar -Xmx64m nginxWebUI-2.1.1.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

参数说明(都是非必填)
-Xmx64m 最大分配内存数
--server.port 占用端口, 默认以8080端口启动
--project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/
注意命令最后加一个&号, 表示项目后台运行

2、docker安装说明

本项目制作了docker镜像, 同时包含nginx和nginxWebUI在内, 一体化管理与运行nginx.

2.1 安装docker容器环境

自行百度

2.2 下载镜像

docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.1

2.3 启动容器

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:2.1.1 /bin/bash

注意:
启动容器时请使用--net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.
容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.
-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号
--server.port 占用端口, 不填默认以8080端口启动
日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

安装完成,启动之后,就要以通过WEB网页来访问这个项目了。

NginxWebUI使用演示

在浏览器输入:http://IP+8080进行访问

登录页面, 第一次打开会要求初始化管理员账号

登录完成之后的界面如下

在http参数配置中可以配置nginx的http项目,进行http转发, 默认会给出几个常用配置, 其他需要的配置可自由增删改查. 可以勾选开启日志跟踪, 生成日志跟踪配置项, 每天0点时刻可生成上一天的日志分析报告. 由于日志文件access.log文件过大, 默认只保留7天的log文件, 但分析报告可一直保留。

在TCP参数配置中可以配置nginx的steam项目参数, 进行tcp转发

在反向代理中可配置nginx的反向代理即server项功能, 可开启ssl功能, 可以直接从网页上上传pem文件和key文件, 或者使用系统内申请的证书, 可以直接开启http转跳https功能,也可开启http2协议

在负载均衡中可配置nginx的负载均衡即upstream项功能, 在反向代理管理中可选择代理目标为配置好的负载均衡

在html静态文件上传中可直接上传html压缩包到指定路径,上传后可直接在反向代理中使用,省去在Linux中上传html文件的步骤

在证书管理中可添加证书, 并进行签发和续签, 开启定时续签后, 系统会自动续签即将过期的证书, 注意:证书的签发是用的acme.sh的dns模式, 需要配合阿里云的aliKey和aliSecret来使用. 请先申请好aliKey和aliSecret

备份文件管理, 这里可以看到nginx.cnf的备份历史版本, nginx出现错误时可以选择回滚到某一个历史版本

最终生成conf文件,可在此进行进一步手动修改,确认修改无误后,可覆盖本机conf文件,并进行效验和重启, 可以选择生成单一nginx.conf文件还是按域名将各个配置文件分开放在conf.d下

log管理, 在http配置中如果开启了log监控的话, 会每天在这里生成日志分析报告.

远程服务器管理, 如果有多台nginx服务器, 可以都部署上nginxWebUI, 然后登录其中一台, 在远程管理中添加其他服务器的ip和用户名密码, 就可以在一台机器上管理所有的nginx服务器了.

提供一键同步功能, 可以将某一台服务器的数据配置和证书文件同步到其他服务器中

找回密码

如果忘记了登录密码,可按如下教程找回密码

安装sqlite3命令
apt install sqlite3
读取sqlite.db文件
sqlite3 /home/nginxWebUI/sqlite.db
查找admin表
select * from admin;
退出sqlite3
.quit

上一篇:分布式架构中关于正向代理反向代理面试提问

栏    目:Nginx

下一篇:没有了

本文标题:Nginx可视化配置工具NginxWebUI的使用

本文地址:http://www.codeinn.net/misctech/206451.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有