简介
官网
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;
}
}