nginxWebUI v2.1.4

简介

官网
GitHub
作者陈钇蒙
Java编写的软件,实现页面方式配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。
可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理
特殊说明
nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

技术说明

基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库
添加tcp/ip转发配置支持时, 一些低版本的nginx可能需要重新编译,通过添加–with-stream参数指定安装stream模块才能使用

安装

环境说明

centos7
root用户操作

1、安装java运行环境和nginx

#推荐使用yum方式安装nginx)
sudo yum install yum-utils  -y
#创建/etc/yum.repos.d/nginx.repo
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

sudo yum install nginx -y
#安装JDK
yum install java-1.8.0-openjdk -y
java -version

2、下载最新版发行包jar

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

3、启动程序

sudo nohup java -jar -Xmx64m nginxWebUI-2.1.4.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
#检测是否启动成功
netstat  -ntpl|grep 8080

参数说明

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

配置

打开 http://xxx.xxx.xxx.xxx:8080 进入主页

在这里插入图片描述
登录页面
在这里插入图片描述
选择nginx的安装方式
在这里插入图片描述

使用

系统运行状态
可以实时监控系统的CPU、磁盘、内存的简单状态信息
在这里插入图片描述

基本参数配置
设置nginx配置文件的基本选项(配置完成后会在生成conf的新配置文件中显示)
在这里插入图片描述

http参数配置
nginx配置文件中的http区域的参数配置(配置完成后会在生成conf的新配置文件中显示)
在这里插入图片描述

stream参数配置
nginx配置文件中的stream作用域的参数配置(配置完成后会在生成conf的新配置文件中显示)
在这里插入图片描述

反向代理
可以进行添加反向代理、可以导入nginx.conf配置文件,也可以检查端口占用情况
(如果要使用四层负载,需要单独编译安装nginx的四层模块,详见nginx官方文档
nginx中有的stream + server +listen + proxy 等多种组合方式实现调度的目的。

在这里插入图片描述

负载均衡
七层HTTP的负载,还可以负载节点监控
在这里插入图片描述
设置负载均衡的负载节点监控,可以发送SMTP发送邮件。
在这里插入图片描述

区别:反向代理的概念是指四层TCP方式调度请求;负载均衡是指七层HTTP方式调度请求,他们的目的都是调度用户请求,减缓后端服务器压力,只不过一个是四层,一个是七层

参数模板
设置常用的参数,方便下次使用。
在这里插入图片描述

静态网页上传
上传静态页面的zip包,位置在/home/nginxWebUI/wwww/xxx文件,自动解压。
在这里插入图片描述

密码文件管理
密码备忘录的功能

在这里插入图片描述
在这里插入图片描述

证书管理
可以自动续费证书
在这里插入图片描述

生成conf
可以在此处 restart、reload、stop、start、读取配置文件、替换文件(替换则会自动备份到备份文件管理
对比两次文件的修改细节
需要设置nginx的nginx.conf路径; nginx执行命令 nginx目录等。
在这里插入图片描述

备份文件管理
每次修改配置文件时进行备份,用于回退nginx配置。
在这里插入图片描述

日志解析
借助作者的日志分析,我现在还没搞明白日志是指哪个日志?
在这里插入图片描述

管理员管理
登录用户的管理
在这里插入图片描述

数据导入导出
日志、配置文件的导出。
在这里插入图片描述

远程管理
远程服务器

优化
升级

问题

找回密码

1、安装sqlite3命令

yum install -y sqlite-3.7.17-8.el7_7.1.i686

2、读取sqlite.db文件

sqlite3 /home/nginxWebUI/sqlite.db

3、查找admin表

select * from admin;

4、退出sqlite3

.quit

2、日志分析是指nginx的日志还是nginxwebui的日志?
3、证书管理中的Ali_Key 是什么意思?
4、nginx的配置文件并没有被修改,页面修改影响的是/home/nginxWebUI/nginx.conf,但是可以作用到nginx的状态,就很奇怪。

[root@localhost nginx]# tail -n 10 /etc/nginx/nginx.conf

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
[root@localhost nginx]# tail -n 10 /home/nginxWebUI/nginx.conf
  gzip_min_length 8k;
  gzip_comp_level 2;
  client_max_body_size 1024m;
  client_header_buffer_size 32k;
  client_body_buffer_size 8m;
  map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
  }
}
原文地址:https://www.cnblogs.com/liushiya/p/13777360.html