• 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;
      }
    }
    
  • 相关阅读:
    [六、页面跳转]2在PreviewProvider中使用导航视图
    [五、交互操作]21实现Widget对应的完整应用中的功能
    [五、交互操作]23从零开始编写Widget小组件的代码
    [五、交互操作]16根据用户输入的字符对数据进行过滤
    从 Map > HashMap 的一步步实现,各位请随便问
    妙用 Java 8 中的 Function 接口,消灭 if...else(非常新颖的写法)
    被裁了!39 岁阿里 P9,攒下 1.5 亿....
    参数校验别再写满屏的 if/else 了,差点被劝退……
    还在用策略模式解决 ifelse?Map + 函数式接口就搞定了。。。
    别再写 main 方法测试了,太 Low,这才是专业 Java 测试方法。。
  • 原文地址:https://www.cnblogs.com/liushiya/p/13777360.html
Copyright © 2020-2023  润新知