• 0
  • 0
分享
  • NginxWebUI网页配置工具——软件测试圈
  • 饼干 2024-09-26 13:38:30 字数 2808 阅读 1839 收藏 0

  nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载,完成nginx闭环的图形化控制。

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

  nginx web用户界面(webui)并没有涵盖所有的nginx功能,但是涵盖了日常nginx配置的90%。如果平台没有覆盖nginx配置项,您可以使用自定义参数模板在CONF文件中生成唯一的配置参数。

  部署后nginx的配置不再需要搜索web配置代码,不再需要手动申请和配置SSL证书,只需要添加、删除、更改和检查即可轻松配置和启动nginx。

1-1.png

  技术说明

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

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

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

1-2.png

  Docker部署

  docker run -itd \
    -v /home/nginxWebUI:/home/nginxWebUI \
    -e BOOT_OPTIONS="--server.port=8080" \
    --privileged=true \
    --net=host \
    cym1102/nginxwebui:latest

  注意:

  1.启动容器时请使用 --net=host 参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

  2.容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.

  3.-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号

  4. nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

     --server.port占用端口, 不填默认以8080端口启动
     --project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/
     --spring.database.type=mysql 使用其他数据库,不填为使用本地h2数据库,可选mysql
     --spring.datasource.url=jdbc:mysql://ip:port/nginxwebui 数据库url
     --spring.datasource.username=root 数据库用户
     --spring.datasource.password=pass 数据库密码

  5.日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

  version: "3.2"
  services:
    nginxWebUi-server:
      image: cym1102/nginxwebui:latest
      volumes:
        - type: bind
          source: "/home/nginxWebUI"
          target: "/home/nginxWebUI"
      environment:
        BOOT_OPTIONS: "--server.port=8080"
      privileged: true
      network_mode: "host"

  添加开机启动

  编辑service配置:

  vim /etc/systemd/system/nginxwebui.service
  [Unit]
  Description=NginxWebUI
  After=syslog.target
  After=network.target
  [Service]
  Type=simple
  User=root
  Group=root
  WorkingDirectory=/home/nginxWebUI
  ExecStart=/usr/bin/java -jar /home/nginxWebUI/nginxWebUI.jar
  Restart=always
  [Install]
  WantedBy=multi-user.target
  systemctl daemon-reload
  systemctl enable nginxwebui.service --now

  找回密码

  如果忘记了登录密码或没有保存两步验证,可按如下教程找回密码和关闭两步验证

  1.停止nginxWebUI

  pkill java

  2.使用找回密码参数运行nginxWebUI.jar

  java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
  --project.home     为项目文件所在目录
  --project.findPass 为是否打印用户名密码

  运行成功后即可打印出全部用户名密码并关闭两步验证

  Nothing seek, nothing be gained.


作者:星光落入你灰蒙蒙的眼    

来源:http://www.51testing.com/html/52/n-7798452.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:远程真机测试,机型怎么选 ?阿常回答:这可以分两个场景来讲,分别是产品第一次发布之前,以及产品稳定运行一段时间以后。下面我们一起来看看吧?。一、产品第一次发布之前在我们的产品第一次发布上线之前,我们可以使用云测试平台做一次简单的兼容性测试,比如说安装、启动、运行、monkey、卸载等等。关于机型的选择方面,我们可以选取云测试平台推荐的 TOP 机型,比如 Android + iOS Top 50 款机型。云测试平台可以选用 WeTest、Testin、阿里云移动测试等等。二、产品运行一段时间后在我们的产品发布上线并且已经持续稳定运行了很长一段时间以后,这时候我们可以收集现有...
            0 0 1436
            分享
          • 1. 概述本文主要讲述了软件测试的生命周期、bug的描述方法及状态,以及bug之间的状态转换。具体描述如下,首先是软件测试的生命周期。2. 软件测试的生命周期软件测试的生命周期可以总的划分为以下几个阶段:需求分析:测试人员需要了解需求,对需求进行分解,得出测试需求。测试计划:根据要求编写测试计划书或方案测试设计:测试人员适当的了解设计,搭建测试用例框架测试执行:执行测试用例,找软件中存在的缺陷。测试评估:根据测试的结果,编写最终的测试报告以对软件的质量形成文字性说明与衡量。3. bug的描述bug的描述通常应该包含以下几个方面的内容,分别为:发现问题的版本:开发人员需要知道出现问题的版本,才能...
            0 0 1213
            分享
          • 看到这个问题你是不是已经笑了?当然我也做好了挨喷的准备了。我搜了一下知乎,同样的问题可以翻好几页,回答的观点也各式各样,但是没有一个统一的高赞答案,今天我姑且谈谈我的个人看法,欢迎大家一起讨论。来来来,坐好啦,先给大家说说我自己关于选择的故事。一、学习 Java 有前途么?我是 2005 年开始学习 Java 的,应该是相当早了(暴露年龄了),那时的我还没大学毕业,所以在学习前、学习中、学习后的所有阶段,「Java 是否有前途」的问题,一直让我惶惶不得终日,我当时也上网搜了很多次这个问题,看了几乎所有的观点,结果和现在一样,并没有一个统一的高赞答案。有说很有前途的,毕竟当时的 Python 还...
            3 1 1573
            分享
          • 一、往期回顾如果用手机自带的浏览器去访问各种网页。自然而然都能获取到 WebView 的,不需要开启什么。用原生的、手机自带的浏览器去试下,也能得到对应的结果。首先,要确保 WebView 的出现,要识别什么是 WebView,WebView 一出现,就代表有 Html 页面。那么接下来的操作,可能就进入 WebView 里面操作了。但是看到了 WebView,要进入 WebView,你就面临了从原生控件的操作,进入了 Html 页面的操作。所以,第一件事情是必须切换,是上下文切换。要切换到这样的一个 WebView,必须保证我的代码当中能够得到 WebView 的名字。如何保证得到 WebV...
            0 0 1463
            分享
      • 51testing软件测试圈微信