nginx界面管理工具之nginxWebUI 搭建与使用方法

 更新时间:2024年08月31日 15:38:14   作者:Riky12  
本文主要介绍了nginx界面管理工具之nginxWebUI 搭建与使用方法

一、nginxWebUI

1.nginx网页配置工具

官网地址: http://www.nginxwebui.cn
源码地址:https://git.chihiro.org.cn/chihiro/nginxWebUI

2.功能说明

本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。

本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理。

nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。

3.技术说明

本项目是基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库。

其中orm使用了本人自己开源的sqlHelper项目作为orm, 使用sqlite作为数据库, 项目启动时会释放一个.sqlite.db到系统用户文件夹中, 注意进行备份。

sqlHelper是一个可以像 mongodb 一样使用 sql 数据库的 orm, 解放开发者对sql数据库表结构的维护工作, 支持sqlite, mysql, postgresql三种数据库, 有兴趣的可以了解一下 https://gitee.com/cym1102/sqlHelper。

本系统通过Let’s encrypt申请证书, 使用acme.sh脚本进行自动化申请和续签, 开启续签的证书将在每天凌晨 2 点进行续签, 只有超过 60 天的证书才会进行续签. 只支持在linux下签发证书。

因为申请证书必须要使用 80 端口, 因此在申请和续签的时候 nginx 将会短暂关闭,请注意。

添加tcp/ip转发配置支持时, 一些低版本的 nginx 可能需要重新编译,通过添加–with-stream参数指定安装stream模块才能使用, 但在ubuntu 18.04下, 官方软件库中的nginx已经带有stream模块, 不需要重新编译. 本系统如果配置了tcp转发项的话, 会自动引入ngx_stream_module.so的配置项, 如果没有开启则不引入, 最大限度优化ngnix配置文件。

二、jar 安装说明

以Ubuntu操作系统为例, 以下命令请使用root账户权限执行

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

1.安装java运行环境和nginx

apt install openjdk-8-jdkapt install nginx

2.下载最新版发行包jar

wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.6.jar #有新版本只需要修改路径中的版本即可

3.启动程序

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

参数说明 (都是非必填)

  • -Xmx64m 最大分配内存数
  • –server.port 占用端口, 默认以 8080 端口启动
  • –project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/

注意命令最后加一个&号, 表示项目后台运行

三、docker安装说明

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

1.安装docker容器环境

apt install docker.io

2.下载镜像

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

3.启动容器

docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT\_OPTIONS="--变量名=变量值 --变量名2=变量值2" --privileged=true --net=host  registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6 /bin/bash

注意:

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

docker-compose安装说明

docker-compose.yaml文件如下

version: '3'
services:
  nginxwebui:
    image: registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
    container_name: nginxwebui
    restart: always
    volumes:
      - ./data:/home/nginxWebUI
    environment:
      - BOOT_OPTIONS==-Xmx64m
      - TZ=Asia/shanghai
    privileged: true
    network_mode: "host"

注意:项目下所有数据储存在yaml文件同目录下的data文件夹中。

使用说明

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

在这里插入图片描述

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

在这里插入图片描述

进入系统后, 可在管理员管理里面添加修改管理员账号

在这里插入图片描述

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

在这里插入图片描述

在 TCP 参数配置中可以配置nginxsteam项目参数, 大多数情况下可不配.

在这里插入图片描述

在反向代理中可配置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服务器了.

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

找回密码
如果忘记了登录密码,可按如下教程找回密码
apt install sqlite3  #安装sqlite3命令
sqlite3 /home/nginxWebUI/sqlite.db #读取sqlite.db文件
select \* from admin; #查找admin表
quit #退出sqlite3

到此这篇关于nginx界面管理工具之nginxWebUI 搭建与使用方法的文章就介绍到这了,更多相关nginxWebUI搭建与使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx代理的缓存配置

    nginx代理的缓存配置

    代理缓存能够有效提高网站访问速度和服务器性能,本文详细介绍了使用nginx的ngx_http_proxy_module模块配置代理缓存,包括设置缓存路径、配置代理服务等,感兴趣的可以了解一下
    2024-09-09
  • 为Nginx服务器配置黑名单或白名单功能的防火墙

    为Nginx服务器配置黑名单或白名单功能的防火墙

    这篇文章主要介绍了为Nginx服务器配置黑名单或白名单功能的防火墙的方法,文中还附带介绍了一个基于lua的第三方防火墙模块,需要的朋友可以参考下
    2016-01-01
  • 如何使用Nginx配置将80端口重定向到443端口

    如何使用Nginx配置将80端口重定向到443端口

    这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2025-04-04
  • Nginx配置并兼容HTTP实现代码解析

    Nginx配置并兼容HTTP实现代码解析

    这篇文章主要介绍了Nginx配置并兼容HTTP实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 当 Nginx 出现 504 错误的完美解决方法

    当 Nginx 出现 504 错误的完美解决方法

    Nginx是一款流行的Web服务器和反向代理服务器,但有时会遇到504网关超时错误,这种错误通常是由后端服务器响应缓慢、Nginx配置不当或网络问题导致的,下面给大家分享Nginx 出现 504 错误的完美解决方法,一起看看吧
    2024-09-09
  • Nginx配置超时时间的排查步骤

    Nginx配置超时时间的排查步骤

    在 Nginx 中设置了 keepalive_timeout、client_header_timeout 和 client_body_timeout 后仍然不起作用,所以本文给大家介绍了Nginx配置超时时间的排查步骤,并有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-11-11
  • nginx配置将HTTPS请求转换成HTTP的方法实现

    nginx配置将HTTPS请求转换成HTTP的方法实现

    Nginx是一个很流行、很强大的代理软件,我们可以借助Nginx,设置 http强转https,本文就来详细的介绍一下,感兴趣的可以了解一下
    2023-09-09
  • 详解Nginx虚拟主机配置中server_name的具体写法

    详解Nginx虚拟主机配置中server_name的具体写法

    这篇文章主要介绍了Nginx虚拟主机配置中server_name的具体写法,server_name服务器名是虚拟主机中必须配置的重要参数,需要的朋友可以参考下
    2016-03-03
  • NGINX阻止指定ip的请求问题及解决方案

    NGINX阻止指定ip的请求问题及解决方案

    web页面做了一个功能,在websocket请求失败的情况,会定时向服务端进行重试进行建立连接,这篇文章给大家介绍NGINX阻止指定ip的请求问题及解决方案,感兴趣的朋友一起看看吧
    2024-02-02
  • 解读Nginx和Apache的特点与区别

    解读Nginx和Apache的特点与区别

    这篇文章主要介绍了解读Nginx和Apache的特点与区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论